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
| Property | Key | Type | Required | Default | Possible values | Applies when |
|---|---|---|---|---|---|---|
| Poll Interval | pollIntervalMs | number | Yes | 90000 | Defines 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 ms | Always |
| Event | event | options | Yes | messagePosted | messagePosted (Message Posted) | Always |
| Channel ID | channelId | string | Yes | '' | Slack channel ID to monitor, e.g. C1234567890 | Always |
| Output | output | options | No | simple | simple (Simplified), raw (Raw) | Always |
| Filters | filters | object | No | {} | See sub-table | Always |
| Options | options | object | No | {} | See sub-table | Always |
filters (object)
| Property | Key | Type | Required | Default | Possible values |
|---|---|---|---|---|---|
| User ID | userId | string | No | '' | Only trigger on messages from this Slack user ID |
| Text Contains | textContains | string | No | '' | Only trigger on messages containing this text |
| Exclude Bot Messages | excludeBots | boolean | No | true | Exclude messages from bots |
| Message Subtype | subtype | string | No | '' | Filter by message subtype, e.g. bot_message, file_share |
options (object)
| Property | Key | Type | Required | Default | Possible values |
|---|---|---|---|---|---|
| Max Messages Per Poll | maxMessages | number | No | 10 | Max messages processed per poll (clamped to 1-100) |
| Include Thread Replies | includeThreadReplies | boolean | No | false | Include messages that are thread replies |
Notes
channelIdis 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
nulland the workflow does not trigger. - Filters are applied after fetch:
excludeBotsdrops messages with abot_idorbot_messagesubtype, and thread replies (thread_tsset and different fromts) are dropped unlessincludeThreadRepliesis set. - Emits one item containing
messages(array) and asummary(count,channel,users,previews— first 50 characters of each message,pollInterval,polledAt).