Skip to main content

Workflows

Welcome to the new home of Slack developer docs!

We're still building and not all features are available quite yet. Enjoy this peek into the future!

Not ready for the future? Return to the past at api.slack.com.

Workflows are a subset of Slack apps, which when combined with the developer-adjacent Workflow Builder, makes up Slack workflow automations. They have unique abilities and restrictions. They focus on utilizing functions, workflows, and triggers rather than individual API methods.

With workflow apps, you can:

  • Create Slack-hosted coded workflows written in TypeScript using the Deno Slack SDK and the Slack CLI. If you'd rather self-host, then you can use the Bolt for Python and Bolt for JavaScript frameworks.
  • Use workflow apps on their own or make coded functions available as steps for users in Workflow Builder with either the Deno Slack SDK or the Bolt frameworks. Workflow Builder is a no-code way to build workflows, right in Slack. Any user can combine a limited set of steps and triggers to quickly set up an automation.
  • Connect a Workflow Builder-created workflow to a coded workflow via Workflow Buttons (as long as the second workflow is a link trigger).

However, note that you cannot:

  • Develop using a Free plan.
  • Bring entire coded workflows into Workflow Builder—you can only bring in custom functions.
  • Run a workflow on an event (for example, "Workflow A executed").
  • Access a larger variety of APIs such as the Admin API methods, Slack SCIM API, and Audit Logs API.
  • List your apps in the Slack Marketplace.
The app management UI on api.slack.com/apps doesn’t support configuring workflow apps.

Also, workflow apps are currently not eligible for listing in the Slack Marketplace.

The anatomy of a workflow

Workflows are a combination of functions, executed in order.

There are a three types of functions:

  • Slack functions enable Slack-native actions, like creating a channel or sending a message.
  • Connector functions enable actions native to services outside of Slack. Google Sheets, Dropbox and Microsoft Excel are just a few of the services with available connector functions.
  • Custom functions enable developer-specific actions. Pass in any desired inputs, perform any actions you can code up, and pass on outputs to other parts of your workflows.

Workflows are invoked via triggers. You can invoke workflows:

  • via a link within Slack,
  • on a schedule,
  • when specified events occurs,
  • or via webhooks.

Workflows make use of specifically-designed features of the Slack platform such as datastores, a Slack-hosted way to store data.

While in development, you can keep your project mostly to yourself, or share it with a close collaborator. If your Slack admin requires approval of app installations, they’ll need to approve what you’re creating first.

Get started

➡️ If you're ready to develop your own workflow-based app with the Slack Deno SDK, begin with our quickstart

If you'd like to learn more before developing with the Slack Deno SDK, read our guides on TypeScript (a strongly typed evolution of Javascript) and Deno.

If you'd rather build instead of develop check out Workflow Builder.