---
schema_version: "1"
id: 478089aa4e6d4025da9ef2a11b01fd1d8012fa37587c959e7868573aa9b56126
title: Work with Pins
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/salesforce-slack-sdk/apex-slack-sdk/guides/apex_ref/apex_ref_pins.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_pins.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: d3caa0bcf07a466900f00acf6963a46645ffc94ef7ffc38f8f8db5b0606537f3
products:
  - Apex SDK for Slack (Beta)
---
# Work with Pins

The following are Apex classes for the Slack `pins` [API methods](https://api.slack.com/methods?filter=pins).

## PinsAddRequest Class

Sends a request to pin an item to a channel.

**Usage**

See Slack’s [pins.add method](https://api.slack.com/methods/pins.add).

### PinsAddRequest Methods

The following are methods for `PinsAddRequest`.

#### builder()

Builds a request object that's used when executing the API call.

**Signature**

```java
public static Slack.PinsAddRequest.Builder builder()
```

**Return Value**

Type: Slack.PinsAddRequest.Builder

---

## PinsAddRequest.Builder Class

Contains methods to build an instance of the `Slack.PinsAddRequest` class.

A Builder object is obtained by invoking one of the `PinsAddRequest.builder` methods defined by the `PinsAddRequest` class.

### PinsAddRequest.Builder Methods

The following are methods for `PinsAddRequest.Builder`. These methods are optional unless specified otherwise.

#### build()

Required. Returns an instance of `Slack.PinsAddRequest`.

**Signature**

```java
public Slack.PinsAddRequest build()
```

**Return Value**

Type: Slack.PinsAddRequest

#### channel(channel)

Required. The channel to pin the message to.

**Signature**

```java
public Slack.PinsAddRequest.Builder channel(String channel)
```

**Parameters**

_channel_

Type: String

**Return Value**

Type: Slack.PinsAddRequest.Builder

#### file(file)

**Signature**

```java
public Slack.PinsAddRequest.Builder file(String file)
```

**Parameters**

_file_

Type: String

**Return Value**

Type: Slack.PinsAddRequest.Builder

#### fileComment(fileComment)

**Signature**

```java
public Slack.PinsAddRequest.Builder fileComment(String fileComment)
```

**Parameters**

_fileComment_

Type: String

**Return Value**

Type: Slack.PinsAddRequest.Builder

#### timestamp(timestamp)

Required. The timestamp for the message pinned within the conversation.

**Signature**

```java
public Slack.PinsAddRequest.Builder timestamp(String timestamp)
```

**Parameters**

_timestamp_

Type: String

**Return Value**

Type: Slack.PinsAddRequest.Builder

---

## PinsAddResponse Class

Pins an item to a channel.

**Usage**

See Slack’s [pins.add method](https://api.slack.com/methods/pins.add).

### PinsAddResponse Methods

This class contains [standard response methods](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response.md).

The following are methods for `PinsAddResponse`.

#### getResponseMetadata()

**Signature**

```java
public Slack.ErrorResponseMetadata getResponseMetadata()
```

**Return Value**

Type: [Slack.ErrorResponseMetadata](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response_metadata.md#errorresponsemetadata-class)

#### setResponseMetadata(responseMetadata)

**Signature**

```java
public void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata)
```

**Parameters**

_responseMetadata_

Type: [Slack.ErrorResponseMetadata](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response_metadata.md#errorresponsemetadata-class)

**Return Value**

Type: void

---

## PinsListRequest Class

Sends a request to list items that are pinned to a channel.

**Usage**

See Slack’s [pins.list method](https://api.slack.com/methods/pins.list).

### PinsListRequest Methods

The following are methods for `PinsListRequest`.

#### builder()

Builds a request object that's used when executing the API call.

**Signature**

```java
public static Slack.PinsListRequest.Builder builder()
```

**Return Value**

Type: Slack.PinsListRequest.Builder

---

## PinsListRequest.Builder Class

Contains methods to build an instance of the `Slack.PinsListRequest` class.

A Builder object is obtained by invoking one of the `PinsListRequest.builder` methods defined by the `PinsListRequest` class.

### PinsListRequestBuilder Methods

The following are methods for `PinsListRequest.Builder`.

#### build()

Required. Returns an instance of `Slack.PinsListRequest`.

**Signature**

```java
public Slack.PinsListRequest build()
```

**Return Value**

Type: Slack.PinsListRequest

#### channel(channel)

Required. The channel to get pinned items for.

**Signature**

```java
public Slack.PinsListRequest.Builder channel(String channel)
```

**Parameters**

_channel_

Type: String

**Return Value**

Type: Slack.PinsListRequest.Builder

---

## PinsListResponse Class

Lists items that are pinned to a channel.

**Usage**

See Slack’s [pins.list method](https://api.slack.com/methods/pins.list).

### PinsListResponse Methods

This class contains [standard response methods](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response.md).

The following are methods for `PinsListResponse`.

#### getItems()

**Signature**

```java
public List<Slack.PinsListResponse.MessageItem> getItems()
```

**Return Value**

Type: List<Slack.PinsListResponse.MessageItem>

#### setItems(items)

**Signature**

```java
public void setItems(List<Slack.PinsListResponse.MessageItem> items)
```

**Parameters**

_items_

Type: List<Slack.PinsListResponse.MessageItem>

**Return Value**

Type: void

---

## PinsListResponse.MessageItem Class

Contains methods to build an instance of the `Slack.PinsListResponse` class.

### PinsListResponse.MessageItem Methods

The following are methods for `PinsListResponse.MessageItem`.

#### getChannel()

**Signature**

```java
public String getChannel()
```

**Return Value**

Type: String

#### getCreatedBy()

**Signature**

```java
public String getCreatedBy()
```

**Return Value**

Type: String

#### getComment()

**Signature**

```java
public Slack.FileComment getComment()
```

**Return Value**

Type: Slack.FileComment

#### getFile()

**Signature**

```java
public Slack.File getFile()
```

**Return Value**

Type: Slack.File

#### getMessage()

**Signature**

```java
public Slack.Message getMessage()
```

**Return Value**

Type: [Slack.Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_messages.md)

#### getType()

**Signature**

```java
public String getType()
```

**Return Value**

Type: String

#### setChannel(channel)

**Signature**

```java
public void setChannel(String channel)
```

**Parameters**

_channel_

Type: String

**Return Value**

Type: void

#### setComment(comment)

**Signature**

```java
public void setComment(Slack.FileComment comment)
```

**Parameters**

_comment_

Type: Slack.FileComment

**Return Value**

Type: void

#### setCreated(created)

**Signature**

```java
public void setCreated(Integer created)
```

**Parameters**

_created_

Type: Integer

**Return Value**

Type: void

#### setCreatedBy(createdBy)

**Signature**

```java
public void setCreatedBy(String createdBy)
```

**Parameters**

_createdBy_

Type: String

**Return Value**

Type: void

#### setFile(file)

**Signature**

```java
public void setFile(Slack.File file)
```

**Parameters**

_file_

Type: Slack.File

**Return Value**

Type: void

#### setMessage(message)

**Signature**

```java
public void setMessage(Slack.Message message)
```

**Parameters**

_message_

Type: [Slack.Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_messages.md)

**Return Value**

Type: void

#### setType(type)

**Signature**

```java
public void setType(String type)
```

**Parameters**

_type_

Type: String

**Return Value**

Type: void

---

## PinsRemoveRequest Class

Sends a request to unpin an item from a channel.

**Usage**

See Slack’s [pins.remove method](https://api.slack.com/methods/pins.remove).

### PinsRemoveRequest Methods

The following are methods for `PinsRemoveRequest`.

#### builder()

Builds a request object that's used when executing the API call.

**Signature**

```java
public static Slack.PinsRemoveRequest.Builder builder()
```

**Return Value**

Type: Slack.PinsRemoveRequest.Builder

---

## PinsRemoveRequest.Builder Class

Contains methods to build an instance of the `Slack.PinsRemoveRequest` class.

A Builder object is obtained by invoking one of the `PinsRemoveRequest.builder` methods defined by the `PinsRemoveRequest` class.

### PinsRemoveRequest.Builder Methods

The following are methods for `PinsRemoveRequest.Builder`.

#### build()

Required. Returns an instance of `Slack.PinsRemoveRequest`.

**Signature**

```java
public Slack.PinsRemoveRequest build()
```

**Return Value**

Type: Slack.PinsRemoveRequest

#### channel(channel)

Required. The channel where the item is pinned to.

**Signature**

```java
public Slack.PinsRemoveRequest.Builder channel(String channel)
```

**Parameters**

_channel_

Type: String

**Return Value**

Type: Slack.PinsRemoveRequest.Builder

#### file(file)

Required if `fileComment(fileComment)` or `timestamp(timestamp)` is not used.

**Signature**

```java
public Slack.PinsRemoveRequest.Builder file(String file)
```

**Parameters**

_file_

Type: String

**Return Value**

Type: Slack.PinsRemoveRequest.Builder

#### fileComment(fileComment)

Required if `file(file)` or `timestamp(timestamp)` is not used.

**Signature**

```java
public Slack.PinsRemoveRequest.Builder fileComment(String fileComment)
```

**Parameters**

_fileComment_

Type: String

**Return Value**

Type: Slack.PinsRemoveRequest.Builder

#### timestamp(timestamp)

Required if `file(file)` or `fileComment(fileComment)` is not used. Timestamp of the message to unpin.

**Signature**

```java
public Slack.PinsRemoveRequest.Builder timestamp(String timestamp)
```

**Parameters**

_timestamp_

Type: String

**Return Value**

Type: Slack.PinsRemoveRequest.Builder

---

## PinsRemoveResponse Class

Unpins an item to a channel.

**Usage**

See Slack’s [pins.remove method](https://api.slack.com/methods/pins.remove).

### PinsRemoveResponse Methods

This class contains [standard response methods](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response.md).
