Slack
Service domainMESSAGING
Arcade Optimized
Arcade.dev LLM tools for Slack
10tools
The Slack toolkit integrates Arcade with Slack's API, enabling LLM agents to read, send, and manage Slack conversations, messages, and users on behalf of an authenticated user.
Capabilities
- Conversation discovery & metadata: List all conversations the user belongs to (channels, DMs, MPIMs) and retrieve detailed metadata for any conversation by ID, channel name, or participant identifiers.
- Message reading: Fetch top-level messages from any conversation or drill into a specific thread, with flexible absolute (
oldest_datetime/latest_datetime) or relative (DD:HH:MMoffset) time filtering. - Sending & replying: Post messages to channels, DMs, or multi-person conversations; reply to existing threads with optional broadcast to the main channel.
- User lookup & management: Resolve and retrieve profile information for one or more users by ID, username, or email in a single call; list all team members; invite users (up to 100 at once) to channels or MPIMs.
- Identity: Retrieve the authenticated user's full Slack profile (name, email, avatar, and other profile fields).
OAuth
This toolkit uses OAuth 2.0 with Slack as the provider. See the Slack auth provider docs for setup 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