Skip to main content

Slack Trigger

Type ID: slackTrigger  ·  Kind: Trigger  ·  Trigger style: poll  ·  Ports: 1 in, 1 out (0 in when used as the workflow's root trigger)

Polls the Slack conversations.history API on an interval and triggers the workflow when new messages matching the configured filters are posted in a channel.

Credentials​

Connect a Slack credential via the integration picker.

Slack credentials connect as a bot/app installation. Culvii does not currently support authenticating as an individual Slack user — messages are read as the connected app, not as a specific person.

Properties​

PropertyKeyTypeRequiredDefaultPossible valuesApplies when
Poll IntervalpollIntervalMsnumberYes90000Defines the interval, in milliseconds, at which Slack is checked for new messages. A minimum polling interval of 90 seconds is enforced; any value below 90,000 ms will default to 90,000 msAlways
EventeventoptionsYesmessagePostedmessagePosted (Message Posted)Always
Channel IDchannelIdstringYes''Slack channel ID to monitor, e.g. C1234567890Always
OutputoutputoptionsNosimplesimple (Simplified), raw (Raw)Always
FiltersfiltersobjectNo{}See sub-tableAlways
OptionsoptionsobjectNo{}See sub-tableAlways

filters (object)​

PropertyKeyTypeRequiredDefaultPossible values
User IDuserIdstringNo''Only trigger on messages from this Slack user ID
Text ContainstextContainsstringNo''Only trigger on messages containing this text
Exclude Bot MessagesexcludeBotsbooleanNotrueExclude messages from bots
Message SubtypesubtypestringNo''Filter by message subtype, e.g. bot_message, file_share

options (object)​

PropertyKeyTypeRequiredDefaultPossible values
Max Messages Per PollmaxMessagesnumberNo10Max messages processed per poll (clamped to 1-100)
Include Thread RepliesincludeThreadRepliesbooleanNofalseInclude messages that are thread replies

Notes​

  • channelId is required; the node throws if it's missing.
  • If the channel has no messages in the poll window, or none survive filtering, the node returns null and the workflow does not trigger.
  • Filters are applied after fetch: excludeBots drops messages with a bot_id or bot_message subtype, and thread replies (thread_ts set and different from ts) are dropped unless includeThreadReplies is set.
  • Emits one item containing messages (array) and a summary (count, channel, users, previews — first 50 characters of each message, pollInterval, polledAt).