Skip to Content

Slack Triggers

Category: Event-driven (real-time). Authentication: OAuth (Slack app).

Slack Channel Message

What it does: Fires when a message is posted in selected Slack channel(s).

Inputs

  • Channel (required) — One or more Slack channels to watch. Only messages in these channels trigger the workflow.
  • Contains Text (optional) — Only trigger when the message text contains this substring (case-sensitive or -insensitive depending on product). Useful for keywords or commands.
  • From User (optional) — Only trigger when the message is from one of the selected users. Use to ignore bots or limit to specific people.
  • Thread Only (optional) — When enabled, only messages that are replies in a thread trigger; top-level channel messages are ignored.
  • Exclude Bot Messages (optional) — When enabled, messages from bots are ignored so only human messages trigger.
  • Include Thread Replies (optional) — When enabled, replies inside a thread are included; when disabled, only top-level messages in the channel trigger.
  • Require Bot Mention (optional) — When enabled, the workflow runs only when the bot is @mentioned in the message. Reduces noise in busy channels.
  • Max Results (optional) — Maximum number of messages to process per check (e.g. 20). Prevents one run from processing too many messages.

Outputs

The Slack message and context (channel, user, thread, attachments) so you can reply, log, or run AI on the content.

Output schema

  • messageId / ts — Unique message timestamp ID.
  • channelId — ID of the channel where the message was posted.
  • channelName — Human-readable channel name.
  • userId — Slack user ID of the sender.
  • username — Username of the sender.
  • userDisplayName — Display name of the sender.
  • text — Message text (plain).
  • timestamp — When the message was sent (ISO or epoch).
  • threadTs — If the message is in a thread, the thread’s timestamp ID; empty for top-level messages.
  • attachments — Slack attachments (images, files, etc.) if present.
  • reactions — Emoji reactions on the message (if exposed by API).
  • isThreadReply — Whether this message is a reply in a thread.
  • isDirectMessage — Whether the message was sent in a DM (false for channel).
  • messageType — Type of message (e.g. message, bot_message) if exposed.
  • botMessage — Whether the message was sent by a bot.
  • teamId — Slack workspace/team ID.

Slack Direct Message

What it does: Fires when a direct message is received by the connected bot/user.

Inputs

  • Contains Text (optional) — Only trigger when the DM text contains this substring.
  • From User (optional) — Only trigger when the DM is from one of the selected users.

Outputs

Same structure as Slack Channel Message, with isDirectMessage set to true. Use channelId as the DM channel ID for replying.

Output schema

Same as Slack Channel Message above, with isDirectMessage = true.

Last updated on