Slack Toolkit
The Slack Toolkit is a workflow node. Its tools include List Channels, Search Channel, Send Message, and Send Direct Message, plus 13 more listed below. Connect a Slack account before you use any of these tools. Type @ in a field when the value should come from an earlier step.
Authentication
Every Slack tool needs a connected account before it can run. On the node, open Slack Account.
- Choose Use my Slack account or Use team account.
- If no personal account is connected, click Connect Slack Account and finish sign-in.
- For a team account, choose Use team account and pick one from Team account. The list shows accounts already connected for the project.
Tools
List Channels
Lists channels.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Channel Visibility | No | Filter channels by visibility: 'all', 'public', or 'private'. Allowed values: all, public, private. Default is all. Type @ to select a variable. |
| Types | No | Advanced override for Slack conversation types. Comma-separated values like public_channel, private_channel, mpim, im. Default is null. Type @ to select a variable. |
| Exclude Archived | No | Exclude archived channels from the list. Default is true. |
| Limit | No | Maximum number of channels to request from Slack in a single call (max 1000). Default is 100. |
| Cursor | No | Slack pagination cursor returned by a previous list_channels call. Use this to fetch the next page. Default is null. Type @ to select a variable. |
Search Channel
Searches channel.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Query | Yes | Channel name or partial name to search for (e.g. 'engineering', 'general'). Type @ to select a variable. |
| Types | No | Comma-separated list of channel types to search (public_channel, private_channel). Default is public_channel,private_channel. Type @ to select a variable. |
| Exclude Archived | No | Exclude archived channels from search results. Default is true. |
Send Message
Sends message.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Channel | Yes | Channel ID or name to send message to. Type @ to select a variable. |
| Text | Yes | Message text to send. Type @ to select a variable. |
| Thread Ts | No | Thread timestamp to reply to (for threaded messages). Default is null. Type @ to select a variable. |
| Blocks | No | Block Kit blocks JSON array for rich message formatting. Each element is a block object with a 'type' field. Supported block types: • header – {type:'header', text:{type:'plain_text', text:'Title'}} • table – {type:'table', column_settings:[{is_wrapped:true},...], rows:[[{type:'raw_text',text:'Header'},...],[{type:'raw_text',text:'Data'},...]]}. Use raw_text cells for plain data; use rich_text cells with elements:[{type:'rich_text_section', elements:[{type:'link',url:'...',text:'...'}]}] for links. Max 1 table per message. • section – {type:'section', text:{type:'mrkdwn', text:'bold italic'}} or with fields:[{type:'mrkdwn',text:'Label\nValue'},...] for side-by-side layout. • divider – {type:'divider'} • context – {type:'context', elements:[{type:'mrkdwn', text:'summary text'}]} • rich_text – {type:'rich_text', elements:[{type:'rich_text_section', elements:[{type:'text',text:'...'}]}]} Best practices: Use TABLE blocks for structured/tabular data (not section fields). Always set is_wrapped:true in column_settings. Use raw_text for simple cells, rich_text for links/formatting. Add a header block for context and a context block for summaries. Default is []. |
Send Direct Message
Sends direct message.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| User ID | Yes | User ID to send direct message to. Type @ to select a variable. |
| Text | Yes | Message text to send. Type @ to select a variable. |
Get Channel History
Retrieves channel history.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Channel | Yes | Channel ID to get history from. Type @ to select a variable. |
| Limit | No | Number of messages to return (max 1000). Default is 20. |
| Oldest | No | Start of time range of messages to include (timestamp). Default is null. Type @ to select a variable. |
| Latest | No | End of time range of messages to include (timestamp). Default is null. Type @ to select a variable. |
List Users
Lists users.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Limit | No | Number of users to return (max 1000). Default is 100. |
| Cursor | No | Slack pagination cursor returned by a previous list_users call. Use this to fetch the next page. Default is null. Type @ to select a variable. |
List Dms
Lists dms.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Exclude Archived | No | Exclude archived DM conversations from the list. Default is true. |
| Limit | No | Number of DM conversations to return (max 1000). Default is 100. |
| Cursor | No | Slack pagination cursor returned by a previous list_dms call. Use this to fetch the next page. Default is null. Type @ to select a variable. |
Create Channel
Creates channel.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Name | Yes | Name of the channel to create. Type @ to select a variable. |
| Is Private | No | Whether to create a private channel. Default is false. |
Join Channel
Runs the join channel tool.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Channel | Yes | Channel ID or name to join. Type @ to select a variable. |
Add Reaction To Message
Adds reaction to message.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Channel | Yes | Channel ID where the message is located. Type @ to select a variable. |
| Timestamp | Yes | Message timestamp (e.g., '1710304378.475129'). You can also provide a Slack message link. Type @ to select a variable. |
| Reaction | Yes | Emoji name without colons (e.g., 'thumbsup', 'heart', 'tada'). Type @ to select a variable. |
Get Channel Members
Retrieves channel members.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Channel | Yes | Channel ID to get members from. Type @ to select a variable. |
| Limit | No | Number of members to return (max 1000). Default is 200. |
Search Messages
Searches messages.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Query | No | Base search query string to find messages. Can be combined with channel and date filters. Default is ``. Type @ to select a variable. |
| Count | No | Number of results to return per page (max 100). Default is 20. |
| Page | No | Page number for Slack search results (starts at 1, max 100). Default is 1. |
| Channel ID | No | Optional Slack channel ID or channel name to scope the search to a single conversation. Default is null. Type @ to select a variable. |
| Date From | No | Optional inclusive start date for the search. Accepts YYYY-MM-DD, ISO datetime, or Unix timestamp. Default is null. Type @ to select a variable. |
| Date To | No | Optional inclusive end date for the search. Accepts YYYY-MM-DD, ISO datetime, or Unix timestamp. Default is null. Type @ to select a variable. |
Find User By Email
Finds user by email.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Yes | Email address to search for. Type @ to select a variable. |
Find User By Handle
Finds user by handle.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Handle | Yes | User's display name/handle (without the leading @). Type @ to select a variable. |
Update Message
Updates message.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Channel | Yes | Channel ID (e.g. 'C0AHM0S40BY') where the message is located. IMPORTANT: You must pass the channel ID, not the channel name. If you only have the channel name, use search_channel first to get the ID. Type @ to select a variable. |
| Timestamp | Yes | Message timestamp (e.g., '1710304378.475129'). You can also provide a Slack message link. Type @ to select a variable. |
| Text | Yes | New text content for the message. Type @ to select a variable. |
Update Profile
Updates profile.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| First Name | No | User's first name. Default is null. Type @ to select a variable. |
| Last Name | No | User's last name. Default is null. Type @ to select a variable. |
| No | User's email address (changing email will send notifications). Default is null. Type @ to select a variable. | |
| User ID | No | ID of user to update (admin only, leave empty for self). Default is null. Type @ to select a variable. |
Set User Status
Runs the set user status tool.
| Field | Required | Description |
|---|---|---|
| Slack Account | Yes | Select your personal or team Slack account. |
| Text | Yes | Status text (max 100 characters). Type @ to select a variable. |
| Emoji | No | Status emoji (e.g., '🎉', '☕'). Default is null. Type @ to select a variable. |
| Expiration | No | Unix timestamp when the status expires (leave empty for no expiration). Default is null. |
Related
Agents can use this integration from chat. See Slack.
See all integrations on the toolkits overview.