Slackbot
Your Toolhouse AI Worker can connect to Slackbot using 88 specialized tools.
Auth Connection
This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under Auth Connections.
Tools (88)
Slackbot Add Call Participants
Slackbot Add Call ParticipantsIntegration name: SLACKBOT_ADD_CALL_PARTICIPANTS
Registers new participants added to a Slack call.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
id
string
✅
"R0123456789"
ID of the call returned by the add method.
users
string
✅
"[{\"slack_id\": \"U1H77\"}]"
The list of users to add as participants in the call. users is a JSON array (formatted as a string) containing information for each user. Each element must include a slack_id. For example: [{"slack_id": "U1H77"}] or [{"slack_id": "U1H77"}, {"slack_id": "U2ABC123"}].
Slackbot Add Reaction To An Item
Slackbot Add Reaction To An ItemIntegration name: SLACKBOT_ADD_REACTION_TO_AN_ITEM
Adds a specified emoji reaction to an existing message in a Slack channel, identified by its timestamp; does not remove or retrieve reactions.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
name
string
✅
"thumbsup"
Name of the emoji to add as a reaction (e.g., 'thumbsup'). This is the emoji name without colons. For emojis with skin tone modifiers, append '::skin-tone-X' where X is a number from 2 to 6 (e.g., 'wave::skin-tone-3'). The emoji must already exist in the workspace; custom or non-existent emoji names will fail silently.
channel
string
✅
"C1234567890"
ID of the channel where the message to add the reaction to was posted.
timestamp
string
✅
"1234567890.123456"
Timestamp of the message to which the reaction will be added. This is a unique identifier for the message, typically a string representing a float value like '1234567890.123456'. Must be the exact message timestamp; permalinks or approximate values will not work.
Slackbot Add Remote File
Slackbot Add Remote FileIntegration name: SLACKBOT_ADD_REMOTE_FILE
Adds a reference to an external file (e.g., Google Drive, Dropbox) to Slack for discovery and sharing, requiring a unique external_id and an external_url accessible by Slack.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
title
string
✅
"Project Proposal Q3.docx"
Title of the remote file to be displayed in Slack.
filetype
string
"pdf"
File type (e.g., 'pdf', 'docx', 'png') to help Slack display appropriate icons or previews.
external_id
string
✅
"file-abc-123-xyz-789"
Unique identifier for the file, defined by the calling application, used for future API references (e.g., updating, deleting).
external_url
string
✅
"https://example.com/path/to/your/file.pdf"
Publicly accessible or permissioned URL of the remote file, used by Slack to access its content or metadata.
preview_image
string
"(base64 encoded PNG data of a chart)"
Base64-encoded image (e.g., PNG, JPEG) used as the file's preview in Slack.
indexable_file_contents
string
"This document contains project plans for Q4, focusing on market expansion and new product development."
Plain text content of the file, indexed by Slack for search.
Slackbot Archive Conversation
Slackbot Archive ConversationIntegration name: SLACKBOT_ARCHIVE_CONVERSATION
Archives a Slack conversation by its ID, rendering it read-only and hidden while retaining history, ideal for cleaning up inactive channels; be aware that some channels (like #general or certain DMs) cannot be archived and this may impact connected integrations.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
"C1234567890"
ID of the Slack conversation to archive. This ID uniquely identifies a channel (e.g., public, private).
Slackbot Close Dm
Slackbot Close DmIntegration name: SLACKBOT_CLOSE_DM
Closes a Slack direct message (DM) or multi-person direct message (MPDM) channel, removing it from the user's sidebar without deleting history; this action affects only the calling user's view.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
✅
"D1234567890"
The ID of the direct message or multi-person direct message channel to close. Example: D1234567890 or G0123456789.
Slackbot Create A Reminder
Slackbot Create A ReminderIntegration name: SLACKBOT_CREATE_A_REMINDER
Creates a Slack reminder with specified text and time; time accepts Unix timestamps, seconds from now, or natural language (e.g., 'in 15 minutes', 'every Thursday at 2pm').
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
text
string
✅
"Submit weekly report"
The textual content of the reminder message.
time
string
✅
"1735689600"
Specifies when the reminder should occur. This can be a Unix timestamp (integer, up to five years from now), the number of seconds until the reminder (integer, if within 24 hours, e.g., '300' for 5 minutes), or a natural language description (string, e.g., "in 15 minutes," or "every Thursday at 2pm", "daily"). For recurring reminders, express the recurrence in this field using natural language (e.g., 'every day at 9am', 'every Monday at 10am'). Natural language is parsed relative to the user's workspace timezone; use Unix timestamps when target timezone is uncertain.
user
string
"U012AB3CD4E"
The ID of the user who will receive the reminder (e.g., 'U012AB3CD4E'). If not specified, the reminder will be sent to the user who created it. NOTE: Setting reminders for other users is no longer supported for user tokens - only bot tokens can set reminders for other users.
team_id
string
"T1234567890"
Encoded team id. Required if using an org-level token to specify which workspace the reminder should be created in.
Slackbot Create Canvas
Slackbot Create CanvasIntegration name: SLACKBOT_CREATE_CANVAS
Creates a new Slack Canvas with the specified title and optional content.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
title
string
"Project Planning"
The title of the canvas to create. If not provided, Slack will generate a default title.
channel_id
string
"C1234567890"
Optional channel ID (e.g., 'C1234567890'). If provided, the canvas will be automatically added as a tab in this channel with write permissions.
document_content
object
{"type":"markdown","markdown":"# Welcome\n\nThis is a new canvas"}
Optional canvas content in Slack's document format. If not provided, creates an empty canvas.
Slackbot Create Channel
Slackbot Create ChannelIntegration name: SLACKBOT_CREATE_CHANNEL
Initiates a public or private channel-based conversation in a Slack workspace. Immediately creates the channel; invoke only after explicit user confirmation.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
name
string
✅
"mychannel"
Name of the public or private channel to create Must be lowercase, unique, and contain no spaces or periods; max 80 characters.
team_id
string
"T1234567890"
encoded team id to create the channel in, required if org token is used
is_private
boolean
true
Create a private channel instead of a public one
Slackbot Create User Group
Slackbot Create User GroupIntegration name: SLACKBOT_CREATE_USER_GROUP
Creates a new User Group (often referred to as a subteam) in a Slack workspace.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
name
string
✅
"Customer Support"
Unique name for the User Group. Must be unique among all User Groups in the workspace.
handle
string
"support-team"
Unique mention handle. Must be unique across channels, users, and other User Groups. Max 21 chars; lowercase letters, numbers, hyphens, underscores only.
team_id
string
"T1234567890"
Encoded team ID where the User Group should be created. Required if using an org token. Will be ignored if the API call is sent using a workspace-level token.
channels
string
"C012AB3CD,C023BC4DE"
Comma-separated encoded channel IDs for default channels, suggested when mentioning or inviting the group.
description
string
"Manages all customer support inquiries."
Short description for the User Group.
include_count
boolean
—
Include the User Group's user count in the response. Server defaults to false if omitted.
enable_section
boolean
—
Configure this user group to show as a sidebar section for all group members. Only relevant if group has 1 or more default channels added.
additional_channels
string
"C012AB3CD,C023BC4DE"
Comma-separated encoded channel IDs for which the User Group can custom add usergroup members to.
Slackbot Customize Url Unfurl
Slackbot Customize Url UnfurlIntegration name: SLACKBOT_CUSTOMIZE_URL_UNFURL
Customizes URL previews (unfurling) in a specific Slack message using a URL-encoded JSON in unfurls to define custom content or remove existing previews.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
ts
string
"1234567890.123456"
Timestamp of the message to customize URL unfurling for. Must be provided with channel, or alternatively provide unfurl_id and source together.
source
string
"composer"
Link source: either 'composer' or 'conversations_history'. Must be provided with unfurl_id.
channel
string
"C1234567890"
Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name. Must be provided with ts, or alternatively provide unfurl_id and source together.
unfurls
string
"{\"https://example.com/article\": {\"text\": \"Article Preview\", \"color\": \"#36a64f\"}}"
JSON string mapping URLs to custom unfurl content (Slack attachment format or blocks). Pass as a plain JSON string (not URL-encoded). To remove an existing unfurl, provide an empty object for that URL.
metadata
string
"{\"entities\": [{\"url\": \"https://example.com\", \"type\": \"article\"}]}"
JSON object with 'entities' field providing Work Object array. Either unfurls or metadata is required. Pass as a JSON string.
unfurl_id
string
"Uxxxxxx-909b5454-75f8-4ac4-b325-1b40e230bbd8"
Link ID to unfurl. Must be provided with source. Alternative to using channel and ts parameters.
user_auth_url
string
"https://yourapp.com/slack/auth?user_id=U123&channel_id=C123"
URL-encoded custom URL for user authentication with your app to enable unfurling. Used when user_auth_required is true.
user_auth_blocks
string
"[{\"type\": \"section\", \"text\": {\"type\": \"mrkdwn\", \"text\": \"Please authenticate to see previews\"}}]"
JSON array of structured blocks (URL-encoded) sent as ephemeral authentication invitation. Alternative to user_auth_message for richer formatting. Used when user_auth_required is true.
user_auth_message
string
"Please authenticate with MyApp to see rich previews for example.com."
Ephemeral message text prompting user authentication with your app for domain-specific unfurling. Used when user_auth_required is true and authorization is pending.
user_auth_required
boolean
true
Set to true if user authentication is required to unfurl links for a domain, enabling an authentication flow using user_auth_url and user_auth_message.
Slackbot Delete Canvas
Slackbot Delete CanvasIntegration name: SLACKBOT_DELETE_CANVAS
Deletes a Slack Canvas permanently and irreversibly. Always confirm with the user before calling this tool.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
canvas_id
string
✅
"F01234ABCDE"
The unique identifier of the canvas to delete
Slackbot Delete File
Slackbot Delete FileIntegration name: SLACKBOT_DELETE_FILE
Permanently deletes an existing file from a Slack workspace using its unique file ID; this action is irreversible and also removes any associated comments or shares.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
✅
"F2147483002"
ID of the file to delete. Typically obtained when a file is uploaded or listed.
Slackbot Delete File Comment
Slackbot Delete File CommentIntegration name: SLACKBOT_DELETE_FILE_COMMENT
Deletes a specific comment from a file in Slack; this action is irreversible.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
id
string
✅
"Fc1234567890"
ID of the comment to delete. This can be obtained when the comment is created or by listing file comments.
file
string
✅
"F1234567890"
ID of the file to delete a comment from. The file ID can be obtained using the files.info method or when a file is shared.
Slackbot Delete Reminder
Slackbot Delete ReminderIntegration name: SLACKBOT_DELETE_REMINDER
Deletes an existing Slack reminder, typically when it is no longer relevant or a task is completed; this operation is irreversible.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T1234567890"
Encoded team id, required if org token is used.
reminder
string
✅
"Rm1234567890"
The unique identifier of the reminder to be deleted. This ID is obtained when a reminder is created or listed.
Slackbot Deletes A Message From A Chat
Slackbot Deletes A Message From A ChatIntegration name: SLACKBOT_DELETES_A_MESSAGE_FROM_A_CHAT
Deletes a message, identified by its channel ID and timestamp, from a Slack channel, private group, or direct message conversation; the authenticated user or bot must be the original poster.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
ts
string
"1234567890.123456"
Timestamp of the message to be deleted. Must be the exact Slack message timestamp string with fractional precision, e.g., '1234567890.123456'. Thread replies use their own ts; ephemeral messages and certain app-posted messages cannot be deleted via this method even with a valid timestamp.
as_user
boolean
—
Legacy parameter for classic Slack apps. Pass true to delete the message as the authed user. Bot tokens can only delete messages posted by that bot. This parameter is primarily for legacy apps and is generally not needed with modern bot tokens.
channel
string
"C1234567890"
The ID of the channel, private group, or direct message conversation containing the message to be deleted.
Slackbot Delete Scheduled Message
Slackbot Delete Scheduled MessageIntegration name: SLACKBOT_DELETE_SCHEDULED_MESSAGE
Deletes a pending, unsent scheduled message from the specified Slack channel, identified by its scheduled_message_id.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
as_user
boolean
true
Pass true to delete the message as the authed user with chat:write:user scope. Bot users in this context are considered authed users. If not provided, defaults to false.
channel
string
✅
"C1234567890"
ID of the channel, private group, or DM conversation where the message is scheduled.
scheduled_message_id
string
✅
"Q123ABCDEF456"
Unique ID (scheduled_message_id) of the message to be deleted; obtained from chat.scheduleMessage response.
Slackbot Disable User Group
Slackbot Disable User GroupIntegration name: SLACKBOT_DISABLE_USER_GROUP
Disables a specified, currently enabled Slack User Group by its unique ID, effectively archiving it by setting its 'date_delete' timestamp; the group is not permanently deleted and can be re-enabled.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T1234567890"
Encoded team ID where the User Group exists. Required if using an org-level token.
usergroup
string
✅
"S0123ABCDEF"
Unique encoded ID of the User Group to disable.
include_count
boolean
"true"
If true, include the number of users in the User Group in the response.
Slackbot Download File
Slackbot Download FileIntegration name: SLACKBOT_DOWNLOAD_FILE
Tool to download Slack file content and convert it to a publicly accessible URL. Use when you need to retrieve and download files that have been shared in Slack channels or conversations.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
✅
"F123ABCDEF0"
ID of the file to download. This is a required field. File IDs start with 'F' followed by alphanumeric characters (e.g., 'F123ABCDEF0').
page
integer
1
Page number of comment results to retrieve. Used for comment pagination. Slack's default is 1 if not provided. cursor-based pagination is generally preferred.
count
integer
20
Number of comments to retrieve per page. Used for comment pagination. Slack's default is 100 if not provided.
limit
integer
10
The maximum number of comments to retrieve. This is an upper limit, not a guarantee of how many will be returned. Primarily used for comment pagination.
cursor
string
"dXNlcjpVMDYxRkExNDIK"
Pagination cursor for retrieving comments. Set to next_cursor from a previous response's response_metadata to fetch the next page of comments. Essential for navigating through large sets of comments.
Slackbot Edit Canvas
Slackbot Edit CanvasIntegration name: SLACKBOT_EDIT_CANVAS
Edits a Slack Canvas with granular control over content placement. Supports replace, insert (before/after/start/end) operations for flexible content management.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
canvas_id
string
✅
"F01234ABCDE"
The unique identifier of the canvas to edit
operation
string
—
Type of edit operation: 'replace' (replaces entire canvas or specific section if section_id provided), 'insert_after' (inserts content after section_id), 'insert_before' (inserts content before section_id), 'insert_at_start' (prepends content to beginning), 'insert_at_end' (appends content to end), 'delete' (deletes specific section by section_id), 'rename' (renames canvas title using title_content)
section_id
string
"temp:C:VXX8e648e6984e441c6aa8c61173"
Section ID for targeted operations. Required for: 'insert_after', 'insert_before', 'delete'. Optional for: 'replace' (if omitted, replaces entire canvas). Not used for: 'insert_at_start', 'insert_at_end'. Use canvases.sections.lookup method to get section IDs from existing canvas.
title_content
object
{"type":"markdown","markdown":":rocket: Project Roadmap 2024"}
The new title for the canvas in markdown format. Required only for 'rename' operation. Supports markdown format including emojis (e.g., '✅').
document_content
object
{"type":"markdown","markdown":"# New Content\n\nContent here"}
The content to add/replace in Slack's document format. Required for all operations except 'delete' and 'rename'. Use canvases.sections.lookup to find section IDs for targeted operations.
Slackbot Enable Public Sharing Of A File
Slackbot Enable Public Sharing Of A FileIntegration name: SLACKBOT_ENABLE_PUBLIC_SHARING_OF_A_FILE
Enables public sharing for an existing Slack file by generating a publicly accessible URL; this action does not create new files. Once enabled, the file is accessible to anyone with the URL — verify intent before sharing sensitive or confidential files.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
✅
"F0123456789"
The ID of the file to be shared publicly.
Slackbot Enable User Group
Slackbot Enable User GroupIntegration name: SLACKBOT_ENABLE_USER_GROUP
Enables a disabled User Group in Slack using its ID, reactivating it for mentions and permissions; this action only changes the enabled status and cannot create new groups or modify other properties.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T1234567890"
Encoded team id where the user group is, required if org token is used. Ignored for workspace-level tokens.
usergroup
string
✅
"S0604QSJC"
The unique encoded ID of the User Group to enable. This ID typically starts with 'S'.
include_count
boolean
"true"
If true, includes the count of users in the User Group in the response.
Slackbot End Call
Slackbot End CallIntegration name: SLACKBOT_END_CALL
Ends an ongoing Slack call, identified by its ID (obtained from calls.add), optionally specifying the call's duration.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
id
string
✅
"R0123456789"
Unique identifier of the call to be ended, obtained from the calls.add method.
duration
integer
"600"
Duration of the call in seconds.
Slackbot Fetch Conversation History
Slackbot Fetch Conversation HistoryIntegration name: SLACKBOT_FETCH_CONVERSATION_HISTORY
Fetches a chronological list of messages and events from a specified Slack conversation, accessible by the authenticated user/bot, with options for pagination and time range filtering. IMPORTANT LIMITATION: This action only returns messages from the main channel timeline. Threaded replies are NOT returned by this endpoint. To retrieve threaded replies, use the SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION action (conversations.replies API) instead. The oldest/latest timestamp filters work reliably for filtering the main channel timeline, but cannot be used to retrieve individual threaded replies - even if you know the exact reply timestamp, setting oldest=latest to that timestamp will return an empty messages array. To get threaded replies: 1. Use this action to get parent messages (which include thread_ts, reply_count, latest_reply fields) 2. Use SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION with the parent's thread_ts to fetch all replies in that thread
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
limit
integer
"100"
Maximum number of messages to request in this single Slack API call (1-1000). Defaults to 100. Slack may return fewer than requested, especially for non-Marketplace apps where Slack can cap each page at 15 messages. This action does not internally paginate; use response_metadata.next_cursor in the cursor parameter of a follow-up call to fetch more messages.
cursor
string
"dXNlcjpVMDYxTkZUVDA="
Pagination cursor from response_metadata.next_cursor of a previous response. Omit this for the first page; pass the returned cursor in a follow-up call to fetch the next page.
latest
string
"1609459200.000000"
End of the time range of messages to include in results. Accepts a Unix timestamp or a Slack timestamp (e.g., '1234567890.000000'). NOTE: This filter only applies to main channel messages, not threaded replies. Use SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION to retrieve replies.
oldest
string
"1609372800.000000"
Start of the time range of messages to include in results. Accepts a Unix timestamp or a Slack timestamp (e.g., '1234567890.000000'). NOTE: This filter only applies to main channel messages, not threaded replies. Use SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION to retrieve replies.
channel
string
✅
"C1234567890"
The ID of the public channel, private channel, direct message, or multi-person direct message to fetch history from.
inclusive
boolean
true
When true, includes messages at the exact 'oldest' or 'latest' boundary timestamps in results. When false (default), excludes boundary messages. Only applies when 'oldest' or 'latest' is specified.
include_all_metadata
boolean
true
Return all metadata associated with messages in the conversation history. When true, includes additional metadata fields that may be present on messages.
Slackbot Fetch Item Reactions
Slackbot Fetch Item ReactionsIntegration name: SLACKBOT_FETCH_ITEM_REACTIONS
Fetches reactions for a Slack message, file, or file comment. Exactly one identifier path must be provided: channel+timestamp, file, or file_comment. Mixing identifiers (e.g., providing both channel+timestamp and file) causes errors. If the response omits the reactions field, the item has zero reactions.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
"F1234567890"
File ID. Use instead of channel/timestamp or file comment ID.
full
boolean
—
If true, returns the complete list of users for each reaction.
channel
string
"C1234567890"
Channel ID. Required if timestamp is provided and no file or file comment ID is given.
timestamp
string
"1234567890.123456"
Message timestamp (e.g., '1234567890.123456'). Required if channel is provided and no file or file comment ID is given. Thread reply timestamps are tracked separately from the parent message; use the reply's own timestamp to fetch its reactions.
file_comment
string
"Fc1234567890"
File comment ID. Use instead of channel/timestamp or file ID.
Slackbot Fetch Message Thread From A Conversation
Slackbot Fetch Message Thread From A ConversationIntegration name: SLACKBOT_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION
Retrieves replies to a specific parent message in a Slack conversation, using the channel ID and the parent message's timestamp (ts). Note: The parent message in the response contains metadata (reply_count, reply_users, latest_reply) that indicates expected thread activity. If the returned messages array contains fewer replies than reply_count indicates, check: (1) has_more=true means pagination is needed, (2) recently posted replies may have timing delays, (3) some replies may be filtered by permissions or deleted. The composio_execution_message field will warn about any detected mismatches.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
ts
string
"1234567890.123456"
Timestamp of the parent message in the thread. Must be an existing message. If no replies, only the parent message itself is returned. Must be the exact full timestamp string of the root/parent message — not a reply's ts, a truncated value, a permalink, or an integer; these silently return wrong results.
limit
integer
100
Maximum number of messages to return. Fewer may be returned even if more are available.
cursor
string
"dXNlcjpVMEc5V0ZYTlo="
Pagination cursor from response_metadata.next_cursor of a previous response to get subsequent pages. If omitted, fetches the first page.
latest
string
"1678886400.000000"
Latest message timestamp in the time range to include results.
oldest
string
"1678836000.000000"
Oldest message timestamp in the time range to include results. Must be a UTC-based Slack ts string; incorrect timezone conversion or rounding can produce empty result windows.
channel
string
"C0123456789"
ID of the conversation (channel, direct message, etc.) to fetch the thread from. Must be a channel ID, not a channel name. Token must have membership in private channels or DMs, otherwise returns empty results or not_in_channel/channel_not_found.
inclusive
boolean
true
Whether to include messages with latest or oldest timestamps in results. Effective only if latest or oldest is specified.
include_all_metadata
boolean
true
Return all metadata associated with messages in the thread. When true, includes additional metadata fields that may be present on messages.
Slackbot Fetch Team Info
Slackbot Fetch Team InfoIntegration name: SLACKBOT_FETCH_TEAM_INFO
Fetches comprehensive metadata about the current Slack team, or a specified team if the provided ID is accessible.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team
string
"T12345678"
The ID of the team to retrieve information for. If omitted, information for the current team (associated with the authentication token) is returned. The token must have permissions to view the specified team, especially for teams accessible via external shared channels.
domain
string
"myworkspace"
Query by domain instead of team (only when team is null). This only works for domains in the same enterprise as the querying team token. This also expects the domain to belong to a team and not the enterprise itself.
Slackbot Find Channels
Slackbot Find ChannelsIntegration name: SLACKBOT_FIND_CHANNELS
Find channels in a Slack workspace by any criteria - name, topic, purpose, or description. Returns channel IDs (C*/G* prefixed) required by most Slack tools — always resolve names to IDs here before passing to other tools. NOTE: This action searches channels and conversations visible to the authenticated user. Empty results may indicate: - No channels match the search query in name, topic, or purpose - The target private channel or DM is not accessible to the authenticated user because they are not a member - The connection lacks required read scopes (channels:read, groups:read, im:read, mpim:read). If empty, retry with exact_match=false or exclude_archived=false to avoid false negatives. In large workspaces, paginate using next_cursor to avoid missing matches. Check 'composio_execution_message' and 'total_channels_searched' in the response for details.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
limit
integer
10
Maximum number of channels to return (1 to 999). Defaults to 50. Slack recommends no more than 200 results at a time for optimal performance.
query
string
✅
"general"
Search query to find channels. Searches across channel name, topic, purpose, and description (case-insensitive partial matching). Leading '#' prefix is automatically stripped.
types
string
"public_channel"
Comma-separated list of channel types to include: public_channel, private_channel, mpim (multi-person direct message), im (direct message). Defaults to public and private channels.
team_id
string
"T1234567890"
The ID of the workspace to list channels from. Required when using an org-level token to specify which workspace to retrieve channels from. This field is ignored when using a workspace-level token.
exact_match
boolean
true
When true, only return channels whose name exactly matches the query (case-insensitive). Also matches against previous channel names and the 'general' flag. When false, returns partial matches across name, topic, and purpose. Defaults to false.
member_only
boolean
true
Only return channels the user is a member of. Defaults to false.
exclude_archived
boolean
true
Exclude archived channels from search results. Defaults to true.
Slackbot Find User By Email Address
Slackbot Find User By Email AddressIntegration name: SLACKBOT_FIND_USER_BY_EMAIL_ADDRESS
Retrieves the Slack user object for an active user by their registered email address; requires the users:read.email OAuth scope. Fails with 'users_not_found' if the email is unregistered, the user is inactive, the account is a guest, or the email is hidden by workspace privacy settings.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
email
string
✅
"sally.doe@example.com"
The email address of the user to look up.
Slackbot Find Users
Slackbot Find UsersIntegration name: SLACKBOT_FIND_USERS
Find users in a Slack workspace by any criteria - email, name, display name, or other text. Includes optimized email lookup for exact email matches. Zero results may reflect email visibility restrictions or workspace policies, not global absence. Repeated calls may trigger HTTP 429; honor the Retry-After header.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
email
string
"john.doe@company.com"
Email address to search for. This is a convenience parameter that automatically performs an email-based search. Either email or search_query parameter is required.
limit
integer
10
Maximum number of users to return (1 to 1000). Slack recommends no more than 200 for optimal performance. Defaults to 50. Large workspaces may require pagination or repeated queries to cover all users.
team_id
string
"T123456789"
The ID of the Slack workspace (e.g., 'T123456789'). Required when using an org-level token. For workspace-level tokens, this is optional and will be ignored.
exact_match
boolean
true
When true, only returns users with exact matches on name, display name, real name, first name, last name, or email fields (case-insensitive). For email queries, uses Slack's dedicated email lookup endpoint. When false, allows partial/substring matching. Defaults to false.
include_bots
boolean
true
Include bot users in search results. Defaults to false.
search_query
string
"U012ABCDEF"
Search query to find users. Can be a Slack user ID (e.g., 'U012ABCDEF'), email address, or name. For user IDs (starting with 'U' or 'W'), uses Slack's users.info API directly. For email addresses with exact_match=true, uses Slack's email lookup endpoint. For other queries, searches across name, display name, real name, email, first name, last name, and status text (case-insensitive partial matching). Either search_query (or 'query' as alias), or email parameter is required. Name-based queries can return multiple matches — verify exactly one user ID before passing to downstream tools like SLACK_OPEN_DM or SLACK_SEND_MESSAGE; disambiguate using email or real_name fields.
include_locale
boolean
true
Include the locale field for each user. Defaults to false.
include_deleted
boolean
true
Include deleted/deactivated users in search results. Defaults to false.
include_restricted
boolean
true
Include restricted (guest) users in search results. Defaults to true.
Slackbot Get Bot User
Slackbot Get Bot UserIntegration name: SLACKBOT_GET_BOT_USER
Fetches information for a specified, existing Slack bot user; will not work for regular user accounts or other integration types.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
bot
string
"B0123456789"
The ID of the bot user to retrieve information for. This typically starts with 'B'.
team_id
string
"T1234567890"
The ID of the workspace/team. Required when using an org-level token. This typically starts with 'T'.
Slackbot Get Call Info
Slackbot Get Call InfoIntegration name: SLACKBOT_GET_CALL_INFO
Retrieves a point-in-time snapshot of a specific Slack call's information.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
id
string
✅
"R1234567890"
Unique identifier of the Slack call for which to retrieve information. This ID is typically returned when a call is initiated (e.g., by the calls.add method).
Slackbot Get Canvas
Slackbot Get CanvasIntegration name: SLACKBOT_GET_CANVAS
DEPRECATED: Use SLACK_RETRIEVE_DETAILED_INFORMATION_ABOUT_A_FILE instead. Retrieves a specific Slack Canvas by its ID, including its content and metadata.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
page
integer
—
Page number for comment pagination (1-based, max 100). Works with count parameter.
count
integer
—
Maximum number of comments to return per page (1-1000). Controls pagination of the comments field in the response.
limit
integer
—
Maximum number of comments to return (alternative to count parameter). Recommended to use 200 or less for cursor-based pagination.
cursor
string
—
Cursor for pagination of comments. Use the next_cursor value from response_metadata to retrieve the next page. This is the preferred pagination method over page parameter.
canvas_id
string
✅
"F01234ABCDE"
The unique identifier of the canvas to retrieve The app must have access to the canvas; private or restricted canvases are not retrievable even with a valid ID.
Slackbot Get Reminder
Slackbot Get ReminderIntegration name: SLACKBOT_GET_REMINDER
Retrieves detailed information for an existing Slack reminder specified by its ID; this is a read-only operation.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T1234567890"
Encoded team id. Required if org token is passed.
reminder
string
✅
"Rm12345678"
The unique identifier of the reminder to retrieve information for. This ID typically starts with 'Rm'.
Slackbot Get Remote File
Slackbot Get Remote FileIntegration name: SLACKBOT_GET_REMOTE_FILE
Retrieve information about a remote file added to Slack via the files.remote API. Does not work for standard Slack-hosted file uploads.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
"F2147483862"
Specify a file by providing its ID.
external_id
string
"123456"
Creator defined GUID for the file.
Slackbot Get Team Profile
Slackbot Get Team ProfileIntegration name: SLACKBOT_GET_TEAM_PROFILE
Retrieves all profile field definitions for a Slack team, optionally filtered by visibility, to understand the team's profile structure.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T0984HGHPJ6"
The team_id is only relevant when using an org-level token. This field will be ignored if the API call is sent using a workspace-level token.
visibility
string
"all"
Enum for visibility filter values.
Slackbot Get User Dnd Status
Slackbot Get User Dnd StatusIntegration name: SLACKBOT_GET_USER_DND_STATUS
Retrieves a user's current Do Not Disturb status.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
users
string
✅
"U1234,U5678"
Comma-separated list of users to fetch Do Not Disturb status for
team_id
string
"T1234567890"
The workspace ID (team_id) to fetch DND status from. Required when using an org-level token in Enterprise Grid organizations.
Slackbot Get User Presence
Slackbot Get User PresenceIntegration name: SLACKBOT_GET_USER_PRESENCE
Retrieves a Slack user's current real-time presence (e.g., 'active', 'away') to determine their availability, noting this action does not provide historical data or status reasons.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
user
string
"U012A3CDE"
The ID of the user to query for presence information. This is a string identifier, typically starting with 'U' or 'W' (e.g., 'U123ABC456'). If not provided, presence information for the authenticated user will be returned.
Slackbot Invite Users To A Channel
Slackbot Invite Users To A ChannelIntegration name: SLACKBOT_INVITE_USERS_TO_A_CHANNEL
Invites users to an existing Slack channel using their valid Slack User IDs. Response is always HTTP 200; inspect ok, error, and errors fields to confirm users were added.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
force
boolean
true
When set to true and multiple user IDs are provided, continue inviting the valid ones while disregarding invalid IDs. Default is false.
users
string
"U1234567890,U2345678901,U3456789012"
Comma-separated string of valid Slack User IDs to invite. Up to 1000 user IDs can be included.
channel
string
"C1234567890"
ID of the public or private Slack channel to invite users to; must be an existing channel. Typically starts with 'C' (public) or 'G' (private/group). Bot must already be a member of private channels to invite others. Archived channels will cause failure.
Slackbot Join An Existing Conversation
Slackbot Join An Existing ConversationIntegration name: SLACKBOT_JOIN_AN_EXISTING_CONVERSATION
Joins an existing Slack conversation (public channel, private channel, or multi-person direct message) by its ID, if the authenticated user has permission. Joining an already-joined channel returns a non-fatal no-op response. Private or restricted channel joins may fail with a permission error.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
✅
"C1234567890"
ID of the Slack conversation (public channel, private channel, or multi-person direct message) to join.
Slackbot Leave Conversation
Slackbot Leave ConversationIntegration name: SLACKBOT_LEAVE_CONVERSATION
Leaves a Slack conversation given its channel ID; fails if leaving as the last member of a private channel or if used on a Slack Connect channel.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
✅
"C1234567890"
ID of the conversation to leave (e.g., C1234567890).
Slackbot List All Channels
Slackbot List All ChannelsIntegration name: SLACKBOT_LIST_ALL_CHANNELS
Lists conversations available to the user with various filters and search options. Always use resolved channel_id (not display names) for downstream operations, as names may be non-unique. The created field in results is a Unix epoch timestamp (UTC). Pagination across large workspaces may return HTTP 429 with a Retry-After header; honor the delay and resume from the last successful cursor.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
limit
integer
100
Maximum number of channels to return per page (1 to 1000). Fewer channels may be returned than requested. This schema defaults to 1 if omitted.
types
string
"public_channel,private_channel"
Comma-separated list of conversation types to include: public_channel (regular #channels everyone can join), private_channel (invite-only channels), im (1-on-1 direct messages), mpim (group direct messages with 3+ people). Defaults to public_channel if omitted. Private channels, IMs, and MPIMs only appear if the authenticated user/bot is a member and the token has the required scopes; absence from results reflects access limits, not non-existence.
cursor
string
"dXNlcjpVMDYxTkZUVDI="
Pagination cursor (from a previous response's next_cursor) for the next page of results. Omit for the first page. Loop on response_metadata.next_cursor until it is empty to retrieve all channels; stopping early silently omits results.
team_id
string
"T1234567890"
Encoded team id to list channels in. Required if using an org-level token.
exclude_archived
boolean
true
Excludes archived channels if true. The API defaults to false (archived channels are included).
Slackbot List All Users
Slackbot List All UsersIntegration name: SLACKBOT_LIST_ALL_USERS
Retrieves a paginated list of all users with profile details, status, and team memberships in a Slack workspace; data may not be real-time. Filter response fields is_bot, is_app_user, and deleted to build human-only rosters. Profile fields like email and phone may be absent depending on OAuth scopes and workspace privacy settings. Guest/restricted accounts may be omitted based on scopes—do not treat results as a complete directory. High-frequency calls risk HTTP 429; honor the Retry-After header and throttle to ~1–2 requests/second. Use stable user IDs rather than display names for mapping. Prefer SLACK_FIND_USERS for targeted lookups; cache results to avoid full-workspace fetches.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
limit
integer
"20"
Maximum number of items to return per page; fewer may be returned if the end of the list is reached. Recommended to set a value (e.g., 100) as Slack may error for large workspaces if omitted.
cursor
string
"dXNlcjpVMDYxREk0STM="
Pagination cursor for fetching subsequent pages. Set to next_cursor from a previous response's response_metadata. Omit for the first page. Paginate until next_cursor is empty—stopping early silently undercounts users. Page size is capped at ~200 users.
team_id
string
"T0984H91R2N"
The workspace/team ID to list users from. Required when using an org-level token (Enterprise Grid). This field is ignored when using a workspace-level token. Use admin.teams.list to get available team IDs.
include_locale
boolean
"true"
Include the locale field for each user. Defaults to false.
Slackbot List Canvases
Slackbot List CanvasesIntegration name: SLACKBOT_LIST_CANVASES
DEPRECATED: Use SLACK_LIST_FILES_WITH_FILTERS_IN_SLACK instead (pass types="canvas" for equivalent behavior). Lists Slack Canvases with filtering by channel, user, timestamp, and page-based pagination. Uses Slack's files.list API with types=canvas filter. Only canvases accessible to the authenticated app are returned; missing canvases indicate permissions restrictions, not empty data. Use paging.pages in the response to determine total pages; iterate page with count to retrieve all results. Known limitations: - The 'user' filter may return canvases accessible to the specified user, not just canvases they created. - The 'ts_from' and 'ts_to' timestamp filters may not work reliably for canvas types. Consider client-side filtering on the 'created' field in the response if precise date filtering is required.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
page
integer
—
Page number for pagination (1-based)
user
string
"U1234567890"
Optional user ID to filter canvases created by a specific user. Note: This filter may return canvases accessible to the user (not just created by them) due to Slack API behavior with canvas types.
count
integer
—
Maximum number of canvases to return per page (1-1000)
ts_to
integer
1678972800
Filter canvases created before this Unix timestamp (inclusive). Pass as integer epoch seconds. Note: This filter may not work reliably for canvas types in the Slack API.
channel
string
"C1234567890"
Optional channel ID (e.g., 'C1234567890') to filter canvases. Must be a channel ID, not name.
team_id
string
"T1234567890"
Team/Workspace ID for Enterprise Grid organizations (starts with 'T'). Required when using org-level tokens. For single-workspace installations, this parameter is optional and will be ignored.
ts_from
integer
1678886400
Filter canvases created after this Unix timestamp (inclusive). Pass as integer epoch seconds. Note: This filter may not work reliably for canvas types in the Slack API.
show_files_hidden_by_limit
boolean
—
Display truncated file metadata for older files when workspace has exceeded file limits. When true, shows metadata for files that would normally be hidden due to workspace storage limits.
Slackbot List Conversations
Slackbot List ConversationsIntegration name: SLACKBOT_LIST_CONVERSATIONS
List conversations (channels/DMs) accessible to a specified user (or the authenticated user if no user ID is provided), respecting shared membership for non-public channels. Returns conversation IDs (C* for channels, G* for group DMs), not display names. Absence of private channels, DMs, or MPIMs from results indicates token scope or membership limits, not that the conversation is nonexistent.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
user
string
"U123ABC456"
The ID of the user whose conversations will be listed. If not provided, conversations for the authenticated user are returned. Non-public channels are restricted to those where the calling user (authenticating user) shares membership.
limit
integer
"100"
The maximum number of items to return per page. Must be an integer, typically between 1 and 1000 (e.g., 100). If omitted, the API's default limit (often 100) applies. Fewer items than the limit may be returned.
types
string
"public_channel,private_channel"
Comma-separated list of conversation types to include: public_channel (regular #channels everyone can join), private_channel (invite-only channels), im (1-on-1 direct messages), mpim (group direct messages with 3+ people). If omitted, all types are included. If omitted, the API defaults to public_channel only — explicitly specify all desired types to include private channels, DMs, or MPIMs. For im results, only user IDs are returned; use a user-lookup tool to resolve display names.
cursor
string
"dXNlcjpVMDYxREk0Nlc="
Pagination cursor for retrieving the next set of results. Obtain this from the next_cursor field in a previous response's response_metadata. If omitted, the first page is fetched. Must loop on next_cursor until it is empty to avoid silently missing conversations.
team_id
string
"T1234567890"
The team (workspace) ID to filter conversations by. Required for Enterprise Grid tokens to specify which workspace. Can be obtained from team.info API.
exclude_archived
boolean
"true"
Set to true to exclude archived channels from the list. If false or omitted, archived channels are typically included (the API's default behavior for omission will apply, usually including them).
Slackbot List Custom Emojis
Slackbot List Custom EmojisIntegration name: SLACKBOT_LIST_CUSTOM_EMOJIS
Retrieves all custom emojis for the Slack workspace (image URLs or aliases), not standard Unicode emojis; does not include usage statistics or creation dates.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
include_categories
boolean
—
Include a list of categories for Unicode emoji and the emoji in each category. When true, the response will include 'categories' and 'categories_version' fields.
Slackbot List Files With Filters In Slack
Slackbot List Files With Filters In SlackIntegration name: SLACKBOT_LIST_FILES_WITH_FILTERS_IN_SLACK
Lists files and their metadata within a Slack workspace, filterable by user, channel, timestamp, or type; returns metadata only, not file content. Results are limited to files visible to the authenticated user — files in private channels or restricted to certain members require appropriate membership and permissions. For large workspaces, check paging.pages in the response to determine total pages when paginating.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
page
string
"1"
Specifies the page number of the results to retrieve when paginating. Default is 1.
user
string
"W1234567890"
Filter files created by a single user. Provide the Slack User ID.
count
string
"100"
Specifies the number of files to return per page. Default is 100, maximum is 1000.
ts_to
integer
"1678972800"
Filter files created before this Unix timestamp (inclusive).
types
string
"images"
Filter by file type (comma-separated). Valid types: all (everything), spaces (Posts/long-form content), snippets (code snippets), images, pdfs, gdocs (Google Docs), zips. Defaults to 'all'.
channel
string
"C1234567890"
Filter files appearing in a specific channel, indicated by its Slack Channel ID.
team_id
string
"T1234567890"
The team/workspace ID to list files from. Required for Enterprise Grid workspaces.
ts_from
integer
"1678886400"
Filter files created after this Unix timestamp (inclusive).
show_files_hidden_by_limit
boolean
true
Show truncated file info for files hidden due to being too old or if the team owning the file is over the storage limit.
Slackbot List Pinned Items
Slackbot List Pinned ItemsIntegration name: SLACKBOT_LIST_PINNED_ITEMS
Retrieves all messages and files pinned to a specified channel; the caller must have access to this channel.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
✅
"C1234567890"
The ID of the channel to retrieve pinned items from. This can be a public channel ID, private group ID, or direct message channel ID.
Slackbot List Reminders
Slackbot List RemindersIntegration name: SLACKBOT_LIST_REMINDERS
Lists all reminders with their details for the authenticated Slack user; returns an empty array if no reminders exist (valid state, not an error). Reminder text is not unique—perform client-side matching on returned objects before extracting a reminder ID for use with SLACK_DELETE_A_SLACK_REMINDER.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T1234567890"
Encoded team id. Required if org token is passed. Omitting this when using an org-level token will cause the call to fail.
Slackbot List Remote Files
Slackbot List Remote FilesIntegration name: SLACKBOT_LIST_REMOTE_FILES
Retrieve information about a team's remote files.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
limit
integer
20
The maximum number of items to return.
ts_to
number
123456789.012345
Filter files created before this timestamp (inclusive).
cursor
string
"dXNlcjpVMDYxTkZUVDI="
Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail.
channel
string
"C1234567890"
Filter files appearing in a specific channel, indicated by its ID.
ts_from
number
123456789.012345
Filter files created after this timestamp (inclusive).
Slackbot List User Group Members
Slackbot List User Group MembersIntegration name: SLACKBOT_LIST_USER_GROUP_MEMBERS
Retrieves a list of all user IDs within a specified Slack user group, with an option to include users from disabled groups.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T1234567890"
The encoded ID of the team/workspace. Only relevant when using an org-level token. This field will be ignored if the API call is sent using a workspace-level token.
usergroup
string
✅
"S0604QSJC"
The encoded ID of the User Group to list users from. This ID is an alphanumeric string.
include_disabled
boolean
—
Set to true to include users from disabled user groups. If omitted, the default Slack API behavior for handling disabled groups (typically excluding them) will apply.
Slackbot List User Groups
Slackbot List User GroupsIntegration name: SLACKBOT_LIST_USER_GROUPS
Lists user groups in a Slack workspace, including user-created and default groups; results for large workspaces may be paginated.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
team_id
string
"T1234567890"
Encoded team ID to list user groups in. Required when using an org-level token.
include_count
boolean
"true"
Include the number of users in each user group. Defaults to false.
include_users
boolean
"true"
Include the list of user IDs for each user group. Defaults to false.
include_disabled
boolean
"true"
Include disabled user groups in the results. Defaults to false.
Slackbot List User Reactions
Slackbot List User ReactionsIntegration name: SLACKBOT_LIST_USER_REACTIONS
Lists all reactions added by a specific user to messages, files, or file comments in Slack, useful for engagement analysis when the item content itself is not required. Results are paginated; check response_metadata.next_cursor and iterate with the cursor parameter to retrieve complete reaction history.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
full
boolean
—
If true, return the complete reaction list, which may include reactions to deleted items. Significantly inflates payload size; enable only when reactions to deleted items are explicitly needed.
page
integer
"1"
Page number of results to return.
user
string
"U012A3CDEFG"
Reactions made by this user. Defaults to the authed user.
count
integer
"20"
Number of items to return per page.
limit
integer
"100"
Maximum number of items to return; fewer items may be returned. Use with cursor-based pagination.
cursor
string
"dXNlcjpVMDYxTkZ0NUI="
Pagination cursor. Set to next_cursor from a previous response's response_metadata. See Slack API pagination documentation for details.
team_id
string
"T1234567890"
Required when using an org-level token. The ID of the workspace to list reactions from.
Slackbot Lookup Canvas Sections
Slackbot Lookup Canvas SectionsIntegration name: SLACKBOT_LOOKUP_CANVAS_SECTIONS
Looks up section IDs in a Slack Canvas for use with targeted edit operations. Section IDs are needed for insert_after, insert_before, delete, and section-specific replace operations.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
criteria
object
✅
{"contains_text":"grocery"}
Search criteria to find sections. Use 'contains_text' to search for text within sections. Returns section IDs that match the criteria.
canvas_id
string
✅
"F01234ABCDE"
The unique identifier of the canvas to lookup sections in
Slackbot Open Dm
Slackbot Open DmIntegration name: SLACKBOT_OPEN_DM
Opens or resumes a Slack direct message (DM) or multi-person direct message (MPIM) by providing either user IDs or an existing channel ID. Returns already_open=true when the DM exists — treat as success and reuse the returned channel.id (starts with 'D') for subsequent SLACK_SEND_MESSAGE calls; passing a username, email, or user ID directly to SLACK_SEND_MESSAGE causes channel_not_found. Avoid redundant calls when an existing DM channel ID is available.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
users
string
"U0123456789"
Comma-separated string of user IDs (1 for a DM, or 2-8 for an MPIM) to open/resume a conversation. Order is preserved for MPIMs. Either channel or users must be provided. Accepts list input (will be converted to comma-separated string). Also accepts user_ids as alias. Do not pass emails, display names, or workspace usernames — only Slack user IDs (e.g., U0123456789). Do not provide both users and channel simultaneously.
channel
string
"D0123456789"
ID or name of an existing DM or MPIM channel to open/resume. Either channel or users must be provided.
return_im
boolean
—
If true, returns the full DM channel object. Applies only when opening a DM via a single user ID in users (not with channel).
prevent_creation
boolean
—
Do not create a direct message or multi-person direct message. This is used to see if there is an existing dm or mpdm.
Slackbot Pin Item
Slackbot Pin ItemIntegration name: SLACKBOT_PIN_ITEM
Pins a message to a specified Slack channel; the message must not already be pinned.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
✅
"C1234567890"
The ID of the channel where the message will be pinned.
timestamp
string
✅
"1624464000.000200"
Timestamp of the message to pin, in ‘epoch_time.microseconds’ format (e.g., ‘1624464000.000200’). This is required by the Slack pins.add API.
Slackbot Remove Call Participants
Slackbot Remove Call ParticipantsIntegration name: SLACKBOT_REMOVE_CALL_PARTICIPANTS
Registers participants removed from a Slack call.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
id
string
✅
"R0123456789"
ID of the call returned by the add method.
users
string
✅
"[{\"slack_id\": \"U1H77\", \"external_id\": \"ext-id\"}]"
The list of users to remove as participants in the call. users is a JSON array with each user having a slack_id or external_id.
Slackbot Remove Reaction From Item
Slackbot Remove Reaction From ItemIntegration name: SLACKBOT_REMOVE_REACTION_FROM_ITEM
Removes an emoji reaction from a message, file, or file comment in Slack. Provide exactly one targeting method: channel+timestamp together, file, or file_comment. Mixing methods or omitting all returns invalid_arguments.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
—
ID of the file to remove the reaction from.
name
string
✅
"thumbsup"
Name of the emoji reaction to remove (e.g., 'thumbsup'), without colons. Must be Slack's canonical emoji name; non-canonical names return a 'no_reaction' error.
channel
string
—
Channel ID of the message. Required if timestamp is provided.
timestamp
string
—
Timestamp of the message. Required if channel is provided.
file_comment
string
—
ID of the file comment to remove the reaction from.
Slackbot Remove Remote File
Slackbot Remove Remote FileIntegration name: SLACKBOT_REMOVE_REMOTE_FILE
Removes the Slack reference to an external file (which must have been previously added via the remote files API), specified by either its external_id or file ID (one of which is required), without deleting the actual external file.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
"F0123ABCDEF"
Slack-specific file ID.
token
string
—
Authentication token.
external_id
string
"my-unique-file-guid-12345"
Creator-defined, globally unique ID (GUID) for the file.
Slackbot Remove User From Conversation
Slackbot Remove User From ConversationIntegration name: SLACKBOT_REMOVE_USER_FROM_CONVERSATION
Removes a specified user from a Slack conversation (channel); the caller must have permissions to remove users and cannot remove themselves using this action.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
user
string
"U012A3BCD4E"
The ID of the user to be removed from the conversation.
channel
string
"C012AB3CD4E"
ID of the conversation (channel) to remove the user from.
Slackbot Rename Conversation
Slackbot Rename ConversationIntegration name: SLACKBOT_RENAME_CONVERSATION
Renames a Slack channel, automatically adjusting the new name to meet naming conventions (e.g., converting to lowercase), which may affect integrations using the old name.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
name
string
"new-channel-name"
New name for the conversation. Must be 80 characters or less and contain only lowercase letters, numbers, hyphens, and underscores.
channel
string
"C012AB3CD"
ID of the conversation (channel) to rename.
Slackbot Retrieve Conversation Information
Slackbot Retrieve Conversation InformationIntegration name: SLACKBOT_RETRIEVE_CONVERSATION_INFORMATION
Retrieves metadata for a Slack conversation by ID (e.g., name, purpose, creation date, with options for member count/locale), excluding message content. The channel parameter is effectively required. Private channels, DMs, or channels where the app lacks membership may return restricted data; check is_archived and is_member fields in the response to diagnose access issues. Bulk lookups may trigger HTTP 429 rate limiting; honor the Retry-After response header.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
"C1234567890"
The ID of the conversation (channel, direct message, or multi-person direct message) to retrieve information for. Effectively required — omitting this parameter yields no useful data despite being marked optional.
include_locale
boolean
—
If true, the response will include the locale setting for the conversation. Defaults to false.
include_num_members
boolean
—
If true, the response will include the number of members in the conversation. Defaults to false.
Slackbot Retrieve Conversation Members List
Slackbot Retrieve Conversation Members ListIntegration name: SLACKBOT_RETRIEVE_CONVERSATION_MEMBERS_LIST
Retrieves a paginated list of active member IDs (not names, emails, or presence) for a specified Slack public channel, private channel, DM, or MPIM. Returns only user IDs; use a user-lookup tool to enrich member data.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
limit
integer
"100"
The maximum number of members to return per page. Fewer items may be returned than the requested limit, even if more members exist and the end of the list hasn't been reached.
cursor
string
"dXNlcj1VMEc5V0ZYTlo="
Pagination cursor value for fetching specific pages of results. To retrieve the next page, provide the next_cursor value obtained from the response_metadata of the previous API call. If omitted or empty, the first page of members is fetched. For more details on pagination, refer to Slack API documentation. Loop by passing next_cursor into subsequent calls until next_cursor is empty to avoid silently truncating large member lists.
channel
string
"C1234567890"
ID of the conversation (public channel, private channel, direct message, or multi-person direct message) for which to retrieve the member list. Public channel IDs typically start with 'C', private channels or multi-person direct messages (MPIMs) with 'G', and direct messages (DMs) with 'D'. Channel names are NOT accepted — only IDs. Obtain IDs via SLACK_FIND_CHANNELS or SLACK_LIST_CONVERSATIONS. For private channels and MPIMs, the app must have required scopes and be a member of the conversation, otherwise members may not be returned.
Slackbot Retrieve Current User Dnd Status
Slackbot Retrieve Current User Dnd StatusIntegration name: SLACKBOT_RETRIEVE_CURRENT_USER_DND_STATUS
Retrieves a Slack user's current Do Not Disturb (DND) status to determine their availability before interaction; any specified user ID must be a valid Slack user ID.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
user
string
"U012ABCDEF"
User ID to fetch DND status for. If not provided, fetches the DND status for the authenticated user.
team_id
string
"T1234567890"
Encoded team ID where the passed user param belongs. Required if an org token is used. If no user param is passed, then a team which has access to the app should be passed.
Slackbot Retrieve Detailed Information About A File
Slackbot Retrieve Detailed Information About A FileIntegration name: SLACKBOT_RETRIEVE_DETAILED_INFORMATION_ABOUT_A_FILE
Retrieves detailed metadata and paginated comments for a specific Slack file ID; does not download file content.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
✅
"F123ABCDEF0"
ID of the file to retrieve information for. This is a required field.
page
integer
1
Page number of comment results to retrieve. Used for comment pagination. Slack's default is 1 if not provided. cursor-based pagination is generally preferred.
count
integer
20
Number of comments to retrieve per page. Used for comment pagination. Slack's default is 100 if not provided.
limit
integer
"10"
The maximum number of comments to retrieve. This is an upper limit, not a guarantee of how many will be returned. Primarily used for comment pagination.
cursor
string
"dXNlcjpVMDYxRkExNDIK"
Pagination cursor for retrieving comments. Set to next_cursor from a previous response's response_metadata to fetch the next page of comments. Essential for navigating through large sets of comments. See pagination for more details.
Slackbot Retrieve Detailed User Information
Slackbot Retrieve Detailed User InformationIntegration name: SLACKBOT_RETRIEVE_DETAILED_USER_INFORMATION
Retrieves comprehensive information for a valid Slack user ID, excluding message history and channel memberships. Sensitive fields like email and phone require the users:read.email scope and may be silently omitted based on workspace privacy policies.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
user
string
"U012ABCDEF"
The ID of the user to retrieve information for. Must be a Slack user ID (U- or W-prefixed); passing emails, display names, or other non-ID strings returns a user_not_found error.
include_locale
boolean
—
Set to true to include the user's locale (e.g., en-US) in the response. Defaults to false.
Slackbot Retrieve User Profile Information
Slackbot Retrieve User Profile InformationIntegration name: SLACKBOT_RETRIEVE_USER_PROFILE_INFORMATION
Retrieves profile information for a specified Slack user (defaults to the authenticated user if user ID is omitted); a provided user ID must be valid. Sensitive fields like email and phone may be silently omitted if required scopes (e.g., users:read.email) are not granted or workspace privacy policies restrict access.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
user
string
"U012A3CDE"
User ID to retrieve profile information for; defaults to the authenticated user.
include_labels
boolean
true
Include human-readable labels for custom profile fields. API defaults to false.
Slackbot Revoke File Public Sharing
Slackbot Revoke File Public SharingIntegration name: SLACKBOT_REVOKE_FILE_PUBLIC_SHARING
Revokes a Slack file's public URL, making it private; this is a no-op if not already public and is irreversible.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
✅
"F123ABC456"
The ID of the file for which to revoke the public URL. This unique identifier typically starts with 'F'.
Slackbot Schedule Message
Slackbot Schedule MessageIntegration name: SLACKBOT_SCHEDULE_MESSAGE
Schedules a message to a Slack channel, DM, or private group for a future time (post_at), requiring text, blocks, or attachments for content; scheduling is limited to 120 days in advance.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
text
string
"Hello, world!"
This sends raw text only, use markdown_text field for formatting. Primary text of the message; formatting with mrkdwn applies. Required if blocks and attachments are not provided.
parse
string
"none"
Message text treatment: full for special formatting, none otherwise (default). See Slack's chat.postMessage docs for options.
blocks
string
`"[{"type": "section", "text": {"type": "mrkdwn", "text": "New Paid Time Off request from <example.com
Fred Enriquez>"}}]"`
channel
string
"C1234567890"
Channel, private group, or DM channel ID (e.g., C1234567890) or name (e.g., #general) to send the message to. Bot must be a member of the target channel; missing membership returns not_in_channel error.
post_at
string
"1678886400"
Unix EPOCH timestamp (integer seconds since 1970-01-01 00:00:00 UTC) for the future message send time. Must be strictly greater than current time (past values return time_in_past error). Always convert local times to UTC epoch seconds before use; Slack evaluates in UTC only.
thread_ts
string
"1405894322.002768"
Timestamp of the parent message for the scheduled message to be a thread reply. Must be float seconds (e.g., 1234567890.123456).
link_names
boolean
—
Pass true to automatically link channel names (e.g., #general) and usernames (e.g., @user). NOTE: This parameter is deprecated by Slack; the linking behavior is primarily controlled by Slack's default message parsing. For explicit control, use the 'parse' parameter instead (set to 'full' to enable auto-linking).
attachments
string
"[{\"fallback\": \"Summary text\", \"color\": \"#36a64f\", \"title\": \"Title\", \"text\": \"Content\", \"fields\": [{\"title\": \"Field\", \"value\": \"Value\", \"short\": true}]}]"
This is Slack's legacy 'secondary attachments' field for adding rich formatting elements like colored sidebars, structured fields, and author info. Pass as a JSON string array. NOT for file/image uploads. To send files or images, use 'SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK' instead.
unfurl_links
boolean
—
Pass false to disable automatic link unfurling. Defaults to true. NOTE: Due to a known Slack API limitation, this parameter may not be respected for scheduled messages (works correctly for chat.postMessage but may be ignored by chat.scheduleMessage).
unfurl_media
boolean
—
Pass false to disable automatic media unfurling. Defaults to true. NOTE: Due to a known Slack API limitation, this parameter may not be respected for scheduled messages (works correctly for chat.postMessage but may be ignored by chat.scheduleMessage).
markdown_text
string
"# Scheduled Reminder\n\nDon't forget about the **team meeting** tomorrow at *2 PM*!\n\n```\nZoom: https://zoom.us/meeting-id\n```"
PREFERRED: Write your scheduled message in markdown for nicely formatted display. Supports headers (#), bold (text), italic (text), strikethrough (text), code (```), links (text), quotes (>), and dividers (---). Your message will be posted with beautiful formatting.
reply_broadcast
boolean
—
With thread_ts, makes reply visible to all in channel, not just thread members. Defaults to false.
Slackbot Search All
Slackbot Search AllIntegration name: SLACKBOT_SEARCH_ALL
Tool to search all messages and files. Use when you need unified content search across channels and files in one call. Results are scoped to content visible to the authenticated token; missing hits in private or restricted channels reflect permission/membership gaps. Response separates messages and files into distinct sections — explicitly read the files section for document results. Results are index-based and may lag several minutes behind real-time; use SLACK_FETCH_CONVERSATION_HISTORY for near-real-time per-channel coverage. Paginated searches exceeding ~1 req/sec may return HTTP 429 too_many_requests; honor the Retry-After header and resume from the last page.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
page
integer
1
Page number of results to return; default is 1. Iterate until total_count or page_count signals completion.
sort
string
"score"
Sort by score (relevance) or timestamp (chronological).
count
integer
20
Number of results per page; default is 20; max is 100.
query
string
✅
"error report"
Search query supporting Slack search modifiers/booleans. Date modifiers after:, before:, on: are UTC day-based; after: is exclusive, so convert time ranges to explicit UTC dates to avoid boundary gaps — sub-day precision requires client-side filtering by numeric ts. Spaces act as logical AND; omitting in:#channel or date filters makes search workspace-wide and slow. Malformed modifiers (e.g., wrong from: format) silently return zero results.
team_id
string
—
Encoded team ID to search in; required when using an org-level token.
sort_dir
string
"asc"
Sort direction: asc or desc.
highlight
boolean
true
If true, search terms are wrapped with markers for client-side highlighting.
Slackbot Search Messages
Slackbot Search MessagesIntegration name: SLACKBOT_SEARCH_MESSAGES
Workspace‑wide Slack message search with date ranges and filters. Use query modifiers (e.g., in:#channel, from:@user, before/after:YYYY-MM-DD), sorting (score/timestamp), and pagination.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
page
integer
1
Page number for manual pagination control. Cannot be used with auto_paginate - choose either automatic collection OR manual page control, not both.
sort
string
"score"
Sort results by score (relevance) or timestamp (chronological).
count
integer
20
Without auto_paginate: Number of messages per page (max 100). With auto_paginate: Total messages desired. Set count=500 to get 500 messages with automatic pagination handling.
query
string
✅
"on:2025-09-25"
Search query supporting various modifiers for precise filtering: Location Modifiers: - in:#channel-name - Messages in specific channel - in:@username - Direct messages with user User Modifiers: - from:@username - Messages from specific user - from:botname - Messages from bot Content Modifiers: - has:link - Messages with links - has:file - Messages with files - has::star: - Starred messages - has::pin: - Pinned messages Special Characters: - "exact phrase" - Search exact phrase - *wildcard - Wildcard matching - -exclude - Exclude words Combinations: Mix modifiers with date filters like "project update" on:2025-09-25 in:#marketing from:@john
cursor
string
"*"
Cursor for cursor-mark pagination. Use * for the first call, then use next_cursor from the previous response for subsequent calls. This is the modern pagination approach recommended by Slack. Cannot be used with page parameter - choose either cursor-based or page-based pagination.
team_id
string
"T1234567890"
The ID of the workspace to search in. Only relevant when using an org-level token. This field will be ignored if using a workspace-level token.
sort_dir
string
"asc"
Sort direction: asc (ascending) or desc (descending).
highlight
boolean
true
Enable highlighting of search terms in results.
auto_paginate
boolean
true
When enabled, 'count' becomes the total messages desired instead of per-page limit. System automatically handles pagination to collect the specified total. Cannot be used with 'page' parameter - choose either automatic collection or manual page control. Usage: If you fetched 100 messages but pagination shows 500 total available, set auto_paginate=true and count=500 to get all results at once.
Slackbot Send Ephemeral Message
Slackbot Send Ephemeral MessageIntegration name: SLACKBOT_SEND_EPHEMERAL_MESSAGE
Sends an ephemeral message visible only to the specified user in a channel; other channel members cannot see it. Both the bot and the target user must be members of the specified channel.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
text
string
"Hello world"
The message text to display. Required unless 'blocks' or 'attachments' is provided. When using blocks, this serves as fallback text for notifications. Supports markdown formatting.
user
string
✅
"U0BPQUNTA"
User ID of the user to send the ephemeral message to.
parse
string
"full"
Controls text parsing behavior. Use 'full' to enable automatic linking of @mentions, #channels, and URLs. Use 'none' to disable special parsing (URLs will still be clickable). Defaults to 'none'.
blocks
string
"[{\"type\": \"section\", \"text\": {\"type\": \"plain_text\", \"text\": \"Hello world\"}}]"
A JSON-based array of structured blocks, presented as a URL-encoded string.
as_user
boolean
true
Legacy parameter for authenticated user authorship. Defaults to true without chat:write:bot scope, false otherwise. Setting to true requires chat:write:user scope for the authenticated user to author the message.
channel
string
✅
"C1234567890"
Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name.
icon_url
string
"http://lorempixel.com/48/48"
URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
username
string
"My Bot"
Set your bot's user name. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
thread_ts
string
"1234567890.123456"
Provide another message's ts value to make this message a reply. Avoid using a reply's ts value; use its parent instead.
icon_emoji
string
":chart_with_upwards_trend:"
Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
link_names
boolean
true
Find and link channel names and usernames.
attachments
string
"[{\"fallback\": \"Summary\", \"color\": \"#36a64f\", \"title\": \"Title\", \"text\": \"Content\"}]"
This is Slack's legacy 'secondary attachments' field for adding rich formatting elements like colored sidebars, structured fields, and author info. Pass as a JSON string array. NOT for file/image uploads. To send files or images, use 'SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK' instead.
markdown_text
string
"# Ephemeral Notice\n\nThis message is **only visible to you**.\n\n```\nStatus: Active\n```"
PREFERRED: Write your ephemeral message in markdown for nicely formatted display. Supports: headers (# ## ###), bold (text or text), italic (text or text), strikethrough (text), inline code (code), code blocks (```), links (text), block quotes (>), lists (- item, 1. item), dividers (--- or ***). IMPORTANT: Use \n for line breaks (e.g., 'Line 1\nLine 2'), not actual newlines. Incompatible with blocks or text parameters. Maximum 12,000 characters.
Slackbot Send Me Message
Slackbot Send Me MessageIntegration name: SLACKBOT_SEND_ME_MESSAGE
Sends a 'me message' (e.g., '/me is typing') to a Slack channel, where it's displayed as a third-person user action; messages are plain text and the channel must exist and be accessible.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
text
string
"is preparing for a meeting."
Content of the 'me message', displayed as an action performed by the user (e.g., if text is 'is feeling happy', it appears as 'User is feeling happy').
channel
string
"C1234567890"
Specifies the target channel by its public ID (e.g., 'C1234567890'), private group ID, IM channel ID, or name (e.g., '#general', '@username').
Slackbot Send Message
Slackbot Send MessageIntegration name: SLACKBOT_SEND_MESSAGE
Posts a message to a Slack channel, DM, or private group; requires at least one content field (markdown_text, text, blocks, or attachments) — omitting all causes a no_text error. Fails with not_in_channel, channel_not_found, or channel_is_archived if the bot lacks access. Body limit ~4000 characters. Rate-limited at ~1 req/sec (HTTP 429, honor Retry-After). Not idempotent — duplicate calls post duplicate messages.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
text
string
"Hello from your friendly bot!"
DEPRECATED: This sends raw text only, use markdown_text field. Primary textual content. Recommended fallback if using blocks or attachments. Supports mrkdwn unless mrkdwn is false.
parse
string
"full"
Message text parsing behavior. Set to 'full' to parse as user-typed (auto-links @mentions, #channels). Omit for default behavior (no special parsing).
blocks
—
"%5B%7B%22type%22%3A%20%22section%22%2C%20%22text%22%3A%20%7B%22type%22%3A%20%22mrkdwn%22%2C%20%22text%22%3A%20%22Hello%2C%20world%21%22%7D%7D%5D"
DEPRECATED: Use markdown_text field instead. Block Kit layout blocks for rich/interactive messages. Accepts either a URL-encoded JSON string or a list of block dictionaries. See Slack API Block Kit docs for structure.
mrkdwn
boolean
—
Controls Slack mrkdwn formatting for the top-level text field ONLY. Set to false to disable formatting (text appears as-is with literal asterisks, underscores, etc.). Default true enables mrkdwn formatting (bold, italic, etc.). NOTE: This parameter has NO effect on blocks or markdown_text - block content always uses its own formatting rules.
channel
string
✅
"C1234567890"
ID or name of the channel, private group, or IM channel to send the message to. Can be specified as either 'channel' or 'channel_id'. Do NOT include the '#' prefix (e.g., use 'general' not '#general') - any leading '#' will be automatically stripped. For DMs, use the channel ID returned by SLACK_OPEN_DM (starts with 'D'); usernames, emails, and user IDs are not valid DM targets.
thread_ts
string
"1618033790.001500"
Timestamp (ts) of an existing message to make this a threaded reply. Use ts of the parent message, not another reply. Example: '1476746824.000004'.
link_names
boolean
—
Automatically hyperlink channel names (e.g., #channel) and usernames (e.g., @user) in message text. Defaults to false for bot messages.
attachments
string
"[{\"fallback\": \"Summary text\", \"color\": \"#36a64f\", \"title\": \"Title\", \"text\": \"Attachment content\", \"fields\": [{\"title\": \"Field\", \"value\": \"Value\", \"short\": true}]}]"
This is Slack's legacy 'secondary attachments' field for adding rich formatting elements like colored sidebars, structured fields, and author info to messages. Pass as a JSON string array. NOT for file/image uploads. To send a message with attachments of files or images, use the 'SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK' instead.
unfurl_links
boolean
—
Enable unfurling of text-based URLs. Defaults false for bots, true if as_user is true.
unfurl_media
boolean
—
Enable media previews (images, videos) from URLs. Set to true (default) to show media previews, false to hide them.
markdown_text
string
"# Status Update\n\nSystem is **running smoothly** with *excellent* performance.\n\n```bash\nkubectl get pods\n```\n\n> All services operational ✅"
PREFERRED: Write your message in markdown for nicely formatted display. Supports: headers (# ## ###), bold (text or text), italic (text or text), strikethrough (text), inline code (code), code blocks (```), links (text), block quotes (>), lists (- item, 1. item), dividers (--- or ***), context blocks (:::context with images), and section buttons (:::section-button). IMPORTANT: Use \n for line breaks (e.g., 'Line 1\nLine 2'), not actual newlines. USER MENTIONS: To tag users, use their user ID with <@USER_ID> format (e.g., <@U1234567890>), not username. NOTE: Slack enforces a 50-block limit per message. Very long messages with extensive formatting may exceed this limit. If your message is very long, consider splitting it into multiple shorter messages or using simpler formatting.
reply_broadcast
boolean
—
If true for a threaded reply, also posts to main channel. Defaults to false.
Slackbot Set Conversation Purpose
Slackbot Set Conversation PurposeIntegration name: SLACKBOT_SET_CONVERSATION_PURPOSE
Sets the purpose (a short description of its topic/goal, displayed in the header) for a Slack conversation; the calling user must be a member.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
"C012AB3CD4E"
The ID of the conversation (channel, direct message, or group message) to set the purpose for.
purpose
string
"Discuss project milestones and deadlines."
The new purpose for the conversation. This text will be displayed as the channel description. The maximum length is 250 characters.
Slackbot Set Read Cursor In A Conversation
Slackbot Set Read Cursor In A ConversationIntegration name: SLACKBOT_SET_READ_CURSOR_IN_A_CONVERSATION
Marks a message, specified by its timestamp (ts), as the most recently read for the authenticated user in the given channel, provided the user is a member of the channel and the message exists within it.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
ts
string
"1678886400.000100"
The timestamp of the message to mark as the most recently read. Must be a Slack timestamp string with microsecond precision in the format 'UNIX_TIMESTAMP.MICROSECONDS' (e.g., '1625800000.000200').
channel
string
"C012QRSTUW9"
The ID of the public channel, private channel, or direct message to set the read cursor for.
Slackbot Set The Topic Of A Conversation
Slackbot Set The Topic Of A ConversationIntegration name: SLACKBOT_SET_THE_TOPIC_OF_A_CONVERSATION
Sets or updates the topic for a specified Slack conversation.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
topic
string
"Q4 Planning Discussion"
The new topic for the conversation. It must be a string up to 250 characters long. Text formatting and linkification are not supported.
channel
string
"C1234567890"
The ID of the public channel, private channel, direct message, or multi-person direct message conversation for which the topic will be set. Must be a channel ID (C/G/D prefix), not a human-readable name like '#general'.
Slackbot Set User Active
Slackbot Set User ActiveIntegration name: SLACKBOT_SET_USER_ACTIVE
Tool to mark a user as active in Slack. Note: This endpoint is deprecated and non-functional - it exists for backwards compatibility but does not perform any action.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
No parameters required.
Slackbot Set User Presence
Slackbot Set User PresenceIntegration name: SLACKBOT_SET_USER_PRESENCE
Manually sets a user's Slack presence, overriding automatic detection; this setting persists across connections but can be overridden by user actions or Slack's auto-away (e.g., after 10 mins of inactivity).
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
presence
string
✅
"auto"
The presence state to set for the user.
Slackbot Share Remote File
Slackbot Share Remote FileIntegration name: SLACKBOT_SHARE_REMOTE_FILE
Shares a remote file, which must already be registered with Slack, into specified Slack channels or direct message conversations.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
"F0123456789"
The unique ID of the remote file registered with Slack. Either this file field or the external_id field (or both) is required to identify the file.
channels
string
✅
"C0123456789,D0987654321"
A comma-separated list of channel IDs where the remote file will be shared. These can include public channel IDs, private channel IDs, or direct message channel IDs.
external_id
string
"myapp-unique-file-id-007"
The globally unique identifier (GUID) for the remote file, as provided by the app that registered it with Slack. Either this external_id field or the file field (or both) is required to identify the file.
Slackbot Start Call
Slackbot Start CallIntegration name: SLACKBOT_START_CALL
Registers a new call in Slack using calls.add for third-party call integration; created_by is required if not using a user-specific token.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
title
string
"Project Alpha Sync"
The name or title for the call. This will be displayed in Slack to identify the call.
users
string
"'''[{\"slack_id\": \"U012A3BCD4E\"}, {\"external_id\": \"participant1@example.com\", \"slack_id\": \"U012A3BCD4F\"}]'''"
A JSON string representing an array of user objects to be registered as participants in the call. Each user object in the array should define a participant using their slack_id (Slack User ID) and/or an external_id (an identifier from the third-party application, unique to that user within that application). For instance: '''[{"slack_id": "U012A3BCD4E"}, {"external_id": "user-xyz@example.com", "slack_id": "U012A3BCD4F"}]'''.
join_url
string
✅
"https://thirdparty.call/join/meeting123"
The URL required for a client to join the call (e.g., a web join link). This field is mandatory. Must be a valid third-party call system URL (e.g., web join link), not a Slack channel or message URL.
created_by
string
"U012A3BCD4E"
Slack user ID of the creator; optional (defaults to authenticated user) if using a user token, otherwise required.
date_start
integer
"1678886400"
The start time of the call, specified as a UTC UNIX timestamp in seconds. For example, 1678886400 corresponds to March 15, 2023, at 12:00 PM UTC.
external_unique_id
string
✅
"v=abcdef123456"
A unique identifier for the call, supplied by the third-party call provider. This ID must be unique across all calls from that specific service. This field is required.
external_display_id
string
"Meeting H.323"
An optional, human-readable identifier for the call, supplied by the third-party call provider. If provided, this ID will be displayed in the Slack call object interface.
desktop_app_join_url
string
"your-app-protocol://call/12345"
An optional URL that, when provided, allows Slack clients to attempt to directly launch the third-party call application. This is typically a deep link URI for the specific application.
Slackbot Unarchive Channel
Slackbot Unarchive ChannelIntegration name: SLACKBOT_UNARCHIVE_CHANNEL
Reverses conversation archival.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
✅
"C1234567890"
ID of conversation to unarchive
Slackbot Unpin Item
Slackbot Unpin ItemIntegration name: SLACKBOT_UNPIN_ITEM
Unpins a message, identified by its timestamp, from a specified channel if the message is currently pinned there; this operation is destructive.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
channel
string
✅
"C1234567890"
The ID of the channel where the message is pinned (e.g., a public channel, private channel, or direct message).
timestamp
string
✅
"1625640000.000100"
Timestamp of the message to unpin. This is required to identify the specific message to be removed from the channel's pinned items.
Slackbot Update Call Info
Slackbot Update Call InfoIntegration name: SLACKBOT_UPDATE_CALL_INFO
Updates the title, join URL, or desktop app join URL for an existing Slack call identified by its ID.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
id
string
✅
"R0123ABCDEF"
Unique identifier of the call to update, obtained when a call is created (e.g., via calls.add Slack API method).
title
string
"Project Alpha Review"
New title for the call.
join_url
string
"https://example.com/join/meeting/12345"
New URL for clients to join the call.
desktop_app_join_url
string
"your-app-protocol://join?call_id=12345"
URL to directly launch the third-party call application from Slack clients.
Slackbot Update Remote File
Slackbot Update Remote FileIntegration name: SLACKBOT_UPDATE_REMOTE_FILE
Updates metadata or content details for an existing remote file in Slack; this action cannot upload new files or change the fundamental file type.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
string
"F0123ABC456"
Slack's unique identifier for the remote file (e.g., F12345678). Used to identify the file if external_id is not provided. One of file or external_id is required to specify the file to update.
title
string
"Updated Project Proposal Q3"
New title for the remote file. If omitted, the current title remains unchanged.
token
string
—
Authentication token for authorizing the API request to Slack.
filetype
string
"pdf"
New filetype for the remote file. This typically describes the kind of file, e.g., pdf, gdoc, image, text. See Slack API documentation for specific supported filetype values. Providing an inaccurate filetype might affect how the file is handled or displayed.
external_id
string
"item_12345_report_2024"
Creator-defined Globally Unique Identifier (GUID) for the remote file. Used to identify the file if file ID is not provided. One of file or external_id is required to specify the file to update.
external_url
string
"https://example.com/updated_document.pdf"
New publicly accessible URL for the remote file. If provided, this updates the link associated with the file in Slack.
preview_image
string
—
A string that references the new preview image for the document. The referenced image data will be sent as multipart/form-data. This could be a local file path (if supported by the client), a public URL, or base64 encoded image data. Max 1MB. Updates the file's preview in Slack.
indexable_file_contents
string
—
Plain text content extracted from the remote file, used by Slack to improve searchability. This can be a summary or the full text. Maximum 1MB. If provided, updates the searchable content.
Slackbot Updates A Message
Slackbot Updates A MessageIntegration name: SLACKBOT_UPDATES_A_MESSAGE
Updates a Slack message, identified by channel ID and ts timestamp, by modifying its text, attachments, or blocks; provide at least one content field, noting attachments/blocks are replaced if included ([] clears them).
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
ts
string
✅
"1625247600.000200"
Timestamp of the message to update (string, Unix time with microseconds, e.g., '1234567890.123456').
text
string
"Hello world, this is an *updated* message."
This sends raw text only, use markdown_text field for formatting. New message text (plain or mrkdwn). Not required if blocks or attachments are provided. See Slack formatting rules.
parse
string
"full"
Parse mode for text: 'full' (auto-links @mentions and #channels) or 'none' (literal text). If not provided, uses Slack's default behavior.
blocks
—
"[{\"type\": \"section\", \"text\": {\"type\": \"mrkdwn\", \"text\": \"This is an updated section block.\"}}]"
DEPRECATED: Use markdown_text field instead. Block Kit layout blocks for rich/interactive messages. Accepts either a JSON string array or a list of block dictionaries. Replaces existing blocks if field is provided; use [] to clear. Omit field to leave blocks untouched. Required if text and attachments are absent. See Slack API for format.
as_user
boolean
—
Pass true to update the message as the authenticated user; applicable to bot users as well.
channel
string
✅
"C1234567890"
The ID of the channel containing the message to be updated.
file_ids
array
["F1234567890","F0987654321"]
Array of file IDs to attach to the updated message. Files must already be uploaded to Slack.
metadata
object
{"event_type":"task_update","event_payload":{"status":"completed"}}
JSON object containing event_type (string) and event_payload (dict) fields for adding custom metadata to the message.
link_names
boolean
—
Set to true to link channel/user names in text. If not provided, Slack's default update behavior may override original message's linking settings.
attachments
—
"[{\"fallback\": \"Summary text\", \"color\": \"#36a64f\", \"title\": \"Title\", \"text\": \"Content\", \"fields\": [{\"title\": \"Field\", \"value\": \"Value\", \"short\": true}]}]"
This is Slack's legacy 'secondary attachments' field for adding rich formatting elements like colored sidebars, structured fields, and author info. Accepts either a JSON string array or a list of attachment dictionaries. Replaces existing attachments if provided; use [] to clear. NOT for file/image uploads. To send files or images, use 'SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK' instead.
markdown_text
string
"# Updated Status\n\nThe issue has been **resolved** and systems are *fully operational*.\n\n```bash\n# All services running\nkubectl get services\n```"
PREFERRED: Write your updated message in markdown for nicely formatted display. Supports headers (#), bold (text), italic (text), strikethrough (text), code (```), links (text), quotes (>), and dividers (---). Your message will be posted with beautiful formatting.
reply_broadcast
boolean
—
If true and the message is a thread reply, broadcast the updated message to the channel. Defaults to false.
Slackbot Update User Group
Slackbot Update User GroupIntegration name: SLACKBOT_UPDATE_USER_GROUP
Updates an existing Slack User Group, which must be specified by an existing usergroup ID, with new optional details such as its name, description, handle, or default channels.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
name
string
"Q4 Marketing"
New name for the User Group. Must be unique among User Groups.
handle
string
"marketing-team-alpha"
New mention handle. Must be unique among channels, users, and User Groups.
team_id
string
"T1234567890"
Encoded team (workspace) ID where the User Group exists. Required if using an org-level token. Will be ignored if the API call is sent using a workspace-level token.
channels
string
"C1234567890,C2345678901"
Comma-separated encoded channel IDs to set as default channels.
usergroup
string
✅
"S0615G0KT"
Encoded ID of the existing User Group to update.
description
string
"Team responsible for Q4 marketing campaigns."
New short description for the User Group.
include_count
boolean
true
If true, include the number of users in the User Group in the response.
enable_section
boolean
true
Configure this user group to show as a sidebar section for all group members. Only relevant if group has 1 or more default channels added.
additional_channels
string
"C1234567890,C2345678901"
Comma-separated encoded channel IDs for which the User Group can custom add usergroup members to.
Slackbot Update User Group Members
Slackbot Update User Group MembersIntegration name: SLACKBOT_UPDATE_USER_GROUP_MEMBERS
Replaces all members of an existing Slack User Group with a new list of valid user IDs.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
users
string
✅
"U012AB34CD,W567EF89GH,U01234567"
Comma-separated string of encoded user IDs for the new, complete member list, replacing all existing members. User IDs typically start with 'U' or 'W'.
team_id
string
"T1234567890"
Encoded team ID where the User Group exists. Required when using an org-level token (Enterprise Grid). Ignored for workspace-level tokens.
usergroup
string
✅
"S012AB34CD"
The encoded ID of the User Group whose members are to be updated. This ID typically starts with 'S'.
include_count
boolean
"true"
If true, the response usergroup object includes user_count and potentially channel_count fields, reflecting counts after the update.
Slackbot Upload Or Create A File In Slack
Slackbot Upload Or Create A File In SlackIntegration name: SLACKBOT_UPLOAD_OR_CREATE_A_FILE_IN_SLACK
Upload files, images, screenshots, documents, or any media to Slack channels or threads. Supports all file types including images (PNG, JPG, JPEG, GIF), documents (PDF, DOCX, TXT), code files, and more. Can share files publicly in channels or as thread replies with optional comments. Large files may fail with upload_too_large; use SLACK_ADD_A_REMOTE_FILE_FROM_A_SERVICE for large uploads. If the API returns ok=false with method_deprecated, fall back to SLACK_ADD_A_REMOTE_FILE_FROM_A_SERVICE or SLACK_SEND_MESSAGE with a URL.
Parameters
Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.
file
—
—
File(s) to upload. Accepts a single file or a list of files. At least one of 'content' or 'file' must be provided (but not both). FileUploadable object(s) where 'name' is the filename to use in Slack. The file must exist in accessible storage; expired or invalid s3keys will result in a storage error.
title
string
"My Document"
Title of the file, displayed in Slack.
token
string
—
Authentication token; requires 'files:write' scope.
content
string
"This is the content of my text file."
Text content of the file; use for text-based files. At least one of 'content' or 'file' must be provided (but not both).
channels
string
"C1234567890"
Channel ID where the file will be shared; if omitted, file is private to the uploader. Use channel ID (e.g., C1234567890) not channel name. Note: Due to API changes, only the first channel ID is used if multiple are provided. App must be a member of the target channel or the upload fails with not_in_channel or channel_not_found.
filename
string
"report.pdf"
Filename to be displayed in Slack. Required when using 'content' parameter.
filetype
string
"text"
Deprecated: File type detection is now automatic. This parameter is preserved for backward compatibility but no longer affects file uploads.
thread_ts
string
"1234567890.123456"
Timestamp of a parent message to upload this file as a reply; use the original message's 'ts' value (e.g., '1234567890.123456').
initial_comment
string
"Here is the Q3 financial report."
Optional message to introduce the file in specified 'channels'.