Reference · Tools

Slack Trigger

Starts workflow when Slack events are received (messages, reactions, mentions, etc.)

Webhook trigger Communication v1

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

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Slack API credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
Trigger OnmultiOptionsNo[]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 WorkspacebooleanNofalseWhether 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 IDstringYesThe 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)
OptionscollectionNo{}Optional filters applied to incoming events.
— User IDs to IgnorestringNoComma-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 — always slack_webhook
  • _timestamp — ISO 8601 timestamp of when the request arrived
  • _webhookEvent — the Slack event type; file shares are reported as file_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 BusyBot

Last updated . Spotted something wrong? Tell us.