workflow_step
object A workflow_step
object holds information about an app's workflow step. This object is used during configuration and execution of a step as well as view submissions. The format of inputs
and outputs
will depend on the context of the step.
Arguments
Field | Type | Description |
---|---|---|
workflow_step_execute_id |
String | An identifier provided with workflow_step_execute event payloads. Used to call back to workflows.stepCompleted or workflows.stepFailed . |
workflow_step_edit_id |
String | An identifier provided with view_submission payloads. Used to call back to workflows.updateStep |
workflow_instance_id |
String | An identifier provided with workflow_step_execute payloads. Unique to the current execution of the workflow. |
workflow_id |
String | An identifier for the workflow that the step is included in. Consistent across workflow executions. |
step_id |
String | An identifier for the step within the workflow. Consistent across workflow executions. |
inputs |
Object | A key-value map of input objects that specify input required from a user. This is the data your app expects to receive when the workflow step starts. |
outputs |
Object[] | An array of output objects created during step execution. This is the data your app promises to provide when your workflow step is executed. |
Example
{
"workflow_id": "12312",
"step_id": "123894",
"step_name": "Create Acme Issue",
"step_image_url": "https://acmecorp.cdn/path/to/square/image.png",
"inputs": {
"title": {
"value": "{{user}} submitted an issue",
"skip_variable_replacement": false
},
"submitter": {
"value": "{{user}}",
"skip_variable_replacement": false
},
"channel": {
"value": "{{channel}}",
"skip_variable_replacement": false
}
},
"outputs": [
{
"name": "ticket_id",
"type": "text",
"label": "Ticket ID"
},
{
"name": "title",
"type": "text",
"label": "Title"
}
]
}
input
object An object that holds information about the user inputs for that workflow step.
You can specify variables in your input
's value
object using a handlebar-like format, e.g. {{variable}}
. During workflow execution, those variables will be replaced with their actual runtime value, unless you have skip_variable_replacement
enabled. value
can be any valid JSON value.
Field | Type | Description |
---|---|---|
value |
Any | This is the input value. You can use {{variables}} which are included in the view_submission payload from a configuration modal. These variables refer to input from earlier workflow steps. |
skip_variable_replacement |
Boolean | Flag to specify if variables in value should be replaced. Default to true . |
variables |
Object | A key-value map of variables to replace |
Example
"inputs": {
"title": {
"value": "{{user}} submitted an issue",
"skip_variable_replacement": false
}
}
output
object An object that holds information about outputs this workflow step will produce. Outputs can be used in subsequent steps of a workflow.
Arguments
Field | Type | Description |
---|---|---|
name |
String | Developer defined name that will be used as reference during execution. |
type |
String | Type of the expected input. Can be text , channel or user . |
label |
String | Label of this input field displayed to the user. |
Example
{
"name":"ticket_id",
"type":"text",
"label":"Ticket ID"
}