Skip to main content
View source

Slack

View as Markdown

A RocketRide tool node that lets an agent post to and inspect a Slack workspace. Pick it when an agent needs recent channel context or must notify a team; use a webhook-only setup for a deliberately post-only integration.

About Slack​

Slack is a work communication platform organized around channels and message threads. Teams use it for discussions, notifications, and integrations that report work into shared spaces.

What it does​

The node has no data lanes and exposes four Slack operations to an agent. Bot-token mode can test the connection, post messages, list public channels, and read channel history; incoming-webhook mode exposes posting only. This is a narrower, task-oriented surface than a generic HTTP client, with channel-name handling and Slack-specific failures.

As a tool​

The server-name prefix is slack, producing these registered functions.

FunctionDescription
slack.check_connectionVerify the connection and return workspace and bot identity details.
slack.message_postPost required text to a channel or thread. In webhook mode the webhook's channel is used.
slack.channels_listList public channels.
slack.channel_historyReturn recent messages for a required channel.

message_post requires text; channel is required in bot-token mode and can be an ID or a name. thread_ts replies in a thread. channels_list accepts limit; channel_history accepts required channel, plus limit, oldest, and latest. Errors are raised as Slack-specific failures: invalid credentials, missing OAuth scope, rate limiting, bad requests, and server failures. In webhook mode the three inspection functions reject the call because they require a bot token.

channel_history returns ts, user and text per message, thread_ts for threaded messages, subtype whenever Slack classifies the entry, and bot_id whenever a bot posted it. Treat subtype as a classifier rather than a noise flag: file_share, thread_broadcast and me_message are ordinary user messages, while channel_join, channel_leave, channel_topic, tombstone, pinned_item and reminder_add are system entries. That system list is open-ended, so drop entries by naming the subtypes you do not want rather than by presence. To skip your own posts, compare bot_id against the one check_connection reports — not the bot_message subtype, since an app posting under its own bot identity produces a bot_id and no subtype at all.

Configuration​

Configure exactly one credential mode. A configured value wins over the corresponding environment fallback; configuring both token and webhook URL, or neither, prevents startup.

Bot User OAuth Token​

Use this mode when the agent needs channel discovery or history. The bot token supports posting with chat:write, listing public channels with channels:read, and history with channels:history; invite the bot to every channel it must read. Choose it rather than a webhook whenever the agent needs more than post-only behavior.

Incoming Webhook URL​

Use a webhook for a fixed-channel, post-only agent. message_post ignores its channel and thread_ts arguments in this mode, because Slack delivers to the webhook's configured channel. Do not pair it with a bot token.

Authentication​

Set either a bot OAuth token or an incoming-webhook URL. Both are secrets. Slack authentication and authorization errors reach the agent as typed failures; a missing scope error identifies the required scope.

Notes​

Channel lookup​

Channel arguments may be IDs such as C0123ABCDEF or names such as #general. If a name cannot be resolved, call slack.channels_list and retry with the returned ID.

Upstream docs​

Schema​

FieldTypeDescriptionDefault
slack.tokenstringBot User OAuth Token
Slack bot token (starts with xoxb-) from your app's OAuth & Permissions page. Needs chat:write to post, channels:read to list channels, and channels:history to read history. Leave empty when using a webhook URL.
""
slack.webhookUrlstringIncoming Webhook URL
Slack incoming-webhook URL for zero-scope setups. Enables ONLY message_post, and messages always go to the channel the webhook was created for. Configure either this or a bot token, not both.
""

Dependencies​

  • slack_sdk >=3.27.0,<4.0.0