Currently, this step is designed for internal Slack workspaces. If you
need to send messages to external Slack channels (e.g., to your users),
please reach out and let us know—this is on our roadmap!
- alert the team about a high-value signup
- notify support of urgent issues
- broadcast a daily digest
- setup a #feed channel to track all key activity in your app
Breakdown

An example Slack step configuration. Sends a message to the #demo-feed channel when a new user signs up to the waitlist.
1
Construct the JSON payload
Generate the JSON payload for the Slack message by substituting the input
data fields into the template.
2
Send the message
Initiate Slack’s Incoming Webhooks
API with the payload, which sends
the message to the configured Slack channel.
Expected JSON payload structure
Slack’s Incoming Webhooks API expects a JSON payload with specific fields. The two primary components are:-
text
A plain text fallback message that is displayed in notifications and in contexts where rich formatting is unavailable. -
blocks
An array of Block Kit components that provide rich, interactive formatting. Each block is an object with atype
(such as"section"
,"divider"
, or"actions"
) and additional properties based on the block type. For example, a section block might look like this:
text
field and/or a detailed blocks
array to provide a rich notification experience.
Visit Slack’s Block Kit documentation for a deeper dive on how to build rich messages.
Using input data
The template editor supports Liquid, which lets you substitute input data fields to create dynamic messages. You can use the{{ }}
syntax to insert the input data fields into your message.
Some examples:
Simple variable substitution
Simple variable substitution
Insert variables directly into your message. For example, to notify your team about a new signup:In this template, the placeholder
{{ customer.email }}
is replaced with the actual customer email.Dynamic for loops with blocks
Dynamic for loops with blocks
Generate a dynamic list of blocks by looping over an array. For example, to list each item in an order, you might use:This loop creates a section block for each item, allowing you to generate a dynamic number of blocks.
Conditional formatting
Conditional formatting
Customize your message based on conditions. For example, to display a special alert for premium customers:This template uses a conditional statement to vary the message based on the customer’s status.