Slack
Service domainMESSAGING
Arcade Optimized
Arcade.dev LLM tools for Slack
10tools
The Slack toolkit for Arcade provides LLM-accessible tools for reading, searching, and writing to Slack workspaces on behalf of authenticated users.
Capabilities
- Conversation discovery & metadata — list conversations the user belongs to, look up channel or DM/MPIM metadata by ID, channel name, or user identifiers (user IDs, usernames, emails).
- Message retrieval — fetch messages from channels, DMs, and MPIMs with flexible absolute (
oldest_datetime/latest_datetime) or relative (DD:HH:MMoffsets) time filtering; retrieve full thread reply chains by parent message timestamp. - User lookup — resolve one or many users by ID, username, or email in a single call; list all workspace members; get the authenticated user's own profile (
WhoAmI). - Writing & membership — send top-level messages or thread replies (with optional broadcast) to any conversation type; invite up to 100 users at once to channels or MPIMs.
OAuth
This toolkit uses OAuth 2.0 via the Slack provider. See the Arcade Slack auth-provider docs for setup details including required scopes and configuration steps.
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.
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.
Do not retrieve users' info first to get the metadata or messages of a conversation,
as it is inefficient: conversations can be looked up by user_ids, usernames, and/or
emails directly. | |||
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. The listing does not include
member counts, so num_members is null for every conversation returned. | |||
List all users in the authenticated user's Slack team.
Do not use this tool to first retrieve user(s) to get the metadata or messages of a
conversation, as it is inefficient: conversations can be looked up by a user_id,
username, and/or email directly. | |||
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