Slack
Description: Enable agents to interact with Slack
Author: Arcade
Auth: User authorization
The Slack Server provides a comprehensive set of for interacting with the Slack platform, enabling users and AI applications to efficiently manage conversations and information. With this MCP Sever, you can:
- Retrieve detailed information about , including their IDs, usernames, and emails.
- List all in your Slack team and get users in specific conversations.
- Send messages to channels, direct messages, or multi-person conversations.
- Access messages and metadata from various conversations, including channels and direct messages.
- Manage and list conversations, including public and private channels.
This Sever streamlines communication and enhances collaboration within Slack.
Available Tools
Tool Name | Description |
---|---|
Slack.WhoAmI | Get comprehensive user profile. |
Slack.GetUsersInfo | Get the information of one or more users in Slack by ID, username, and/or email. |
Slack.ListUsers | List all users in the authenticated user's Slack team. |
Slack.SendMessage | Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation |
Slack.GetUsersInConversation | Get the users in a Slack conversation (Channel, DM/IM, or MPIM) by its ID or by channel name. |
Slack.GetMessages | Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation. |
Slack.GetConversationMetadata | Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation. |
Slack.ListConversations | List metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of. |
Slack.GetUserInfoById | Get the information of a user in Slack. |
Slack.SendDmToUser | Send a direct message to a user in Slack. |
Slack.SendMessageToChannel | Send a message to a channel in Slack. |
Slack.GetMembersInConversationById | Get the members of a conversation in Slack by the conversation's ID. |
Slack.GetMembersInChannelByName | Get the members of a conversation in Slack by the conversation's name. |
Slack.GetMessagesInChannelByName | Get the messages in a channel by the channel's name. |
Slack.GetMessagesInConversationById | Get the messages in a conversation by the conversation's ID. |
Slack.GetMessagesInDirectMessageConversationByUsername | Get the messages in a direct conversation by the user's name. |
Slack.GetMessagesInMultiPersonDmConversationByUsernames | Get the messages in a multi-person direct message conversation by the usernames. |
Slack.ListConversationsMetadata | List Slack conversations (channels, DMs, MPIMs) the user is a member of. |
Slack.ListPublicChannelsMetadata | List metadata for public channels in Slack that the user is a member of. |
Slack.ListPrivateChannelsMetadata | List metadata for private channels in Slack that the user is a member of. |
Slack.ListGroupDirectMessageConversationsMetadata | List metadata for group direct message conversations that the user is a member of. |
Slack.ListDirectMessageConversationsMetadata | List metadata for direct message conversations in Slack that the user is a member of. |
Slack.GetConversationMetadataById | Get the metadata of a conversation in Slack searching by its ID. |
Slack.GetChannelMetadataByName | Get the metadata of a channel in Slack searching by its name. |
Slack.GetDirectMessageConversationMetadataByUsername | Get the metadata of a direct message conversation in Slack by the username. |
Slack.GetMultiPersonDmConversationMetadataByUsernames | Get the metadata of a multi-person direct message conversation in Slack by the usernames. |
If you need to perform an action that’s not listed here, you can get in touch with us to request a new , or create your own tools.
Slack.WhoAmI
Get comprehensive profile information.
Parameters
This takes no parameters.
Slack.GetUsersInfo
Get the information of one or more in Slack by ID, username, and/or email.
Parameters
- user_ids (
array[string]
, optional) The IDs of the to get - usernames (
array[string]
, optional) The usernames of the to get. Prefer retrieving by user_ids and/or emails, when available, since the performance is better. - emails (
array[string]
, optional) The emails of the to get
Slack.ListUsers
List all users in the authenticated ’s Slack team.
Parameters
- exclude_bots (
boolean
, optional) Whether to exclude bots from the results. Defaults to True. - limit (
integer
, optional) The maximum number of to return. Defaults to 200. Maximum is 500. - next_cursor (
string
, optional) The next cursor token to use for pagination.
Slack.SendMessage
Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation.
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 will open a multi-person conversation with the specified people and send the message to it.
To improve performance, prefer providing a conversation_id over a channel_name, when available. When referencing , prefer providing user_ids and/or emails, when possible.
Parameters
- message (
string
, required) The content of the message to send. - channel_name (
string
, optional) The channel name to send the message to. Prefer providing a conversation_id, when available, since the performance is better. - conversation_id (
string
, optional) The conversation ID to send the message to. - user_ids (
array[string]
, optional) The Slack IDs of the people to message. - emails (
array[string]
, optional) The emails of the people to message. - usernames (
array[string]
, optional) The Slack usernames of the people to message. Prefer providing user_ids and/or emails, when available, since the performance is better.
Slack.GetUsersInConversation
Get the 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.
Parameters
- conversation_id (
string
, optional) The ID of the conversation to get in. - channel_name (
string
, optional) The name of the channel to get in. Prefer providing a conversation_id, when available, since the performance is better. - limit (
integer
, optional) The maximum number of to return. Defaults to 200. Maximum is 500. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.GetMessages
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 improve performance, prefer providing a conversation_id over a channel_name, when available. When referencing , prefer providing user_ids and/or emails, when possible.
Parameters
- conversation_id (
string
, optional) The ID of the conversation to get messages from. Provide exactly one of conversation_id OR any combination of user_ids, usernames, and/or emails. - channel_name (
string
, optional) The name of the channel to get messages from. Prefer providing a conversation_id, when available, since the performance is better. - user_ids (
array[string]
, optional) The IDs of the in the conversation to get messages from. - usernames (
array[string]
, optional) The usernames of the in the conversation to get messages from. Prefer providinguser_ids and/or emails, when available, since the performance is better. - emails (
array[string]
, optional) The emails of the in the conversation to get messages from. - oldest_relative (
string
, optional) The oldest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - latest_relative (
string
, optional) The latest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - oldest_datetime (
string
, optional) The oldest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - latest_datetime (
string
, optional) The latest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - limit (
integer
, optional) The maximum number of messages to return. Defaults to 20. Maximum is 100. - next_cursor (
string
, optional) The cursor to use for pagination.
Notes about the date/time filtering parameters:
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 (e.g. 3 days ago, 1 hour ago, etc.), use ‘oldest_relative’ and/or ‘latest_relative’. 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
Slack.GetConversationMetadata
Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation.
Provide exactly one of:
- conversation_id; or
- channel_name; or
- any combination of user_ids, usernames, and/or emails.
To improve performance, prefer providing a conversation_id over a channel_name, when available. When referencing , prefer providing user_ids and/or emails, when possible.
Parameters
- conversation_id (
string
, optional) The ID of the conversation to get metadata for - channel_name (
string
, optional) The name of the channel to get metadata for. Prefer providing a conversation_id, when available, since the performance is better. - usernames (
array[string]
, optional) The usernames of the to get the conversation metadata. Prefer providing user_ids and/or emails, when available, since the performance is better. - emails (
array[string]
, optional) The emails of the to get the conversation metadata. - user_ids (
array[string]
, optional) The IDs of the to get the conversation metadata.
Slack.ListConversations
List metadata for Slack conversations (channels, DMs, MPIMs) the is a member of.
Parameters
- conversation_types (
Enum
ConversationType, optional) Optionally filter by the type(s) of conversations. Defaults to None (all types). - limit (
integer
, optional) The maximum number of conversations to list. Defaults to 200. Maximum is 500. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.GetUserInfoById
This is marked for deprecation and will be removed in a future release. Please use Slack.GetUsersInfo instead.
Get the information of a in Slack.
Parameters
- user_id (
string
, required) The ID of the to get
Slack.SendDmToUser
This is marked for deprecation and will be removed in a future release. Please use Slack.SendMessage instead.
Send a direct message to a in Slack.
Parameters
- user_name (
string
, required) The Slack username of the person you want to message. Slack usernames are ALWAYS lowercase. - message (
string
, required) The message you want to send
Slack.SendMessageToChannel
This is marked for deprecation and will be removed in a future release. Please use Slack.SendMessage instead.
Send a message to a channel in Slack.
Parameters
- channel_name (
string
, required) The Slack channel name where you want to send the message. - message (
string
, required) The message you want to send
Slack.GetMembersInConversationById
This is marked for deprecation and will be removed in a future release. Please use Slack.GetUsersInConversation instead.
Get the members of a conversation in Slack by the conversation’s ID.
Parameters
- conversation_id (
string
, required) The ID of the conversation to get members for - limit (
integer
, optional) The maximum number of members to return. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.GetMembersInChannelByName
This is marked for deprecation and will be removed in a future release. Please use Slack.GetUsersInConversation instead.
Get the members of a conversation in Slack by the conversation’s name.
Parameters
- channel_name (
string
, required) The name of the channel to get members for - limit (
integer
, optional) The maximum number of members to return. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.GetMessagesInChannelByName
This is marked for deprecation and will be removed in a future release. Please use Slack.GetMessages instead.
Get the messages in a channel by the channel’s name.
Parameters
- channel_name (
string
, required) The name of the channel - oldest_relative (
string
, optional) The oldest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - latest_relative (
string
, optional) The latest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - oldest_datetime (
string
, optional) The oldest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - latest_datetime (
string
, optional) The latest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - limit (
integer
, optional) The maximum number of messages to return. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.GetMessagesInConversationById
This is marked for deprecation and will be removed in a future release. Please use Slack.GetMessages instead.
Get the messages in a conversation by the conversation’s ID.
Parameters
- conversation_id (
string
, required) The ID of the conversation to get history for - oldest_relative (
string
, optional) The oldest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - latest_relative (
string
, optional) The latest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - oldest_datetime (
string
, optional) The oldest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - latest_datetime (
string
, optional) The latest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - limit (
integer
, optional) The maximum number of messages to return. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.GetMessagesInDirectMessageConversationByUsername
This is marked for deprecation and will be removed in a future release. Please use Slack.GetMessages instead.
Get the messages in a direct conversation by the ’s name.
Parameters
- username (
string
, required) The username of the to get messages from - oldest_relative (
string
, optional) The oldest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - latest_relative (
string
, optional) The latest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - oldest_datetime (
string
, optional) The oldest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - latest_datetime (
string
, optional) The latest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - limit (
integer
, optional) The maximum number of messages to return. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.GetMessagesInMultiPersonDmConversationByUsernames
This is marked for deprecation and will be removed in a future release. Please use Slack.GetMessages instead.
Get the messages in a multi-person direct message conversation by the usernames.
Parameters
- usernames (
array[string]
, required) The usernames of the to get messages from - oldest_relative (
string
, optional) The oldest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - latest_relative (
string
, optional) The latest message to include in the results, specified as a time offset from the current time in the format ‘DD:HH:MM’ - oldest_datetime (
string
, optional) The oldest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - latest_datetime (
string
, optional) The latest message to include in the results, specified as a datetime object in the format ‘YYYY-MM-DD HH:MM:SS’ - limit (
integer
, optional) The maximum number of messages to return. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.ListConversationsMetadata
This is marked for deprecation and will be removed in a future release. Please use Slack.ListConversations instead.
List Slack conversations (channels, DMs, MPIMs) the is a member of.
Parameters
- conversation_types (
Enum
ConversationType, optional) Optionally filter by the type(s) of conversations. Defaults to None (all types). - limit (
integer
, optional) The maximum number of conversations to list. - next_cursor (
string
, optional) The cursor to use for pagination.
Slack.ListPublicChannelsMetadata
This is marked for deprecation and will be removed in a future release. Please use Slack.ListConversations instead.
List metadata for public channels in Slack that the is a member of.
Parameters
- limit (
integer
, optional) The maximum number of channels to list.
Slack.ListPrivateChannelsMetadata
This is marked for deprecation and will be removed in a future release. Please use Slack.ListConversations instead.
List metadata for private channels in Slack that the is a member of.
Parameters
- limit (
integer
, optional) The maximum number of channels to list.
Slack.ListGroupDirectMessageConversationsMetadata
This is marked for deprecation and will be removed in a future release. Please use Slack.ListConversations instead.
List metadata for group direct message conversations that the is a member of.
Parameters
- limit (
integer
, optional) The maximum number of conversations to list.
Slack.ListDirectMessageConversationsMetadata
This is marked for deprecation and will be removed in a future release. Please use Slack.ListConversations instead.
List metadata for direct message conversations in Slack that the is a member of.
Parameters
- limit (
integer
, optional) The maximum number of conversations to list.
Slack.GetConversationMetadataById
This is marked for deprecation and will be removed in a future release. Please use Slack.GetConversationMetadata instead.
Get the metadata of a conversation in Slack searching by its ID.
Parameters
- conversation_id (
string
, required) The ID of the conversation to get metadata for
Slack.GetChannelMetadataByName
This is marked for deprecation and will be removed in a future release. Please use Slack.GetConversationMetadata instead.
Get the metadata of a channel in Slack searching by its name.
Parameters
- channel_name (
string
, required) The name of the channel to get metadata for - next_cursor (
string
, optional) The cursor to use for pagination, if continuing from a previous search.
Slack.GetDirectMessageConversationMetadataByUsername
This is marked for deprecation and will be removed in a future release. Please use Slack.GetConversationMetadata instead.
Get the metadata of a direct message conversation in Slack by the username.
Parameters
- username (
string
, required) The username of the /person to get messages with - next_cursor (
string
, optional) The cursor to use for pagination, if continuing from a previous search.
Slack.GetMultiPersonDmConversationMetadataByUsernames
This is marked for deprecation and will be removed in a future release. Please use Slack.GetConversationMetadata instead.
Get the metadata of a multi-person direct message conversation in Slack by the usernames.
Parameters
- usernames (
array[string]
, required) The usernames of the /people to get messages with - next_cursor (
string
, optional) The cursor to use for pagination, if continuing from a previous search.
Auth
The Arcade Slack Sever uses the Slack auth provider to connect to users’ Slack . Please refer to the Slack auth provider documentation to learn how to configure auth.