Slack Workflows API

Slack's Workflows API lets you automate work inside Slack by defining workflowsordered steps or functionsthat run in response to triggers like shortcuts, messages, schedules, link clicks, or webhooks. Developers can build Slacknative steps, collect inputs with forms, post messages, route approvals, and call external services, then programmatically create and manage triggers and runs.

OpenAPI Specification

slack-workflows-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: "1.0"
  title: Slack Workflows
  description: Needs a description.
paths:
  /workflows.stepCompleted:
    get:
      tags:
      - Workflows
      description: Indicate that an app's step in a workflow completed execution.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/workflows.stepCompleted
      operationId: getWorkflowsStepcompleted
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `workflow.steps:execute`'
        required: true
        schema:
          type: string
      - name: workflow_step_execute_id
        in: query
        description: Context identifier that maps to the correct workflow step execution.
        required: true
        schema:
          type: string
      - name: outputs
        in: query
        description: >-
          Key-value object of outputs from your step. Keys of this object
          reflect the configured `key` properties of your
          [`outputs`](/reference/workflows/workflow_step#output) array from
          your `workflow_step` object.
        schema:
          type: string
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: Default success template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: true
                description: >-
                  This method either only returns a brief _OK_ response or a
                  verbose schema is not available for this method.
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: Default error template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: true
                description: >-
                  This method either only returns a brief _not OK_ response or a
                  verbose schema is not available for this method.
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - workflow.steps:execute
      summary: Slack Get Workflows Stepcompleted
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflows.stepFailed:
    get:
      tags:
      - Workflows
      description: Indicate that an app's step in a workflow failed to execute.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/workflows.stepFailed
      operationId: getWorkflowsStepfailed
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `workflow.steps:execute`'
        required: true
        schema:
          type: string
      - name: workflow_step_execute_id
        in: query
        description: Context identifier that maps to the correct workflow step execution.
        required: true
        schema:
          type: string
      - name: error
        in: query
        description: >-
          A JSON-based object with a `message` property that should contain a
          human readable error message.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: Default success template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: true
                description: >-
                  This method either only returns a brief _OK_ response or a
                  verbose schema is not available for this method.
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: Default error template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: true
                description: >-
                  This method either only returns a brief _not OK_ response or a
                  verbose schema is not available for this method.
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - workflow.steps:execute
      summary: Slack Get Workflows Stepfailed
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workflows.updateStep:
    get:
      tags:
      - Workflows
      description: Update the configuration for a workflow extension step.
      externalDocs:
        description: API method documentation
        url: https://api.slack.com/methods/workflows.updateStep
      operationId: getWorkflowsUpdatestep
      parameters:
      - name: token
        in: header
        description: 'Authentication token. Requires scope: `workflow.steps:execute`'
        required: true
        schema:
          type: string
      - name: workflow_step_edit_id
        in: query
        description: >-
          A context identifier provided with `view_submission` payloads used
          to call back to `workflows.updateStep`.
        required: true
        schema:
          type: string
      - name: inputs
        in: query
        description: >-
          A JSON key-value map of inputs required from a user during
          configuration. This is the data your app expects to receive when the
          workflow step starts. **Please note**: the embedded variable format
          is set and replaced by the workflow system. You cannot create custom
          variables that will be replaced at runtime. [Read more about
          variables in workflow steps here](/workflows/steps#variables).
        schema:
          type: string
      - name: outputs
        in: query
        description: >-
          An JSON array of output objects used during step execution. This is
          the data your app agrees to provide when your workflow step was
          executed.
        schema:
          type: string
      - name: step_name
        in: query
        description: >-
          An optional field that can be used to override the step name that is
          shown in the Workflow Builder.
        schema:
          type: string
      - name: step_image_url
        in: query
        description: >-
          An optional field that can be used to override app image that is
          shown in the Workflow Builder.
        schema:
          type: string
      responses:
        '200':
          description: Typical success response
          content:
            application/json:
              schema:
                title: Default success template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_true'
                additionalProperties: true
                description: >-
                  This method either only returns a brief _OK_ response or a
                  verbose schema is not available for this method.
              example:
                ok: true
        default:
          description: Typical error response
          content:
            application/json:
              schema:
                title: Default error template
                required:
                - ok
                type: object
                properties:
                  ok:
                    $ref: '#/components/schemas/defs_ok_false'
                additionalProperties: true
                description: >-
                  This method either only returns a brief _not OK_ response or a
                  verbose schema is not available for this method.
              example:
                error: invalid_auth
                ok: false
      security:
      - slackAuth:
        - workflow.steps:execute
      summary: Slack Get Workflows Updatestep
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas: {}
tags:
- name: Workflows