Build a workflow: Create a workflow in Slack
Workflows allow you to automate tasks and work more efficiently in Slack. By default, anyone on a paid plan can create workflows using Workflow Builder. If you don’t see the option, your owners or admins may have restricted who can build workflows.
New to workflows? Check out our What is a Slack workflow? tutorial for an overview.
Components of a workflow
Before you get started, it’s helpful to understand the components that make up a workflow. As you build your workflow, you’ll customize each component to complete a task in Slack.
Component | Definition | Example |
Trigger | The action that starts a workflow | There are several options to start a workflow, like clicking a Start Workflow button or someone joining a channel. |
Steps | The actions you want your workflow to take | A step can take a variety of actions in Slack (like sending a message or adding people to a channel). You can also add connector steps from third-party services. |
Variable | Any information submitted to your workflow that can be referenced in steps that come later in the workflow | The @mention of the person who started the workflow can be added as a variable to a message sent by the workflow. |
Button | Moves your workflow to the next step when clicked | Once clicked, a button could show a form, or allow someone to claim a request in a channel monitored by a bigger team. |
Workflow manager | A member of your workspace with permission to edit, unpublish, and delete a workflow |
The person who builds a workflow is automatically a workflow manager. To share the responsibility of maintaining your workflow, add others as workflow managers. |
Step 1: Open Workflow Builder
- From your desktop, hover over More, then select Automations.
- Click New Workflow in the top right.
Step 2: Choose how your workflow starts
- Below Start the workflow, click Choose an event, then select an option from the list:
From a link
Share this link in Slack to display a Start Workflow button people can click to start your workflow.
On a schedule
Specify a date, time, and cadence for your workflow. Starts automatically based on the schedule you set.
When an emoji reaction is used
Specify an emoji and a channel. When someone uses the emoji reaction in the channel, your workflow will start.
When a person joins a channel
Specify a channel. Each time someone joins the channel, the workflow will start.
When a list item is updated
Choose a list. When any item in the list is updated, your workflow will start. Click Add Field to start the workflow when a particular field changes.
From a webhook
Configure external events to start your workflow. - Follow the prompts, then click Continue.
Note: Workflows that start with a link can only be started from Slack. Clicking the link outside of Slack won’t work.
Step 3: Add steps to your workflow
Once you’ve decided how your workflow will start, the steps you add will complete the task you’d like to automate. Steps are the building blocks of a workflow — they can take actions inside and outside of Slack, and will occur in the order you specify when someone starts your workflow.
Types of steps
Step | Description | Who can use |
Slack | Takes a Slack action, like sending a message or adding someone to a channel | Everyone (by default) |
Connector | Takes an action in a third-party service, like adding a row to a Google spreadsheet or creating a new Zoom meeting | Everyone (by default)* |
Custom | Built specifically for your organization to take actions the developer specifies | App collaborators** |
*If app approval is enabled for your workspace or Enterprise Grid organization, custom apps and connectors will need to be approved before you can add them to workflows
**Unless the developer has set other permissions
Add steps
To add steps to your workflow, decide which type of step you’d like to use, then find and select it from the step library.
- Search for a step, or choose one from the list.
- Follow the prompts to configure the step, then click Save.
Depending on your workspace or Enterprise Grid org’s settings, you may need to request access or additional configuration for connectors before you can add those steps to a workflow. When you add a connector step, we require you to authenticate an account with the third-party service before the workflow can complete the step successfully. Workflow creators can choose whether to require individual people using their workflows to authenticate with their own accounts, or use their own credentials.
Note: To configure a step to send messages to a channel, you need to have posting permissions for that channel. If you don’t have posting permissions, ask an owner or admin to grant them to you.
Customize steps
While setting up a step, you’ll see the option to add variables or buttons. Variables allow the workflow to use information from previous steps to inform future steps and responses, and buttons allow the workflow to “pause” the flow of steps until the button is clicked.
Variables
Buttons
- From a step, click insert a variable. (In some places, you may only see the brackets icon.)
- Choose from the list of variables. When your workflow runs, the dynamic data will replace the variable.
- From a step, click Add Button.
- If you’d like, edit the text that appears on the button or change the button color.
- To choose an action for the button, click the drop-down menu below Behavior.
- Click the toggle next to Single-click to disable the button once one person has clicked it.
- Select Advanced options to restrict clicking the button to certain people or set an expiration date to disable the button at a certain date and time.
- Click Done, then click Save.
Edit and reorder steps
If you change your mind, you can adjust the configuration of your steps and change the order they’re executed.
- To edit a step, click the pencil icon.
- To reorder a step, click the up arrow or down arrow, or drag it to a new location.
Step 4: Finish up and publish your workflow
Before you publish your workflow, you'll need to add a few finishing touches. You can always edit your workflow once it's published to make updates, add or remove workflow managers, or change the permissions.
Add a title, description, and icon
- Click the workflow's icon in the top-left corner of Workflow Builder.
- Choose a name for your workflow. This is what will show up when the workflow link is shared, the workflow posts a message in a channel or sends a direct message, etc.
- If you’d like, add a description.
- To add a custom icon, click Upload.
Add workflow managers
Any workflow managers you add will have the same permissions you do as the workflow creator.
- Click the three dots icon in the top-right corner of Workflow Builder, then select Settings.
- Click Edit.
- Below Workflow managers, type the name of the person you’d like to add. Then, select their name.
Set access permissions
By default, everyone in your workspace or org can find and use your workflow, but only workflow managers can make a copy. Here’s how to change these default permissions:
- Click the three dots icon in the top-right corner of Workflow Builder, then select Settings.
- Click Edit.
- Select an option from the Who can find and use this workflow? drop-down menu.
- To ensure external people you work with in Slack Connect have permission to use your workflow, check the box next to Also include connected, external organizations to find and run.
- Select an option from the Who can copy this workflow? drop-down menu.
- Click Save.
Publish your workflow
When you're ready, publish your workflow so that you and the members in your workspace or org with permission can use it.
- Click Finish Up in the top-right corner of Workflow Builder.
- Review the workflow's details and permissions.
- Click Publish.
That’s it! You’ve just built a workflow. If it starts with a link, make sure to share it in Slack so that people can find and use your new workflow.
Note: Slack Connect channels and external people can be granted access to your workflow only if your owners and admins have allowed external people to run workflows created by your organization.
- All members (by default)
- Available on paid plans