---
schema_version: "1"
id: da349321f390d9d79fc6e2b854f3968df7c454f7a9837fae7001799fec45b747
title: Work with Requests
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_requestcontext.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_requestcontext.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 57ca7dff1ea3ec71c8ac238e1be2941913a33da534a59d6a5f1271844504421a
products:
  - Apex SDK for Slack (Beta)
---
# Work with Requests

The following are Apex classes for working with Slack actions.

## RequestContext Class

Describes the context in which a particular Slack action is invoked.

**Usage**

`RequestContext` exposes information about the source of the action in Slack, performs custom logic, and obtains the correct Slack client to respond to Slack based on the request. Each action type receives different information in its `RequestContext`.

```java
public override Slack.ActionHandler invoke(Map<String, Object> parameters, Slack.RequestContext context) {
        return Slack.ActionHandler.ack(new Handler(parameters, context));
```

See [Shortcuts and Slash Commands](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/actions_interact.md).

### RequestContext Methods

The following are methods for `RequestContext`.

#### getActionPayload()

Gets the action payload, such as the action name or type.

**Signature**

```java
public Slack.ActionPayload getActionPayload()
```

**Return Value**

Type: Slack.ActionPayload

#### getAppId()

Gets the ID of the Slack app.

**Signature**

```java
public String getAppId()
```

**Return Value**

Type: String

#### getChannelId()

Gets the channel ID.

**Signature**

```java
public String getChannelId()
```

**Return Value**

Type: String

#### getEnterpriseId()

Gets the enterprise ID. See [Look for enterprise IDs](https://api.slack.com/enterprise/grid/developing#supporting-and-developing-apps-for-enterprise-grid__identifying-enterprise-grid-workspaces__look-for-enterprise-ids).

**Signature**

```java
public String getEnterpriseId()
```

**Return Value**

Type: String

#### getFormData()

Gets the form field values from the modal view.

**Signature**

```java
public Map<String,Object> getFormData()
```

**Return Value**

Type: Map<String,Object>

#### getMessageContext()

Gets the message context.

**Signature**

```java
public Slack.MessageContext getMessageContext()
```

**Return Value**

Type: Slack.MessageContext

#### getTeamId()

**Signature**

```java
public String getTeamId()
```

**Return Value**

Type: String

#### getTriggerId()

**Signature**

```java
public String getTriggerId()
```

**Return Value**

Type: String

#### getUserId()

**Signature**

```java
public String getUserId()
```

**Return Value**

Type: String

#### getViewContext()

**Signature**

```java
public Slack.ViewContext getViewContext()
```

**Return Value**

Type: Slack.ViewContext

---

## RequestContext.Builder Class

Contains methods to build an instance of the `Slack.RequestContext` class.

A Builder object is obtained by invoking one of the `RequestContext.Builder` methods defined by the `RequestContext` class.

### RequestContext.Builder Methods

The following are methods for `RequestContext.Builder`.

#### actionPayload(actionPayload)

**Signature**

```java
public Slack.RequestContext.Builder actionPayload(Slack.ActionPayload actionPayload)
```

**Parameters**

_actionPayload_

Type: Slack.ActionPayload

**Return Value**

Type: Slack.RequestContext.Builder

#### appId(appId)

**Signature**

```java
public Slack.RequestContext.Builder appId(String appId)
```

**Parameters**

_appId_

Type: String

**Return Value**

Type: Slack.RequestContext.Builder

#### build()

Returns an instance of the `Slack.RequestContext` object.

**Signature**

```java
public Slack.RequestContext build()
```

**Return Value**

Type: Slack.RequestContext

#### channelId(channelId)

**Signature**

```java
public Slack.RequestContext.Builder channelId(String channelId)
```

**Parameters**

_channelId_

Type: String

**Return Value**

Type: Slack.RequestContext.Builder

#### enterpriseId(enterpriseId)

**Signature**

```java
public Slack.RequestContext.Builder enterpriseId(String enterpriseId)
```

**Parameters**

_enterpriseId_

Type: String

**Return Value**

Type: Slack.RequestContext.Builder

#### formData(formData)

**Signature**

```java
public Slack.RequestContext.Builder formData(Map<String,Object> formData)
```

**Parameters**

_formData_

Type: Map&lt;String,Object&gt;

**Return Value**

Type: Slack.RequestContext.Builder

#### messageContext(messageContext)

**Signature**

```java
public Slack.RequestContext.Builder messageContext(Slack.MessageContext messageContext)
```

**Parameters**

_messageContext_

Type: [Slack.MessageContext](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_message_context.md)

**Return Value**

Type: Slack.RequestContext.Builder

#### teamId(teamId)

**Signature**

```java
public Slack.RequestContext.Builder teamId(String teamId)
```

**Parameters**

_teamId_

Type: String

**Return Value**

Type: Slack.RequestContext.Builder

#### triggerId(triggerId)

**Signature**

```java
public Slack.RequestContext.Builder triggerId(String triggerId)
```

**Parameters**

_triggerId_

Type: String

**Return Value**

Type: Slack.RequestContext.Builder

#### userId(userId)

**Signature**

```java
public Slack.RequestContext.Builder userId(String userId)
```

**Parameters**

_userId_

Type: String

**Return Value**

Type: Slack.RequestContext.Builder

#### viewContext(viewContext)

**Signature**

```java
public Slack.RequestContext.Builder viewContext(Slack.ViewContext viewContext)
```

**Parameters**

_viewContext_

Type: Slack.ViewContext

**Return Value**

Type: Slack.RequestContext.Builder
