Skip to Content
ResourcesIntegrationsSocial & CommunicationSlack

Slack

Service domainMESSAGING
Slack icon
Arcade Optimized

Arcade.dev LLM tools for Slack

Author:Arcade
Version:3.0.1
Auth:User authorization via the Slack auth provider
10tools

The Slack toolkit integrates Arcade with Slack's API, enabling LLMs to read, send, and manage Slack conversations, messages, threads, users, reactions, and channel membership on behalf of an authenticated user.

Capabilities

  • Conversation discovery & metadata: List conversations the user belongs to (channels, DMs, MPIMs); retrieve metadata for a specific conversation by ID, channel name, or user identifiers; list members of a conversation.
  • Message reading: Fetch messages from channels, DMs, and MPIMs with flexible absolute (oldest_datetime/latest_datetime) or relative (DD:HH:MM offset) time filtering; read full thread reply chains by parent thread_ts, also with time filtering.
  • Messaging & threading: Send top-level messages or reply to existing threads in any channel, DM, or MPIM, identified by ID, name, or user identifiers; optionally broadcast thread replies to the main channel.
  • Reactions: Add or remove the authenticated user's own emoji reaction on any message; idempotent — no error if the reaction state is already correct.
  • User management: Look up one or many users by ID, username, or email in a single call; invite up to 100 users at once to public channels, private 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 identity and permission provider. Arcade handles the OAuth flow automatically. See the Slack auth provider docs for setup instructions.

Available tools(10)

10 of 10 tools
Operations
Behavior
Tool nameDescriptionSecrets
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.
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.
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
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.
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 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.
List all users in the authenticated user's Slack team, or look up specific users by their IDs, usernames, and/or emails. To look up several users, DO NOT CALL THE TOOL MULTIPLE TIMES; call it once with all of their user_ids, usernames, and/or emails. Do not retrieve users 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.
Add or remove the user's emoji reaction on a message in a Slack conversation. Provide exactly one of conversation_id or channel_name. Only the user's own reaction is added or removed; other people's reactions are left untouched. Adding a reaction the user already left, or removing one they have not left, changes nothing and is reported with changed set to false.
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