Slack
Service domainMESSAGING
Arcade Optimized
Arcade.dev LLM tools for Slack
10tools
The Slack toolkit lets Arcade-powered agents read, send, and manage Slack messages and conversations on behalf of an authenticated user via the Slack API.
Capabilities
- Conversation discovery & metadata — list conversations the user belongs to, retrieve metadata for channels, DMs, and MPIMs by ID, name, or participant identifiers, and look up the members of any conversation.
- Message retrieval — fetch top-level messages or thread replies from any conversation, with flexible absolute (
oldest_datetime/latest_datetime) or relative (DD:HH:MMoffsets) time filtering. - Sending & replying — post messages to channels, DMs, or MPIMs; reply to an existing thread; optionally broadcast replies to the main channel.
- User lookup & team roster — resolve users by ID, username, or email; retrieve full profile details for one or more users; list the entire team roster.
- Channel membership management — invite up to 100 users at once to public channels, private channels, or MPIMs, resolving identifiers automatically.
- Authenticated user context — retrieve the current user's own profile, email, and Slack account details.
OAuth
This toolkit uses OAuth 2.0 via the Slack provider. Arcade handles the OAuth flow; see the Slack auth provider docs for configuration details.
Available tools(10)
10 of 10 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation.
Use this tool to retrieve metadata about a conversation with a conversation_id, a channel name,
or by the user_id(s), username(s), and/or email(s) of the user(s) in the conversation.
This tool does not return the messages in a conversation. To get the messages, use the
'Slack.GetMessages' tool instead.
Provide exactly one of:
- conversation_id; or
- channel_name; or
- any combination of user_ids, usernames, and/or emails. | |||
Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation.
Provide exactly one of:
- conversation_id; or
- channel_name; or
- any combination of user_ids, usernames, and/or emails.
To filter messages by an absolute datetime, use 'oldest_datetime' and/or 'latest_datetime'. If
only 'oldest_datetime' is provided, it will return messages from the oldest_datetime to the
current time. If only 'latest_datetime' is provided, it will return messages since the
beginning of the conversation to the latest_datetime.
To filter messages by a relative datetime, use 'oldest_relative' and/or 'latest_relative'
with numeric `DD:HH:MM` offsets only. Convert relative phrases to `DD:HH:MM` before calling
this tool. If only 'oldest_relative' is provided, it will return messages from the
oldest_relative to the current time. If only 'latest_relative' is provided, it will return
messages from the current time to the latest_relative.
Do not provide both 'oldest_datetime' and 'oldest_relative' or both 'latest_datetime' and
'latest_relative'.
Leave all arguments with the default None to get messages without date/time filtering | |||
Get messages in a Slack thread.
A thread is a collection of messages grouped together as replies to a parent message.
This tool retrieves all messages in a specific thread, identified by the parent message's
timestamp (thread_ts).
Provide exactly one of:
- conversation_id; or
- channel_name; or
- any combination of user_ids, usernames, and/or emails.
To filter messages by an absolute datetime, use 'oldest_datetime' and/or 'latest_datetime'. If
only 'oldest_datetime' is provided, it will return messages from the oldest_datetime to the
current time. If only 'latest_datetime' is provided, it will return messages since the
beginning of the thread to the latest_datetime.
To filter messages by a relative datetime, use 'oldest_relative' and/or 'latest_relative'
with numeric `DD:HH:MM` offsets only. Convert relative phrases to `DD:HH:MM` before calling
this tool. If only 'oldest_relative' is provided, it will return messages from the
oldest_relative to the current time. If only 'latest_relative' is provided, it will return
messages from the current time to the latest_relative.
Do not provide both 'oldest_datetime' and 'oldest_relative' or both 'latest_datetime' and
'latest_relative'.
Leave all datetime arguments with the default None to get all thread messages without
date/time filtering. | |||
Get the users in a Slack conversation (Channel, DM/IM, or MPIM) by its ID or by channel name.
Provide exactly one of conversation_id or channel_name. Prefer providing a conversation_id,
when available, since the performance is better. | |||
Get the information of one or more users in Slack by ID, username, and/or email.
Provide any combination of user_ids, usernames, and/or emails. If you need to retrieve
data about multiple users, DO NOT CALL THE TOOL MULTIPLE TIMES. Instead, call it once
with all the user_ids, usernames, and/or emails.
If you need to get metadata or messages of a conversation, use the
`Slack.GetConversationMetadata` or `Slack.GetMessages` tool instead. These
tools accept user_ids, usernames, and/or emails. Do not retrieve users' info first,
as it is inefficient. | |||
Invite users to a Slack channel or MPIM (multi-person direct message).
This tool invites specified users to join a Slack conversation. It works with:
- Public channels
- Private channels
- MPIMs (multi-person direct messages / group DMs)
You can specify users by their user IDs, usernames, or email addresses.
Provide exactly one of channel_id or channel_name, and at least one of user_ids, usernames,
or emails.
The tool will resolve usernames and emails to user IDs before inviting them.
Up to 100 users may be invited at once. | |||
List metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of.
This tool does not return the messages in a conversation. To get the messages, use the
'Slack.GetMessages' tool instead. | |||
List all users in the authenticated user's Slack team.
If you need to get metadata or messages of a conversation, use the
`Slack.GetConversationMetadata` tool or `Slack.GetMessages` tool instead. These
tools accept a user_id, username, and/or email. Do not use this tool to first retrieve user(s),
as it is inefficient. | |||
Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation.
Can send top-level messages or reply to an existing thread.
Provide exactly one of:
- channel_name; or
- conversation_id; or
- any combination of user_ids, usernames, and/or emails.
In case multiple user_ids, usernames, and/or emails are provided, the tool will open a
multi-person conversation with the specified people and send the message to it.
To reply to a thread, also provide thread_ts (the 'ts' field of the parent message).
Optionally set reply_broadcast to true to also post the reply to the main conversation. | |||
Get comprehensive user profile and Slack information.
This tool provides detailed information about the authenticated user including
their name, email, profile picture, and other important profile details from
Slack services. |
Last updated on