Skip to main content

Slack

Connects to the Slack Web API for messaging, channel management, search, user lookup, canvases, and files. An agent can read and post messages, manage channels and DMs, search across the workspace, and work with Slack Canvases.

Add to an agent node's tools array with _node_type: "tool-slack". See Connector Reference — How connectors are used.

Authentication

FieldRequiredDescription
tokenOne of token/access_tokenSlack bot token (e.g. xoxb-...), sent as Authorization: Bearer <token>. Typically a stored secret.
access_tokenOne of token/access_tokenSlack OAuth access token, used if token is not set. Typically resolved via oauth_connection_id.
{
"name": "slack",
"_node_type": "tool-slack",
"oauth_connection_id": "{{ connection.slack }}"
}

Tools

slack_send_message

Send a message to any Slack channel, group DM, or direct message conversation.

Parameters

ParameterTypeRequiredDescription
channelstringYesChannel ID or name (e.g. C01234 or #general)
textstringYesMessage text. Supports Slack mrkdwn formatting (*bold* _italic_ ~strike~ code blocks)
usernamestringNoDisplay name override for the bot (optional)
icon_emojistringNoEmoji to use as the bot icon, e.g. :robot_face: (optional)

Returns: A confirmation message including the message timestamp (ts) and target channel.

slack_get_history

Read the complete message history of a Slack channel. Returns messages with user IDs, text, timestamps, and thread info.

Parameters

ParameterTypeRequiredDescription
channelstringYesChannel ID (e.g. C01234ABC)
limitnumberNoNumber of messages to fetch (default 20, max 200)
oldeststringNoOnly return messages after this Unix timestamp (optional)
lateststringNoOnly return messages before this Unix timestamp (optional)

Returns: A newline-separated list of [ts] user: text lines (with reply counts where applicable), or "No messages found.". Appends a note if more messages are available for pagination.

slack_get_thread

Read the complete conversation of a Slack message thread, including the parent message and all replies.

Parameters

ParameterTypeRequiredDescription
channelstringYesChannel ID containing the thread
thread_tsstringYesTimestamp of the parent message (the thread root)
limitnumberNoMax replies to return (default 50)

Returns: A newline-separated list of the parent message (prefixed 🧵) followed by replies (prefixed ), each as [ts] user: text, or "Thread not found or empty.".

slack_reply_thread

Reply to a message thread in a Slack channel.

Parameters

ParameterTypeRequiredDescription
channelstringYesChannel ID
thread_tsstringYesTimestamp of the parent message to reply to
textstringYesReply text

Returns: A confirmation message including the reply's timestamp and the thread it was posted in.

slack_add_reaction

Add an emoji reaction to a Slack message on behalf of the authenticated user.

Parameters

ParameterTypeRequiredDescription
channelstringYesChannel ID containing the message
timestampstringYesMessage timestamp (ts field) to react to
emojistringYesEmoji name without colons (e.g. thumbsup, white_check_mark, tada)

Returns: A confirmation message naming the emoji and the message timestamp it was added to.

slack_search_messages

Search Slack messages and files by keyword, user, channel, or date. Supports advanced query modifiers like from:@user or in:#channel.

Parameters

ParameterTypeRequiredDescription
querystringYesSearch query. Supports modifiers: from:@user, in:#channel, before:2024-01-01, after:2024-01-01
countnumberNoNumber of results per page (default 20, max 100)
sort_dirstringNoSort direction: desc (newest first, default) or asc

Returns: A summary line with the total match count followed by - [#channel] @user (ts): text lines with permalinks, or a "no messages found" message.

slack_search_channels

Search Slack channels by name or description. Returns channel metadata including ID, name, topic, purpose, and member count.

Parameters

ParameterTypeRequiredDescription
querystringYesChannel name or description to search for (partial match)
limitnumberNoMax results to return (default 20)
exclude_archivedbooleanNoExclude archived channels (default true)

Returns: A list of matching channels with ID, member count, topic, and purpose, or a "no channels found" message.

slack_search_users

Search Slack workspace members by name, display name, or email. Returns user details and current status.

Parameters

ParameterTypeRequiredDescription
querystringYesUser's name, display name, email, or user ID to search for
limitnumberNoMax results to return (default 10)

Returns: If query looks like a user ID (starts with U) or an email, returns a single formatted user profile. Otherwise returns a newline-separated list of - <real name> (<display name>) id: <id> email: <email> lines for matching non-bot, non-deleted members, or a "no users found" message.

slack_search_emoji

List custom emoji available in the Slack workspace. Optionally filter by name.

Parameters

ParameterTypeRequiredDescription
filterstringNoOptional filter string to narrow down emoji by name

Returns: A count and space-separated list of :emoji_name: strings, or "No custom emoji found.".

slack_list_channels

List Slack channels the bot has access to. Returns ID, name, and member count for each channel.

Parameters

ParameterTypeRequiredDescription
limitnumberNoMax channels to return (default 100)
include_privatebooleanNoInclude private channels the bot is a member of (default false)

Returns: A newline-separated list of - #<name> (id: <id>, members: <count>) lines, or "No channels found.".

slack_channel_info

Get detailed information about a Slack channel: name, topic, purpose, member count, and creation date.

Parameters

ParameterTypeRequiredDescription
channelstringYesChannel ID (e.g. C01234ABC)

Returns: A multi-line summary with channel name, ID, visibility (public/private), member count, creation date, topic, and purpose.

slack_create_channel

Create a new Slack channel (public or private) on behalf of the authenticated user.

Parameters

ParameterTypeRequiredDescription
namestringYesChannel name (lowercase letters, numbers, hyphens, underscores only)
is_privatebooleanNoCreate as a private channel (default false = public)

Returns: A confirmation message with the visibility, channel name, and new channel ID.

slack_open_dm

Open a direct message (DM) or group DM conversation with one or more Slack users.

Parameters

ParameterTypeRequiredDescription
usersstringYesComma-separated user IDs to open a DM or group DM with (e.g. U01234,U05678)

Returns: A message with the new conversation ID, to be used with slack_send_message.

slack_list_members

Retrieve the list of user IDs who are members of a Slack channel or conversation.

Parameters

ParameterTypeRequiredDescription
channelstringYesChannel ID to list members of
limitnumberNoMax members to return (default 100)

Returns: A count and comma-separated list of member user IDs, or "No members found.". Notes if more members are available.

slack_get_user

Fetch complete profile information for a Slack user: real name, display name, email, title, status, timezone, and custom profile fields.

Parameters

ParameterTypeRequiredDescription
userstringYesUser ID (e.g. U01234ABC) or email address

Returns: A formatted user profile (real name, display name, ID, email, title, status, timezone), or "User not found.".

slack_create_canvas

Create a new Slack Canvas — a rich, formatted document. Content supports Markdown: headers (#), bold (**text**), lists, code blocks, and tables.

Parameters

ParameterTypeRequiredDescription
titlestringYesCanvas title
contentstringYesCanvas body content in Markdown format

Returns: A confirmation message with the new canvas ID.

slack_update_canvas

Update an existing Slack Canvas by inserting or replacing content. Supports Markdown formatting.

Parameters

ParameterTypeRequiredDescription
canvas_idstringYesCanvas ID to update
contentstringYesNew Markdown content to append to the canvas
operationstringNoHow to apply the content: insert_at_end (default), insert_at_start, or replace. Invalid values fall back to insert_at_end.

Returns: A confirmation message naming the canvas ID and operation applied.

slack_read_canvas

Export a Slack Canvas as Markdown text. Returns the complete document content.

Parameters

ParameterTypeRequiredDescription
canvas_idstringYesCanvas ID to read

Returns: The canvas content as Markdown (sections joined by blank lines), or "Canvas is empty." / "Canvas has no readable text content.".

slack_read_file

Read metadata and text content of a Slack file. Works for text files, code snippets, and documents.

Parameters

ParameterTypeRequiredDescription
file_idstringYesFile ID (starts with F, e.g. F01234ABC)

Returns: File metadata (name, title, MIME type, size, uploader, date, permalink). For text/code/JSON/markdown files, also fetches and appends the file content (truncated to 8000 characters).

Next