---
schema_version: "1"
id: a482ee8fcf3dbebff31c0aa31166ad6f47712697fcb61d488e80570eeb50a273
title: Work with Workflows
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_workflows.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_workflows.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 575d08f24e16c51bcbe0c0973ce73658cdbec5c77e29b1e4849d9ba7de40a161
products:
  - Apex SDK for Slack (Beta)
---
# Work with Workflows

The following are Apex classes for the Slack `workflows` [API methods](https://api.slack.com/methods?query=workflows).

## WorkflowsStepCompletedRequest Class

Sends a request to indicate that an app's step in a workflow completed execution.

**Usage**

See Slack’s [workflows.stepCompleted method](https://api.slack.com/methods/workflows.stepCompleted).

### WorkflowsStepCompletedRequest Methods

The following are methods for `WorkflowsStepCompletedRequest`.

#### builder()

Builds a request object that's used when executing the API call.

**Signature**

```java
public static Slack.WorkflowsStepCompletedRequest.Builder builder()
```

**Return Value**

Type: Slack.WorkflowsStepCompletedRequest.Builder

## WorkflowsStepCompletedRequest.Builder Class

Contains methods to build an instance of the `Slack.WorkflowsStepCompletedRequest` class.

A Builder object is obtained by invoking one of the `WorkflowsStepCompletedRequest.Builder` methods defined by the `WorkflowsStepCompletedRequest` class.

### WorkflowsStepCompletedRequest.Builder Methods

The following are methods for `WorkflowsStepCompletedRequest.Builder`. These methods are optional unless specified otherwise.

#### build()

Required. Returns an instance of `Slack.WorkflowsStepCompletedRequest`.

**Signature**

```java
public Slack.WorkflowsStepCompletedRequest build()
```

**Return Value**

Type: Slack.WorkflowsStepCompletedRequest

#### outputs(outputs)

**Signature**

```java
public Slack.WorkflowsStepCompletedRequest.Builder outputs(Map<String,Object> outputs)
```

**Parameters**

_outputs_

Type: Map<String,Object>

**Return Value**

Type: Slack.WorkflowsStepCompletedRequest.Builder

#### outputsAsString(outputsAsString)

**Signature**

```java
public Slack.WorkflowsStepCompletedRequest.Builder outputsAsString(String outputsAsString)
```

**Parameters**

_outputsAsString_

Type: String

**Return Value**

Type: Slack.WorkflowsStepCompletedRequest.Builder

#### workflowStepExecuteId(workflowStepExecuteId)

Required. Context identifier that maps to the correct workflow step execution.

**Signature**

```java
public Slack.WorkflowsStepCompletedRequest.Builder workflowStepExecuteId(String workflowStepExecuteId)
```

**Parameters**

_workflowStepExecuteId_

Type: String

**Return Value**

Type: Slack.WorkflowsStepCompletedRequest.Builder

## WorkflowsStepCompletedResponse Class

Indicates that an app's step in a workflow completed execution.

**Usage**

See Slack’s [workflows.stepCompleted method](https://api.slack.com/methods/workflows.stepCompleted).

### WorkflowsStepCompletedResponse Methods

This class contains [standard response methods](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response.md).

## WorkflowsStepFailedRequest Class

Sends a request to indicate that an app's step in a workflow failed to execute.

**Usage**

See Slack’s [workflows.stepFailed method](https://api.slack.com/methods/workflows.stepFailed).

### WorkflowsStepFailedRequest Methods

The following are methods for `WorkflowsStepFailedRequest`.

#### builder()

Builds a request object that's used when executing the API call.

**Signature**

```java
public static Slack.WorkflowsStepFailedRequest.Builder builder()
```

**Return Value**

Type: Slack.WorkflowsStepFailedRequest.Builder

## WorkflowsStepFailedRequest.Builder Class

Contains methods to build an instance of the `Slack.WorkflowsStepFailedRequest` class.

A Builder object is obtained by invoking one of the `WorkflowsStepFailedRequest.Builder` methods defined by the `WorkflowsStepFailedRequest` class.

### WorkflowsStepFailedRequest.builder Methods

The following are methods for `WorkflowsStepFailedRequest.Builder`.

#### build()

Required. Returns an instance of `Slack.WorkflowsStepFailedRequest`.

**Signature**

```java
public Slack.WorkflowsStepFailedRequest build()
```

**Return Value**

Type: Slack.WorkflowsStepFailedRequest

#### error(error)

Required. A JSON-based object with a `message` property that contains an error message.

**Signature**

```java
public Slack.WorkflowsStepFailedRequest.Builder error(Map<String,Object> error)
```

**Parameters**

_error_

Type: Map<String,Object>

**Return Value**

Type: Slack.WorkflowsStepFailedRequest.Builder

#### workflowStepExecuteId(workflowStepExecuteId)

Required. Context identifier that maps to the correct workflow step execution.

**Signature**

```java
public Slack.WorkflowsStepFailedRequest.Builder workflowStepExecuteId(String workflowStepExecuteId)
```

**Parameters**

_workflowStepExecuteId_

Type: String

**Return Value**

Type: Slack.WorkflowsStepFailedRequest.Builder

## WorkflowsStepFailedResponse Class

Indicates that an app's step in a workflow failed to execute.

**Usage**

See Slack’s [workflows.stepFailed method](https://api.slack.com/methods/workflows.stepFailed).

### WorkflowsStepFailedResponse Methods

This class contains [standard response methods](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response.md).

## WorkflowStepInput Class

### WorkflowStepInput Methods

The following are methods for `WorkflowStepInput`.

#### getSkipVariableReplacement()

**Signature**

```java
public Boolean getSkipVariableReplacement()
```

**Return Value**

Type: Boolean

#### getValue()

**Signature**

```java
public Object getValue()
```

**Return Value**

Type: Object

#### getVariables()

**Signature**

```java
public Map<String,Object> getVariables()
```

**Return Value**

Type: Map<String,Object>

#### setSkipVariableReplacement(skipVariableReplacement)

**Signature**

```java
public void setSkipVariableReplacement(Boolean skipVariableReplacement)
```

**Parameters**

_skipVariableReplacement_

Type: Boolean

**Return Value**

Type: void

#### setValue(value)

**Signature**

```java
public void setValue(Object value)
```

**Parameters**

_value_

Type: Object

**Return Value**

Type: void

#### setVariables(variables)

**Signature**

```java
public void setVariables(Map<String,Object> variables)
```

**Parameters**

_variables_

Type: Map<String,Object>

**Return Value**

Type: void

## WorkflowStepOutput Class

### WorkflowStepOutput Methods

The following are methods for `WorkflowStepOutput`.

#### getLabel()

**Signature**

```java
public String getLabel()
```

**Return Value**

Type: String

#### getName()

**Signature**

```java
public String getName()
```

**Return Value**

Type: String

#### getType()

**Signature**

```java
public String getType()
```

**Return Value**

Type: String

#### setLabel(label)

**Signature**

```java
public void setLabel(String label)
```

**Parameters**

_label_

Type: String

**Return Value**

Type: void

#### setName(name)

**Signature**

```java
public void setName(String name)
```

**Parameters**

_name_

Type: String

**Return Value**

Type: void

#### setType(type)

**Signature**

```java
public void setType(String type)
```

**Parameters**

_type_

Type: String

**Return Value**

Type: void

## WorkflowsUpdateStepRequest Class

Sends a request to update the configuration for a workflow step.

**Usage**

See Slack’s [workflows.updateStep method](https://api.slack.com/methods/workflows.updateStep).

### WorkflowsUpdateStepRequest Methods

The following are methods for `WorkflowsUpdateStepRequest`.

#### builder()

**Signature**

```java
public static Slack.WorkflowsUpdateStepRequest.Builder builder()
```

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

## WorkflowsUpdateStepRequest.Builder Class

Contains methods to build an instance of the `Slack.WorkflowsStepFailedRequest` class.

A Builder object is obtained by invoking one of the `WorkflowsStepFailedRequest.Builder` methods defined by the `WorkflowsStepFailedRequest` class.

### WorkflowsUpdateStepRequest.Builder Methods

The following are methods for `WorkflowsUpdateStepRequest.Builder`. These methods are optional unless specified otherwise.

#### build()

Required. Returns an instance of `Slack.WorkflowsUpdateStepRequest`.

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest build()
```

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest

#### inputs(inputs)

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest.Builder inputs(Map<String,Slack.WorkflowStepInput> inputs)
```

**Parameters**

_inputs_

Type: Map<String,Slack.WorkflowStepInput>

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

#### inputsAsString(inputsAsString)

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest.Builder inputsAsString(String inputsAsString)
```

**Parameters**

_inputsAsString_

Type: String

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

#### outputs(outputs)

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest.Builder outputs(List<Slack.WorkflowStepOutput> outputs)
```

**Parameters**

_outputs_

Type: List<Slack.WorkflowStepOutput>

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

#### outputsAsString(outputsAsString)

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest.Builder outputsAsString(String outputsAsString)
```

**Parameters**

_outputsAsString_

Type: String

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

#### stepImageUrl(stepImageUrl)

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest.Builder stepImageUrl(String stepImageUrl)
```

**Parameters**

_stepImageUrl_

Type: String

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

#### stepName(stepName)

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest.Builder stepName(String stepName)
```

**Parameters**

_stepName_

Type: String

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

#### workflowStepEditId(workflowStepEditId)

Required. A context identifier provided with `view_submission` payloads used to call back to [WorkflowsUpdateStepRequest](#workflowsupdatesteprequest-class).

**Signature**

```java
public Slack.WorkflowsUpdateStepRequest.Builder workflowStepEditId(String workflowStepEditId)
```

**Parameters**

_workflowStepEditId_

Type: String

**Return Value**

Type: Slack.WorkflowsUpdateStepRequest.Builder

## WorkflowsUpdateStepResponse Class

Update the configuration for a workflow step.

**Usage**

See Slack’s [workflows.updateStep method](https://api.slack.com/methods/workflows.updateStep).

### WorkflowsUpdateStepResponse Methods

This class contains [standard response methods](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response.md).
