Reference · Tools
Slack Trigger
Starts workflow when Slack events are received (messages, reactions, mentions, etc.)
The Slack Trigger starts a workflow when the Slack events you subscribe to arrive — messages, reactions, mentions and others — either across the workspace or filtered to one channel. A typical build is opening a support ticket whenever someone mentions the help bot in a channel.
- Node type
- Webhook trigger
- Parameters
- 5
- Outputs
- Output
- Credentials
- Slack API
Slack Trigger
Trigger workflows from Slack events like messages, reactions, and mentions.
Overview
Receives webhook events from Slack’s Events API. Supports event filtering by type (message, reaction_added, app_mention, channel_created, team_join, file_share, file_public), channel-specific or workspace-wide monitoring, and optional signature verification using Slack’s v0 signing secret. Handles Slack URL verification challenges automatically. Outputs the raw Slack event payload with trigger metadata.
Category: Communication
Tool Name: slack_trigger
Version: 1
Appearance: Icon: lucide-MessageSquare | Color: #4a154b
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Slack API credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Trigger On | multiOptions | No | [] | Which Slack events to listen for. |
Options: any_event (any event Slack delivers), app_mention (your bot or app is mentioned in a channel it belongs to), file_public (a file is made public), file_share (a file is shared in a channel the app belongs to), message (a message is posted to a channel the app belongs to), channel_created (a new public channel is created), team_join (a new user is added to Slack), reaction_added (a reaction is added to a message) | ||||
| Watch Whole Workspace | boolean | No | false | Whether to watch for the event in the whole workspace, rather than a specific channel. (shown when Trigger On is any_event, message, reaction_added, file_share, app_mention) |
| Channel ID | string | Yes | — | The Slack channel ID to listen to events from. Applies to events: Bot/App mention, File Shared, New Message Posted to Channel, Reaction Added. (shown when Watch Whole Workspace is false) |
| Options | collection | No | {} | Optional filters applied to incoming events. |
| — User IDs to Ignore | string | No | — | Comma-separated list of user IDs whose events should be ignored. |
Output Data
Each matching Slack event produces one output item. The Slack event object is merged in at the top level — so its own fields (type, user, text, channel, ts, and any others Slack includes for that event) sit directly on the item — plus this metadata:
_trigger— alwaysslack_webhook_timestamp— ISO 8601 timestamp of when the request arrived_webhookEvent— the Slack event type; file shares are reported asfile_share_teamId— the workspace the event came from_eventId— Slack’s unique id for the delivery_apiAppId— the Slack app the subscription belongs to
Reference the payload downstream by expression, e.g. {{ $json.text }}. Events that do not match your Trigger On selection, that come from a different channel when Watch Whole Workspace is off, or that come from a user listed in User IDs to Ignore, are acknowledged without starting the workflow. Slack’s URL verification challenge is answered automatically and produces no items.
Usage Examples
- Trigger a workflow when a message is posted in a Slack channel
- React to new user joins in the Slack workspace
- Start a workflow when the bot is mentioned in Slack
- Monitor a specific channel for new reactions
- Process file shares in a Slack channel
Example Configuration
Watch one channel for new messages:
{
"type": "slack_trigger",
"parameters": {
"trigger": ["message"],
"watchWorkspace": false,
"channelId": "C0122KQ70S7E",
"options": {}
}
}
Watch the whole workspace and ignore two noisy accounts:
{
"type": "slack_trigger",
"parameters": {
"trigger": ["message", "reaction_added", "app_mention"],
"watchWorkspace": true,
"options": {
"userIds": "U1111111111,U2222222222"
}
}
}
Workspace-level events that are not channel-scoped:
{
"type": "slack_trigger",
"parameters": {
"trigger": ["team_join", "channel_created"],
"options": {}
}
}
Catch app mentions anywhere in the workspace:
{
"type": "slack_trigger",
"parameters": {
"trigger": ["app_mention"],
"watchWorkspace": true,
"options": {}
}
}
Watch one channel for file activity, ignoring a bot account:
{
"type": "slack_trigger",
"parameters": {
"trigger": ["file_share", "file_public"],
"watchWorkspace": false,
"channelId": "C9876543210",
"options": {
"userIds": "UBOT123456"
}
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
Configure which Slack events to listen for (messages, reactions, mentions, etc.). Optionally filter by channel or watch the entire workspace. Slack will send event payloads to the webhook URL. Set up a signing secret in your Slack app credentials for signature verification.
Set up a webhook in your Slack app to enable this trigger. Configure event subscriptions in your Slack app settings and point the Request URL to this webhook. We also recommend setting up a signing secret to ensure the authenticity of requests.
Frequently asked questions
How do I set it up in Slack?
Configure event subscriptions in your Slack app settings and point the Request URL at this trigger's webhook. Slack then delivers matching events to it.
Are payloads verified?
Set a signing secret in the Slack app credentials and deliveries are signature-verified, so a forged request cannot start your workflow.
Can I limit it to one channel?
Yes — filter by channel, or leave it unset to watch the entire workspace.
Which credential does it need?
A Slack API credential, ideally including the signing secret for verification.
Build with the Slack Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Slack API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.