Skip to Content

Slack

Slack icon
Arcade Optimized

Arcade.dev LLM tools for Slack

Author:Arcade
Version:2.0.0
Auth:User authorization via the Slack auth provider
8tools
PyPI VersionPython VersionsWheel StatusDownloadsLicense

Arcade.dev provides a toolkit for integrating with Slack, enabling developers to enhance their applications with powerful Slack features. This toolkit allows for seamless communication, conversation management, and user interactions within Slack's ecosystem.

Capabilities

  • Access conversation metadata, messages, and user information.
  • List users and conversations associated with the authenticated user.
  • Send messages to channels or direct conversations.

OAuth

  • Provider: Slack
  • Scopes: channels:history, channels:read, chat:write, groups:history, groups:read, im:history, im:read, im:write, mpim:history, mpim:read, users:read, users:read.email

Secrets

  • No secrets are required for this integration.

Available tools(8)

8 of 8
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. 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 (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
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 CALL THIS TOOL MULTIPLE TIMES UNNECESSARILY, YOU WILL RELEASE MORE CO2 IN THE ATMOSPHERE AND CONTRIBUTE TO GLOBAL WARMING. 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, releases more CO2 in the atmosphere, and contributes to climate change.
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. Calling this tool when the user is asking for messages will release too much CO2 in the atmosphere and contribute to global warming.
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 and releases more CO2 in the atmosphere, contributing to climate change.
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 tool will open a multi-person conversation with the specified people and send the message to it.
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.

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

Slack.GetConversationMetadata

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.

Parameters

ParameterTypeReq.Description
conversation_idstringOptionalThe ID of the conversation to get metadata for
channel_namestringOptionalThe name of the channel to get metadata for. Prefer providing a conversation_id, when available, since the performance is better.
usernamesarray<string>OptionalThe usernames of the users to get the conversation metadata. Prefer providing user_ids and/or emails, when available, since the performance is better.
emailsarray<string>OptionalThe emails of the users to get the conversation metadata.
user_idsarray<string>OptionalThe IDs of the users to get the conversation metadata.

Requirements

No secrets required

Output

Type:jsonThe conversation metadata.
#

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 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

Parameters

ParameterTypeReq.Description
conversation_idstringOptionalThe 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_namestringOptionalThe name of the channel to get messages from. Prefer providing a conversation_id, when available, since the performance is better.
user_idsarray<string>OptionalThe IDs of the users in the conversation to get messages from.
usernamesarray<string>OptionalThe usernames of the users in the conversation to get messages from. Prefer providinguser_ids and/or emails, when available, since the performance is better.
emailsarray<string>OptionalThe emails of the users in the conversation to get messages from.
oldest_relativestringOptionalThe oldest message to include in the results, specified as a time offset from the current time in the format 'DD:HH:MM'
latest_relativestringOptionalThe latest message to include in the results, specified as a time offset from the current time in the format 'DD:HH:MM'
oldest_datetimestringOptionalThe oldest message to include in the results, specified as a datetime object in the format 'YYYY-MM-DD HH:MM:SS'
latest_datetimestringOptionalThe latest message to include in the results, specified as a datetime object in the format 'YYYY-MM-DD HH:MM:SS'
limitintegerOptionalThe maximum number of messages to return. Defaults to 20. Maximum is 100.
next_cursorstringOptionalThe cursor to use for pagination.

Requirements

No secrets required

Output

Type:jsonThe messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation.
#

Slack.GetUsersInConversation

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.

Parameters

ParameterTypeReq.Description
conversation_idstringOptionalThe ID of the conversation to get users in.
channel_namestringOptionalThe name of the channel to get users in. Prefer providing a conversation_id, when available, since the performance is better.
limitintegerOptionalThe maximum number of users to return. Defaults to 200. Maximum is 500.
next_cursorstringOptionalThe cursor to use for pagination.

Requirements

No secrets required

Output

Type:jsonInformation about each user in the conversation
#

Slack.GetUsersInfo

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 CALL THIS TOOL MULTIPLE TIMES UNNECESSARILY, YOU WILL RELEASE MORE CO2 IN THE ATMOSPHERE AND CONTRIBUTE TO GLOBAL WARMING. 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, releases more CO2 in the atmosphere, and contributes to climate change.

Parameters

ParameterTypeReq.Description
user_idsarray<string>OptionalThe IDs of the users to get
usernamesarray<string>OptionalThe usernames of the users to get. Prefer retrieving by user_ids and/or emails, when available, since the performance is better.
emailsarray<string>OptionalThe emails of the users to get

Requirements

No secrets required

Output

Type:jsonThe users' information
#

Slack.ListConversations

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. Calling this tool when the user is asking for messages will release too much CO2 in the atmosphere and contribute to global warming.

Parameters

ParameterTypeReq.Description
conversation_typesarray<string>OptionalOptionally filter by the type(s) of conversations. Defaults to None (all types).
public_channelprivate_channelmulti_person_direct_messagedirect_message
limitintegerOptionalThe maximum number of conversations to list. Defaults to 200. Maximum is 500.
next_cursorstringOptionalThe cursor to use for pagination.

Requirements

No secrets required

Output

Type:jsonThe list of conversations found with metadata
#

Slack.ListUsers

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 and releases more CO2 in the atmosphere, contributing to climate change.

Parameters

ParameterTypeReq.Description
exclude_botsbooleanOptionalWhether to exclude bots from the results. Defaults to True.
limitintegerOptionalThe maximum number of users to return. Defaults to 200. Maximum is 500.
next_cursorstringOptionalThe next cursor token to use for pagination.

Requirements

No secrets required

Output

Type:jsonThe users' info
#

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 tool will open a multi-person conversation with the specified people and send the message to it.

Parameters

ParameterTypeReq.Description
messagestringRequiredThe content of the message to send.
channel_namestringOptionalThe channel name to send the message to. Prefer providing a conversation_id, when available, since the performance is better.
conversation_idstringOptionalThe conversation ID to send the message to.
user_idsarray<string>OptionalThe Slack user IDs of the people to message.
emailsarray<string>OptionalThe emails of the people to message.
usernamesarray<string>OptionalThe Slack usernames of the people to message. Prefer providing user_ids and/or emails, when available, since the performance is better.

Requirements

No secrets required

Output

Type:jsonThe response from the Slack API
#

Slack.WhoAmI

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.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGet comprehensive user profile and Slack information.
Last updated on