This automations page is moving! We've been working hard at building out our tools documentation at tools.slack.dev — the new home of our Deno Slack SDK and Slack CLI docs! You can start using the new docs today, but we'll keep the content on both sites up to date during the transition.

Function types

Developing automations requires a paid plan. Don't have one? Join the Developer Program and provision a sandbox with access to all Slack features for free.

Functions are one of the three building blocks that make up workflow apps. You will encounter all three as you navigate the path of building your app:

  1. Functions define the actions of your app. (⬅️ you are here)
  2. Workflows are a combination of functions, executed in order.
  3. Triggers execute workflows.

There are 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. Connector functions cannot be used in a workflow intended for use in a Slack Connect channel.
  • Custom functions enable developer-specific actions. Read on for more info.

To protect your organization, external users (those outside your organization connected through Slack Connect) cannot use a workflow that contains connector steps or workflow steps built by your organization. This may manifest in a home_team_only warning. Refer to this help center article for more details.

Custom functions

Custom functions can be created with the Deno Slack SDK or the Bolt SDKs. Pass in any desired inputs, perform any actions you can code up, and pass on outputs to other parts of your workflows.

Custom functions also allow your app to create and process workflow steps that users can add in Workflow Builder. Which kind of custom function is available for use depends on which kind of Slack app you're working with. Both types of apps provide a mechanism to connect your app to the outside world via third-party APIs.

See the following tutorials for assistance:

If you're starting your app-creation journey on this page and are not quite sure which SDK to choose, let us direct your attention to the Slack platform overview.