# SlackApi
import StarterToolInfo from "@/app/_components/starter-tool-info";
import ToolInfo from "@/app/_components/tool-info";
import Badges from "@/app/_components/badges";
import TabbedCodeBlock from "@/app/_components/tabbed-code-block";
import TableOfContents from "@/app/_components/table-of-contents";
import ToolFooter from "@/app/_components/tool-footer";
import { Callout } from "nextra/components";
The SlackApi MCP Sever offers a comprehensive set of tools for administering Slack workspaces, automating messaging, managing channels, calls, files, emojis, user groups, invites, and user/team data. Key capabilities include:
- Workspace & team management: create/update team name/description, fetch team info, settings, preferences, integration logs, billable users, and list/inspect teams in an Enterprise org.
- User and identity operations: list workspace/team users, find users by email, get user profiles, presence, identity, and manage profile photos.
- Channels & conversations: create/join conversations, get conversation info and members, list channels/conversations accessible to a user, open/resume DMs, invite users, set read cursors, and manage shared channel invites.
- Messaging & scheduling: send messages (regular and ephemeral), schedule/delete scheduled messages, list scheduled messages, get message permalinks, and search messages/files.
- Calls: register calls, get call info, add/remove participants.
- Files & sharing: obtain external upload URLs, fetch remote file info, share remote files to channels, enable public sharing.
- Bookmarks, pins & reactions: add/edit/remove bookmarks, pin/list pinned items, add/remove reactions.
- Emoji management: list custom emojis, rename emojis, and add emoji aliases (Enterprise).
- User groups: create, enable/disable, list, update user groups and their membership.
- Invite/workflow management: list pending/approved/denied workspace invites, accept/approve/deny shared channel invites, and list shared invites.
- Admin tools & verification: fetch workspace settings, owners, channels for org usergroups, list enterprise emojis/teams, revoke tokens, verify API calling code, and retrieve integration logs.
- Custom behavior: provide custom unfurling for URLs.
This MCP Sever is designed for admins and apps requiring broad Slack API access (admin, invites, calls, chat, files, usergroups, reactions, users scopes).
## Available Tools
If you need to perform an action that's not listed here, you can [get in touch
with us](mailto:contact@arcade.dev) to request a new tool, or [create your own
tools](/guides/create-tools/tool-basics/build-mcp-server).
## SlackApi.AddSlackEmojiAlias
Add an emoji alias in a Slack Enterprise organization.
**Parameters**
- **emoji_alias_name** (`string`, required) The new alias for the specified emoji. Whitespace or colons will be automatically trimmed.
- **target_emoji_name** (`string`, required) The name of the existing emoji to which the new alias is being added. Remove any surrounding whitespace or colons.
## SlackApi.ListSlackEnterpriseEmojis
Retrieve emojis for a Slack Enterprise organization.
**Parameters**
- **pagination_cursor** (`string`, optional) Cursor for fetching the next page of emojis. Use 'next_cursor' from the previous response.
- **max_items_to_return** (`integer`, optional) The maximum number of emojis to return, between 1 and 1000 inclusive. (default: '100')
## SlackApi.RenameSlackEmoji
Rename an emoji in a Slack Enterprise organization.
**Parameters**
- **current_emoji_name** (`string`, required) The current name of the emoji to be renamed. Colons (:myemoji:) around the value are optional.
- **new_emoji_name** (`string`, required) The new name to assign to the emoji in the Slack Enterprise organization.
## SlackApi.ListApprovedWorkspaceInviteRequests
Retrieve all approved workspace invite requests from Slack.
**Parameters**
- **workspace_id** (`string`, optional) ID for the Slack workspace where the invite requests were made. Required if the Enterprise org has more than one workspace.
- **pagination_cursor** (`string`, optional) Value of the `next_cursor` from the previous API response for paginating results.
- **result_limit** (`integer`, optional) Specify the number of results to return, between 1 and 1000 inclusive. (default: '100')
## SlackApi.ListDeniedSlackInviteRequests
Retrieve denied Slack workspace invite requests.
**Parameters**
- **workspace_team_id** (`string`, optional) ID of the workspace where the invite requests were made. Required if the Enterprise org has multiple workspaces.
- **pagination_cursor** (`string`, optional) The cursor value from the previous API response to fetch the next set of results. Use this for pagination.
- **result_limit** (`integer`, optional) Specify the number of denied invite request results to return, between 1 and 1000 inclusive. (default: '100')
## SlackApi.ListPendingWorkspaceInvites
Retrieve all pending workspace invite requests from Slack.
**Parameters**
- **workspace_id** (`string`, optional) The ID of the workspace to list pending invite requests from. Required for multi-workspace enterprises.
- **pagination_cursor** (`string`, optional) The cursor value for fetching the next set of invite requests. Use the `next_cursor` from the previous response if available.
- **result_limit** (`integer`, optional) The number of invite requests to return per call, must be between 1 and 1000. (default: '100')
## SlackApi.ListTeamsInEnterprise
Retrieve all teams in an Enterprise organization on Slack.
**Parameters**
- **maximum_items_to_return** (`integer`, optional) Specify the maximum number of teams to retrieve. Must be a positive integer, up to 1000. (default: '100')
- **pagination_cursor** (`string`, optional) Use this to retrieve the next page of results by setting it to the `next_cursor` from the previous response.
## SlackApi.ListSlackWorkspaceOwners
Retrieve all owners in a Slack workspace.
**Parameters**
- **workspace_id** (`string`, required) The unique identifier of the Slack workspace for which to list the owners.
- **maximum_items_to_return** (`integer`, optional) Specifies the maximum number of owners to return, ranging from 1 to 1000. (default: '100')
- **pagination_cursor** (`string`, optional) The cursor from the previous response used to fetch the next page of owners. Leave empty for the first page.
## SlackApi.FetchWorkspaceSettingsInfo
Retrieve settings information for a Slack workspace.
**Parameters**
- **slack_team_id** (`string`, required) The unique identifier of the Slack workspace (team) for which to fetch the settings information.
## SlackApi.SetWorkspaceDescription
Update the description of a Slack workspace.
**Parameters**
- **workspace_id** (`string`, required) The unique identifier for the Slack workspace where the description will be updated.
- **workspace_description** (`string`, required) The new description to set for the Slack workspace. Provide a clear and concise text.
## SlackApi.SetSlackWorkspaceName
Update the name of a Slack workspace.
**Parameters**
- **workspace_id** (`string`, required) Unique identifier for the Slack workspace whose name you want to update.
- **new_workspace_name** (`string`, required) The desired new name for the Slack workspace. This replaces the existing name.
## SlackApi.ListChannelsForUsergroup
Retrieve channels linked to an org-level user group in Slack.
**Parameters**
- **usergroup_id** (`string`, required) The ID of the IDP group to list channels for. It identifies which organizational group to retrieve the default channels from.
- **workspace_id** (`string`, optional) The unique identifier for the Slack workspace.
- **include_member_count_in_channels** (`boolean`, optional) Set to true to include the count of members for each channel, otherwise set to false.
## SlackApi.ListWorkspaceUsers
Retrieve a list of users from a Slack workspace.
**Parameters**
- **workspace_team_id** (`string`, optional) The ID of the Slack workspace (e.g., T1234) to filter users from. Only users from this workspace will be listed.
- **pagination_cursor** (`string`, optional) Use this to navigate through paginated results by setting it to the `next_cursor` from a previous response.
- **user_retrieval_limit** (`integer`, optional) Maximum number of users to retrieve per page from the Slack workspace. (default: '100')
- **return_only_active_users** (`boolean`, optional) Return only active users if true; return only deactivated users if false. Default is true.
- **include_deactivated_user_workspaces** (`boolean`, optional) Include workspaces for users even if they are deactivated. Only applies with org token and no team_id. Default is false.
- **return_only_guest_users** (`boolean`, optional) If true, returns only guests and their expiration dates that belong to the specified team_id.
## SlackApi.CheckApiCallingCode
Verify the correctness of API calling code for Slack.
**Parameters**
- **simulate_error_response** (`string`, optional) Specify an error code to simulate an error response for testing API calls. Useful for testing error handling.
## SlackApi.RevokeSlackToken
Revoke a Slack authentication token.
**Parameters**
- **trigger_testing_mode** (`boolean`, optional) Set to true to trigger testing mode where the token will not be revoked. Useful for testing.
## SlackApi.EditSlackBookmark
Edit an existing bookmark in a Slack channel.
**Parameters**
- **slack_channel_id** (`string`, required) The ID of the Slack channel where the bookmark will be updated.
- **target_bookmark_id** (`string`, required) The unique identifier of the bookmark you want to update.
- **bookmark_title** (`string`, optional) The new title for the bookmark to update.
- **bookmark_link** (`string`, optional) URL of the bookmark to be edited. Ensure it is a valid format starting with http or https.
- **emoji_tag** (`string`, optional) The emoji tag to apply to the bookmark link. It should be a valid emoji code (e.g., :smile:).
## SlackApi.RemoveSlackBookmark
Remove a bookmark from a Slack channel.
**Parameters**
- **slack_channel_id_to_remove_bookmark** (`string`, required) The ID of the Slack channel from which the bookmark should be removed. This ID specifies the target channel and is required to locate and delete the bookmark.
- **bookmark_id_to_remove** (`string`, required) The ID of the bookmark to be removed from a Slack channel. Ensure it is specified correctly to delete the correct bookmark.
- **quip_section_id** (`string`, optional) The ID of the Quip section to unbookmark. This is required to specify which section's bookmark should be removed.
## SlackApi.GetSlackBotInfo
Retrieve details about a Slack bot user.
**Parameters**
- **target_bot_id** (`string`, optional) The unique bot ID for which information is requested. This ID is specific to each workspace the bot is in.
- **team_id_for_org_token_use** (`string`, optional) Encoded team or enterprise ID where the bot exists. Required if using an organization token. Ignored if using a workspace-level token.
## SlackApi.RegisterSlackCall
Registers a new call on Slack.
**Parameters**
- **unique_call_id** (`string`, required) A unique ID for the Call, provided by the 3rd-party Call provider. Ensure it is unique across all calls from your service.
- **call_join_url** (`string`, required) The URL required for a client to join the Call on Slack.
- **optional_human_readable_display_id** (`string`, optional) An optional, human-readable ID for the call, supplied by the third-party provider. This ID will be displayed in the Call object if given.
- **desktop_app_join_url** (`string`, optional) The URL used to directly launch the 3rd-party Call from Slack clients, if provided.
- **call_start_timestamp** (`integer`, optional) Unix timestamp indicating when the call is scheduled to start.
- **call_title** (`string`, optional) The name of the Call to be registered on Slack. This title will be used to identify the Call within Slack.
- **call_creator_user_id** (`string`, optional) The valid Slack user ID of the creator of this call. Optional if using a user token, which defaults to the authed user.
- **participants_info** (`array[string]`, optional) A list of participants to register for the call, including 'slack_id', 'external_id', 'display_name', and 'avatar_url' for each user.
## SlackApi.GetCallInformation
Retrieve detailed information about a specific call in Slack.
**Parameters**
- **call_id** (`string`, required) The unique identifier of the call as returned by the `calls.add` method. This ID is necessary to retrieve detailed call information.
## SlackApi.AddCallParticipants
Add new participants to a Slack call.
**Parameters**
- **call_id** (`string`, required) The unique identifier for the call, as returned by the `calls.add` method. This ID specifies which call the participants will be added to.
- **participant_users** (`array[string]`, required) List of users to add, specified by `slack_id` or `external_id`. Include optional `display_name` and `avatar_url` for each user.
## SlackApi.RemoveCallParticipants
Remove participants from a Slack call.
**Parameters**
- **call_id** (`string`, required) The unique identifier for the call from which participants are to be removed. This `id` is obtained from the `calls.add` method.
- **users_to_remove** (`array[string]`, required) A list of user IDs to remove as participants from the call. Refer to Slack's documentation for specifying user IDs.
## SlackApi.DeleteScheduledSlackMessage
Delete a pending scheduled message from Slack queue.
**Parameters**
- **channel_id** (`string`, required) The ID of the channel where the scheduled message is set to post. Required to identify the correct message to delete.
- **scheduled_message_id** (`string`, required) The ID of the scheduled message to be deleted. This ID is obtained from the `chat.scheduleMessage` response.
- **delete_as_authenticated_user** (`boolean`, optional) Set to true to delete the message as the authenticated user with `chat:write:user` scope. Bot users are considered authenticated users. If false, the message will be deleted with `chat:write:bot` scope.
## SlackApi.GetSlackMessagePermalink
Retrieve a permalink URL for a specific Slack message.
**Parameters**
- **channel_id** (`string`, required) The unique identifier of the Slack conversation or channel containing the message.
- **message_timestamp** (`string`, required) The unique timestamp of the message to retrieve the permalink for. It identifies the message within the Slack channel.
## SlackApi.SendEphemeralMessageSlack
Send an ephemeral message to a user in a Slack channel.
**Parameters**
- **target_channel** (`string`, required) The channel, private group, or IM channel where the ephemeral message will be sent. Accepts an encoded ID or the channel's name.
- **recipient_user_id** (`string`, required) The ID of the user who will receive the ephemeral message. Must be in the specified channel.
- **structured_attachments** (`array[string]`, optional) A JSON-encoded array of structured attachments for the message. Presented as a URL-encoded string.
- **structured_blocks** (`array[string]`, optional) A URL-encoded JSON array of structured Slack block elements. Use for rich message formatting.
- **message_icon_emoji** (`string`, optional) Emoji to display as the message icon, overriding icon_url. Specify using the emoji name like :smile:.
- **message_icon_url** (`string`, optional) URL for the image to be used as the icon for the message. It overrides the icon_emoji if provided.
- **message_markdown_text** (`string`, optional) The main text formatted in markdown to be sent as an ephemeral message. Do not use with `blocks` or `text`. Character limit: 12,000.
- **message_parse_mode** (`string`, optional) Specifies how the message text is interpreted. Options are: 'none', 'full', 'mrkdwn', or 'false'. Defaults to 'none'. (default: 'none')
- **ephemeral_message_text** (`string`, optional) The main text of the ephemeral message for Slack. It acts as a fallback when using blocks; can be formatted as plain text or markdown. Limit to a few thousand bytes.
- **parent_message_timestamp** (`string`, optional) The timestamp of the parent message to post this ephemeral message in its thread. Ensure there is already an active thread.
- **bot_username** (`string`, optional) The username for the bot sending the ephemeral message. This sets the display name in the Slack message.
- **link_names_auto_link** (`boolean`, optional) Set to true to automatically find and link channel names and usernames.
## SlackApi.SendSlackMessage
Sends a message to a Slack channel.
**Parameters**
- **target_channel_id_or_name** (`string`, required) The encoded ID or name of the channel, private group, or IM where the message will be sent. Retrieve using Slack's conversations.list API.
- **message_attachments** (`array[string]`, optional) A JSON array of structured attachment objects for the message, provided as a URL-encoded string. Example: `[{"pretext": "pre-hello", "text": "text-world"}]`.
- **structured_blocks** (`array[string]`, optional) A JSON-based array of structured blocks for constructing messages using Block Kit. Provide as a URL-encoded string. Include fallback text if necessary.
- **emoji_icon_for_message** (`string`, optional) Emoji to display as the icon for the Slack message. Overrides any image URL icon.
- **message_icon_url** (`string`, optional) URL to an image to use as the icon for the message. Overrides any specified icon emoji.
- **message_markdown** (`string`, optional) The message text formatted using markdown, up to 12,000 characters. Cannot be used with `blocks` or `text`.
- **message_metadata** (`string`, optional) A JSON object with 'event_type' and 'event_payload' fields, URL-encoded, providing additional metadata for the message.
- **parse_mode** (`string`, optional) Specifies how the message content should be treated. Options are 'none' to remove hyperlinks or 'full' to ignore markdown formatting.
- **message_text** (`string`, optional) The main text of the message. Acts as the primary message or a fallback for notifications when using blocks. Supports plain text or markdown.
- **thread_timestamp** (`string`, optional) Timestamp of the parent message to which this message will be a reply. Use the parent's `ts` value, not a reply's.
- **bot_username** (`string`, optional) The display name to use for the bot when sending the message to Slack.
- **post_as_authenticated_user** (`boolean`, optional) Set to true to post the message as the authenticated user instead of as a bot. Only applicable for classic apps.
- **link_user_groups** (`boolean`, optional) Enable linking of user groups in the message. Individual user linking is not supported.
- **enable_slack_markup_parsing** (`boolean`, optional) Set to true to enable Slack markup parsing in the message. Default is enabled.
- **broadcast_reply_to_channel** (`boolean`, optional) Set to true to make the reply visible to everyone in the channel when responding to a thread. Use with 'thread_ts'. Default is false.
- **enable_unfurling_text_content** (`boolean`, optional) Set to true to enable unfurling of primarily text-based content in Slack messages.
- **disable_media_unfurling** (`boolean`, optional) Set to false to enable media unfurling and true to disable it. (default: 'false')
## SlackApi.ListScheduledMessages
Retrieve scheduled messages from Slack.
**Parameters**
- **channel_id** (`string`, optional) The ID of the Slack channel from which to retrieve scheduled messages.
- **pagination_cursor** (`string`, optional) Cursor value for pagination to specify the starting point of the list from a previous call.
- **latest_timestamp** (`string`, optional) A Unix timestamp marking the latest point in the time range for fetching scheduled messages. Ensure it is greater than the `oldest` timestamp if both are set.
- **max_number_of_entries** (`integer`, optional) Specify the maximum number of scheduled messages to return from Slack.
- **oldest_timestamp** (`string`, optional) A Unix timestamp representing the start of the time range for scheduled messages. It must be less than the `latest_timestamp` if both are specified.
- **team_id** (`string`, optional) Encoded team ID to specify which team's channels to list. Required if using an org-level token; ignore for workspace-level tokens.
## SlackApi.ScheduleSlackMessage
Schedule a message to be sent later in Slack.
**Parameters**
- **slack_channel_id_or_name** (`string`, required) Specify the target Slack channel, private group, or DM. Use an encoded ID or the channel name. Retrieve channel ID via `conversations.list`.
- **schedule_time_unix_timestamp** (`integer`, required) Unix timestamp for when the message should be posted to Slack. Must be within 120 days and not exceed 30 messages per 5-minute window.
- **attachments_json** (`string`, optional) A JSON array of structured attachments as a URL-encoded string for the Slack message.
- **structured_blocks_json** (`string`, optional) A URL-encoded string of a JSON-based array containing structured blocks for message formatting.
- **message_markdown** (`string`, optional) Message text in markdown format. Avoid using with 'blocks' or 'text'. Maximum 12,000 characters.
- **message_parsing_mode** (`string`, optional) Specifies how the message content should be parsed and interpreted when sending to Slack. For more details, refer to chat.postMessage documentation.
- **message_text** (`string`, optional) The main body of the Slack message or a fallback text when using blocks. Can be plain text or formatted with mrkdwn.
- **parent_message_timestamp** (`string`, optional) Timestamp of the parent message to which this message is a reply. Use the original message's timestamp, not a reply's timestamp.
- **metadata_json** (`string`, optional) JSON object containing 'event_type' and 'event_payload' fields. Must be URL-encoded. Note: using this will prevent scheduled messages from posting.
- **enable_group_linking** (`boolean`, optional) Set to true to link user groups in the message. Linking individual users is not supported; use mention syntax instead.
- **make_reply_visible_to_everyone** (`boolean`, optional) Set to true to make the reply visible to everyone in the channel or conversation. Use with `thread_ts`. Defaults to false.
- **enable_link_unfurling** (`boolean`, optional) Pass true to enable unfurling of primarily text-based content.
- **disable_unfurling_of_media_content** (`boolean`, optional) Set to true to disable unfurling of media content. Defaults to false.
## SlackApi.CustomUnfurlSlackUrls
Provide custom unfurl behavior for user-posted URLs on Slack.
**Parameters**
- **channel_id** (`string`, required) ID of the Slack channel where the message is posted. Required with 'ts' for custom unfurl or with 'unfurl_id' and 'source'.
- **message_timestamp** (`string`, required) Timestamp of the message to which unfurl behavior will be added. Ensure it corresponds to a message in the specified channel containing a fully-qualified URL registered with your Slack app.
- **unfurl_url_map** (`string`, required) A URL-encoded JSON map with URLs as keys and their corresponding unfurl data as values. Each URL should point to a single attachment, like message buttons.
- **authentication_invitation_message** (`string`, optional) A simple formatted string sent as an ephemeral message inviting the user to authenticate for full unfurl behavior. Supports Slack's _bold_, _italics_, and linking formatting. If provided, this takes precedence over `authentication_invitation_url`.
- **custom_authentication_url** (`string`, optional) A URL to redirect users for app authentication to enable full URL unfurling, requires URL encoding.
- **user_authentication_blocks** (`array[string]`, optional) A URL-encoded JSON array of structured blocks to send as an ephemeral message for user authentication invitation.
- **unfurl_link_id** (`string`, optional) The ID of the link to unfurl. Must be used with 'source'.
- **link_source** (`string`, optional) Specify the source of the link to unfurl as either 'composer' for links inside the message composer or 'conversations_history' for links posted to a conversation. Must be used with 'unfurl_id', or alternatively with 'channel' and 'ts'.
- **require_user_authentication** (`boolean`, optional) Set to true if the user must install your Slack app to trigger unfurls for this domain.
## SlackApi.AcceptSlackInvite
Accept invitations to a Slack Connect channel.
**Parameters**
- **channel_name** (`string`, required) Provide the desired name for the Slack Connect channel. If the channel doesn't exist in your workspace, this name will be assigned to it.
- **invite_id** (`string`, optional) ID of the invitation you want to accept. Must provide either this or channel_id.
- **slack_channel_id_to_accept** (`string`, optional) The ID of the channel you would like to accept the invitation for. Either this or `invite_id` is required.
- **workspace_id** (`string`, optional) The ID of the workspace where the channel should be accepted. Required if using an org-level token.
- **is_channel_private** (`boolean`, optional) True to make the channel private; false to make it public.
- **use_free_trial** (`boolean`, optional) Set to 'True' to use your workspace's free trial to start using Slack Connect.
## SlackApi.ApproveSlackChannelInvitation
Approve an invitation to a Slack Connect channel.
**Parameters**
- **shared_channel_invite_id** (`string`, required) The ID of the shared channel invitation you want to approve. It is required to specifically identify which invitation is being approved for the Slack Connect channel.
- **other_party_team_id** (`string`, optional) The team or enterprise ID of the other party involved in the Slack Connect invitation you are approving.
## SlackApi.CreateSlackConversation
Create a new public or private Slack conversation.
**Parameters**
- **channel_name** (`string`, required) The name of the new Slack channel to create. It must contain only lowercase letters, numbers, hyphens, and underscores, and be 80 characters or less.
- **encoded_team_id** (`string`, optional) The encoded team ID where the channel will be created. Required when using an organization-level token. Ignored if using a workspace-level token.
- **create_private_channel** (`boolean`, optional) Set to true to create a private channel instead of a public one.
## SlackApi.GetConversationInfo
Fetches information about a Slack conversation.
**Parameters**
- **conversation_id** (`string`, required) The unique ID of the Slack conversation to retrieve information for.
- **include_locale** (`boolean`, optional) Set to `true` to receive the locale for this conversation. Defaults to `false`.
- **include_member_count** (`boolean`, optional) Set to true to include the member count for the specified conversation. Defaults to false.
## SlackApi.InviteUserToSlackChannel
Invite users to a Slack channel.
**Parameters**
- **slack_channel_id** (`string`, required) The ID of the Slack channel to invite users to. It can be a public or private channel ID.
- **user_ids_list** (`string`, required) A list of up to 100 user IDs to invite, separated by commas.
- **continue_with_valid_users** (`boolean`, optional) Set to true to invite valid users while ignoring invalid IDs when multiple user IDs are provided. Default is false.
## SlackApi.JoinSlackConversation
Join an existing conversation in Slack.
**Parameters**
- **conversation_id** (`string`, required) The ID of the conversation or channel you want to join in Slack.
## SlackApi.ListSlackChannels
Retrieve a list of all channels in a Slack team.
**Parameters**
- **pagination_cursor** (`string`, optional) The cursor used to paginate through data collections. Use the `next_cursor` from a previous response to continue; omit for the first page.
- **maximum_number_of_channels** (`integer`, optional) Specify the maximum number of channels to return. Must be an integer under 1000. Note that fewer channels than requested may be returned. (default: '100')
- **team_id_for_org_app** (`string`, optional) Encoded team ID to list channels. Required for org-level tokens; ignored for workspace-level tokens.
- **channel_types** (`string`, optional) Comma-separated list of channel types to include, e.g., 'public_channel', 'private_channel', 'mpim', 'im'. (default: 'public_channel')
- **exclude_archived_channels** (`boolean`, optional) Set to true to exclude archived channels from the list of Slack channels. Default is false.
## SlackApi.ListSharedChannelInvites
Retrieve unapproved shared channel invites from Slack.
**Parameters**
- **workspace_team_id** (`string`, optional) The encoded team ID for the workspace to retrieve invites from. Required when using an organization token.
- **maximum_invites_to_return** (`integer`, optional) Specify the maximum number of unapproved shared channel invites to retrieve. (default: '100')
- **pagination_cursor** (`string`, optional) The cursor for paginating through results, obtained from a previous call's next_cursor.
## SlackApi.SetSlackChannelReadCursor
Update the read cursor in a Slack channel.
**Parameters**
- **channel_id** (`string`, required) The ID of the Slack channel or conversation where you want to set the read cursor. This should be a valid Slack channel ID.
- **timestamp_of_message_to_mark_as_read** (`string`, required) The unique identifier (timestamp) of the message you want to mark as most recently seen in the conversation.
## SlackApi.GetSlackConversationMembers
Retrieve members from a specified Slack conversation.
**Parameters**
- **conversation_id** (`string`, required) The ID of the Slack conversation to retrieve members from. This can be a channel, group, or direct message.
- **pagination_cursor** (`string`, optional) Cursor for pagination, set to the `next_cursor` value from a previous response to continue retrieving members from a conversation.
- **max_items_to_return** (`integer`, optional) The maximum number of conversation members to return. Recommended to specify a value under 1000, with no more than 200 results at a time for optimal pagination. (default: '100')
## SlackApi.OpenOrResumeSlackConversation
Open or resume a direct or multi-person message in Slack.
**Parameters**
- **conversation_channel_id** (`string`, optional) The ID of an existing direct or multi-person message channel to resume. Alternatively, provide the `users` field to start a new conversation.
- **target_user_ids** (`string`, optional) A comma-separated list of user IDs to open or resume a conversation. Provide 1 to 8 IDs. Supplying 1 ID opens a 1:1 DM, while more than 1 ID opens a multi-person DM. Do not include the caller's ID.
- **return_full_im_channel_definition** (`boolean`, optional) Set to true to receive the entire IM channel definition; false returns only the conversation ID.
- **prevent_creation** (`boolean`, optional) If true, does not create a new conversation and instead checks for an existing DM or MPDM.
## SlackApi.GetSlackThreadMessages
Retrieve messages from a Slack conversation thread.
**Parameters**
- **conversation_id** (`string`, required) The ID of the Slack conversation from which to fetch the message thread.
- **thread_message_timestamp** (`string`, required) Unique identifier of a parent message or a thread message (timestamp). Fetches the thread or the single message.
- **pagination_cursor** (`string`, optional) Cursor for pagination. Use the `next_cursor` from a previous response to fetch the next page of data.
- **latest_message_timestamp** (`string`, optional) Only include messages posted before this Unix timestamp in the results. (default: 'now')
- **maximum_items_to_return** (`integer`, optional) Specify the maximum number of messages to fetch. The default and maximum are 15 for certain apps, with possible rate limits. (default: '1000')
- **start_time_unix_timestamp** (`string`, optional) Only include messages after this Unix timestamp in results. (default: '0')
- **include_all_message_metadata** (`boolean`, optional) Set to true to return all metadata associated with this message.
- **include_boundary_timestamps** (`boolean`, optional) Include messages with 'oldest' or 'latest' timestamps. Ignored unless either timestamp is specified.
## SlackApi.DenySharedInviteRequest
Denies an external user invitation to a Slack channel.
**Parameters**
- **shared_channel_invite_id** (`string`, required) The ID for the shared channel invite request that you intend to deny. This is required for specifying which invite to decline.
- **deny_invite_message** (`string`, optional) An optional message explaining why the invitation was denied. This message will be sent to the requester.
## SlackApi.ListCustomEmojiForTeam
Retrieve a list of custom emojis for a specific team.
**Parameters**
- **include_emoji_categories** (`boolean`, optional) Set to true to include categories for Unicode emojis in the response.
## SlackApi.GetExternalFileUploadUrl
Retrieve a URL to upload an external file to Slack.
**Parameters**
- **file_size_in_bytes** (`integer`, required) Specify the size of the file to be uploaded, measured in bytes. Ensure this value accurately reflects the file size.
- **file_name** (`string`, required) The name of the file to be uploaded to Slack.
- **snippet_syntax_type** (`string`, optional) Specify the syntax highlighting type for the snippet being uploaded, such as 'javascript', 'python', etc.
- **alt_text_description** (`string`, optional) A description of the image for screen-readers, limited to 1000 characters.
## SlackApi.GetRemoteFileInfoSlack
Retrieve details about a remote file from Slack.
**Parameters**
- **file_external_identifier** (`string`, optional) The GUID defined by the creator for the remote file to retrieve its information.
- **file_id** (`string`, optional) The unique identifier of the file to retrieve information about. Use this to specify the file in Slack.
## SlackApi.GetSlackRemoteFilesInfo
Retrieve information about remote files added to Slack.
**Parameters**
- **filter_by_channel_id** (`string`, optional) Filter remote files to only include those appearing in the specified Slack channel, indicated by its channel ID.
- **pagination_cursor** (`string`, optional) A cursor for paginating through data. Use the `next_cursor` from a prior request to fetch the next set of results. Defaults to the first page if not set.
- **maximum_items_to_return** (`integer`, optional) Specify the maximum number of remote file records to retrieve from Slack.
- **filter_files_from_timestamp** (`string`, optional) Filter files created after this inclusive timestamp. Use a Unix timestamp format. (default: '0')
- **timestamp_filter_end** (`string`, optional) Filter files created before this timestamp (inclusive) in Unix epoch time format. (default: 'now')
## SlackApi.ShareRemoteFileInChannel
Share a remote file into a Slack channel.
**Parameters**
- **target_channel_ids** (`string`, required) Comma-separated list of Slack channel IDs where the remote file will be shared. Ensure IDs are valid and the user has permission to share files in these channels.
- **file_external_identifier** (`string`, optional) The globally unique identifier (GUID) for the file set by the app when registering with Slack. Required if 'file' is not provided.
- **file_id** (`string`, optional) The ID of a file registered with Slack to be shared. Required if `external_id` is not provided.
## SlackApi.EnableSlackFileSharing
Enable a Slack file for public sharing.
**Parameters**
- **file_id_to_share** (`string`, required) The ID of the file on Slack that you want to enable for public sharing.
## SlackApi.PinItemToSlackChannel
Pin an item to a Slack channel.
**Parameters**
- **channel_id** (`string`, required) The ID of the Slack channel where the message will be pinned. A `timestamp` must also be provided.
- **message_timestamp** (`string`, optional) The timestamp (`ts`) of the message to pin in the Slack channel. Ensure the channel is also specified.
## SlackApi.ListPinnedItems
Retrieve items pinned to a Slack channel.
**Parameters**
- **channel_id** (`string`, required) The ID of the Slack channel to retrieve pinned items from. This is required to specify which channel's pinned items will be listed.
## SlackApi.AddSlackReaction
Add a reaction to a Slack item.
**Parameters**
- **slack_channel_id** (`string`, required) ID of the channel where the message is posted. Use to specify the location for adding a reaction.
- **reaction_emoji_name** (`string`, required) The name of the emoji to be used as a reaction. Include skin tone modifiers if applicable (e.g., 'thumbsup::skin-tone-2').
- **message_timestamp** (`string`, required) The timestamp of the message to which the reaction will be added. Ensure the format matches the Slack API requirements.
## SlackApi.RemoveReactionFromItem
Remove a reaction from a Slack item.
**Parameters**
- **reaction_emoji_name** (`string`, required) The name of the emoji reaction to be removed, such as 'smile' or 'thumbsup'.
- **target_file_id** (`string`, optional) The identifier of the file from which to remove the reaction. Specify either this, `target_file_comment_id`, or both `target_channel_id` and `target_message_timestamp`.
- **file_comment_id** (`string`, optional) The ID of the file comment from which you want to remove the reaction. Provide this if the reaction is on a file comment.
- **message_channel_id** (`string`, optional) Channel ID where the message to remove the reaction from was posted. Required if removing a reaction from a message. Use in combination with 'message_timestamp'.
- **message_timestamp** (`string`, optional) The exact timestamp of the message from which to remove the reaction. Specify when targeting a message.
## SlackApi.SearchFilesInSlack
Search for files in Slack using a query.
**Parameters**
- **search_query** (`string`, required) The text string to search for in Slack files. Use keywords or phrases to narrow down results.
- **items_per_page** (`integer`, optional) The number of file results to return per page. Maximum allowed value is 100. (default: '20')
- **results_page_number** (`integer`, optional) The specific page number of results to retrieve, with a maximum value of 100. (default: '1')
- **sort_files_by** (`string`, optional) Specify how to sort the search results: either by 'score' or 'timestamp'. (default: 'score')
- **sort_direction** (`string`, optional) Change the sort direction for search results to ascending ('asc') or descending ('desc'). (default: 'desc')
- **encoded_team_id** (`string`, optional) Encoded team ID to specify the search domain when using an org-level token. Ignored with a workspace-level token.
- **enable_query_highlight** (`boolean`, optional) Set to true to enable highlight markers for matching query terms in the search results.
## SlackApi.SearchSlackMessages
Search Slack messages based on a query.
**Parameters**
- **search_query** (`string`, required) The text to search for in Slack messages. Use keywords or phrases to narrow down results.
- **results_per_page** (`integer`, optional) The number of search results to return per page, with a maximum limit of 100. (default: '20')
- **page_number** (`integer`, optional) The page number of search results to retrieve, maximum value of 100. (default: '1')
- **pagination_cursor** (`string`, optional) Use '\*' for the first call to start pagination or provide the 'next_cursor' value from previous results to continue.
- **sort_results_by** (`string`, optional) Specify the criterion for sorting the search results, either by 'score' for relevance or 'timestamp' for chronological order. (default: 'score')
- **sort_direction** (`string`, optional) Specify the order for sorting results: use 'asc' for ascending or 'desc' for descending. (default: 'desc')
- **team_id** (`string`, optional) The encoded team ID to search within. Required only if an organization-level token is used. Ignored for workspace-level tokens.
- **enable_query_highlighting** (`boolean`, optional) Set to true to enable query highlight markers, marking matching terms in the results.
## SlackApi.GetTeamBillableUsersInfo
Retrieves billable users info for the current Slack team.
**Parameters**
- **pagination_cursor** (`string`, optional) Cursor for pagination. Use the `next_cursor` from the previous response to fetch the next page of users. (default: 'fetches the first page')
- **maximum_items_to_return** (`integer`, optional) Specifies the maximum number of billable user entries to be retrieved.
- **specific_user_id** (`string`, optional) The ID of a specific user to retrieve billable information for. Leave empty to retrieve info for all users.
- **encoded_team_id** (`string`, optional) Encoded team ID for retrieving billable info, required if using an org token. Ignored with workspace-level tokens.
## SlackApi.GetCurrentSlackTeamInfo
Retrieve information about the current Slack team.
**Parameters**
- **query_by_domain** (`string`, optional) Comma-separated domains to query instead of a team, used when the team is not specified. This only works for domains in the same enterprise as the querying team token.
- **specific_team_id** (`string`, optional) The ID of the Slack team to retrieve information about. If omitted, information about the current team will be returned.
## SlackApi.GetIntegrationLogs
Retrieve integration logs for the current Slack team.
**Parameters**
- **filter_by_app_id** (`string`, optional) Filter integration logs to a specific Slack app. If not provided, logs for all apps are retrieved.
- **filter_by_change_type** (`string`, optional) Specify the change type to filter logs. Options: 'added', 'removed', 'enabled', 'disabled', 'updated'. Defaults to all logs.
- **result_count** (`string`, optional) The number of log entries to retrieve. Specify the maximum number of logs to return in a single request. (default: '100')
- **result_page_number** (`string`, optional) The specific page number of the integration logs to retrieve. Used for pagination. (default: '1')
- **filter_by_service_id** (`string`, optional) Specify the service ID to filter integration logs related to a specific service. If not provided, logs for all services will be retrieved.
- **encoded_team_id** (`string`, optional) The encoded team ID to get logs from, required if using an org-level token. Ignored if using a workspace-level token.
- **filter_by_user** (`string`, optional) Filter logs generated by a specific user's actions. Defaults to all logs if not specified.
## SlackApi.GetSlackTeamPreferences
Retrieve a list of a workspace's team preferences.
**Parameters**
This tool does not take any parameters.
## SlackApi.GetTeamProfile
Retrieve a team's profile information from Slack.
**Parameters**
- **visibility_filter** (`string`, optional) Filter the profile fields based on visibility. Options: 'all', 'visible', 'hidden'. Default is 'all'.
## SlackApi.CreateSlackUserGroup
Creates a new user group in Slack.
**Parameters**
- **user_group_name** (`string`, required) A unique name for the user group to be created, distinguishing it from other user groups.
- **default_channel_ids** (`array[string]`, optional) A list of channel IDs to set as default for the User Group. Use comma-separated values.
- **custom_additional_channels** (`array[string]`, optional) Comma-separated encoded channel IDs where the User Group can add members.
- **user_group_description** (`string`, optional) A brief text describing the purpose or role of the user group in Slack.
- **unique_mention_handle** (`string`, optional) A unique mention handle for the user group. It must not duplicate existing handles of channels, users, or other user groups.
- **team_id_for_user_group_creation** (`string`, optional) Encoded team ID for the user group creation, required if using an org-level token.
- **include_user_count** (`boolean`, optional) Set to true to include the number of users in each User Group.
- **enable_display_as_sidebar_section** (`boolean`, optional) Set to true to display the user group as a sidebar section for all group members if the group has one or more default channels.
## SlackApi.DisableUserGroup
Disable an existing Slack User Group.
**Parameters**
- **user_group_id** (`string`, required) The encoded ID of the User Group to be disabled.
- **team_id** (`string`, optional) Encoded target team ID where the user group exists. Required only if using an org-level token; ignored for workspace-level tokens.
- **include_user_count** (`boolean`, optional) Include the number of users in the User Group. Set to true to include the count.
## SlackApi.EnableSlackUserGroup
Enable a user group in Slack.
**Parameters**
- **user_group_id** (`string`, required) The encoded ID of the User Group to be enabled in Slack.
- **team_id** (`string`, optional) Provide the encoded team ID where the user group is located. Only required if using an org-level token. Ignored with workspace-level tokens.
- **include_user_count** (`boolean`, optional) Set to true to include the number of users in the User Group.
## SlackApi.ListSlackUserGroups
Retrieve all user groups for a Slack team.
**Parameters**
- **team_id_for_org_token** (`string`, optional) Encoded team ID required when using an org-level token. Ignored if using a workspace-level token.
- **include_user_count** (`boolean`, optional) Set to true to include the number of users in each User Group.
- **include_disabled_groups** (`boolean`, optional) Set to true to include disabled user groups in the results.
- **include_users_in_group** (`boolean`, optional) Include the list of users for each User Group in the response.
## SlackApi.UpdateSlackUserGroup
Update an existing User Group in Slack.
**Parameters**
- **user_group_id** (`string`, required) The encoded ID of the User Group to update in Slack.
- **default_channel_ids** (`array[string]`, optional) A comma-separated list of channel IDs where the User Group is set as default. Use encoded channel IDs.
- **additional_channel_ids** (`array[string]`, optional) Comma separated encoded channel IDs for custom additions to user group members.
- **user_group_description** (`string`, optional) A short description of the User Group to update in Slack. This should clearly define the group's purpose or role.
- **user_group_handle** (`string`, optional) Unique mention handle for the User Group, distinct from all channels, users, and other User Groups.
- **user_group_name** (`string`, optional) A unique name for the User Group to update. Ensure it does not duplicate any existing User Group names.
- **team_id_for_org_token** (`string`, optional) Encoded team ID where the user group exists, required for org-level tokens. Ignored if using a workspace-level token.
- **include_user_count** (`boolean`, optional) Set to true to include the number of users in the User Group.
- **enable_sidebar_section** (`boolean`, optional) Set to true to configure the user group to appear as a sidebar section for all group members. Only relevant if the group has 1 or more default channels.
## SlackApi.UpdateSlackUsergroupUsers
Update the list of users in a Slack user group.
**Parameters**
- **user_group_id** (`string`, required) The encoded ID of the Slack user group to update.
- **user_ids_list** (`array[string]`, required) A comma separated string of encoded Slack user IDs representing the complete user list for the group. This replaces all current members.
- **team_id_for_org_token** (`string`, optional) Encoded team ID where the user group exists. Required if using an organization token; ignored with workspace-level token.
- **update_additional_channels** (`array[string]`, optional) Encoded channel IDs to add user group members to, separated by commas. These represent additional channels for custom user group member additions.
- **include_user_count** (`boolean`, optional) Set to true to include the number of users in the user group in the response.
- **is_shared_section** (`boolean`, optional) Indicates if the API call involves a shared section. Set to true if it does, otherwise false.
## SlackApi.ListAccessibleSlackConversations
Retrieve a list of conversations the user can access on Slack.
**Parameters**
- **pagination_cursor** (`string`, optional) A cursor for pagination to continue listing conversations from a specific point. Use the 'next_cursor' from a previous response. Default is the first page.
- **maximum_items_to_return** (`integer`, optional) The maximum number of conversations to return in the response. Must be an integer with a maximum value of 999. It is recommended to request no more than 200 results at a time for optimal performance. (default: '100')
- **slack_team_id** (`string`, optional) The encoded ID of the Slack team to list conversations for. Required if using an organization-level token. Ignored if a workspace-level token is used.
- **channel_types** (`string`, optional) Comma-separated list of channel types to filter conversations. Options: public_channel, private_channel, mpim, im. (default: 'public_channel')
- **specific_user_id** (`string`, optional) Filter conversations by a specific user ID's membership. Only includes conversations shared with the calling user.
- **exclude_archived_channels** (`boolean`, optional) Set to true to exclude archived channels from the retrieved list of Slack conversations. (default: false)
## SlackApi.CheckSlackDiscoverability
Check if an email is discoverable on Slack.
**Parameters**
- **email_to_check** (`string`, required) The email address to verify if it is associated with a discoverable Slack user.
## SlackApi.GetSlackUserPresence
Retrieve user presence information from Slack.
**Parameters**
- **target_user_id** (`string`, optional) The Slack user ID for which you want to retrieve presence information. (default: 'authed user')
## SlackApi.GetUserIdentity
Retrieve a user's identity information from Slack.
**Parameters**
This tool does not take any parameters.
## SlackApi.ListSlackTeamUsers
Fetches a list of all users in a Slack team.
**Parameters**
- **pagination_cursor** (`string`, optional) Cursor for paginating through data. Use the `next_cursor` from a previous response to continue.
- **maximum_items_to_return** (`integer`, optional) Maximum number of users to return (recommended max is 200 for pagination).
- **slack_team_id** (`string`, optional) The encoded team ID to list users from, necessary if an organization-level token is used. Ignored if a workspace-level token is provided.
- **include_user_locale** (`boolean`, optional) Set to true to receive locale information for each user. Default is false.
## SlackApi.FindSlackUserByEmail
Find a Slack user using their email address.
**Parameters**
- **user_email_address** (`string`, required) The email address of the user in the Slack workspace to search for.
## SlackApi.GetSlackUserProfile
Retrieve Slack user profile information and custom status.
**Parameters**
- **target_user_id** (`string`, optional) The unique identifier of the Slack user whose profile information is to be retrieved.
- **include_labels** (`boolean`, optional) Include labels for each ID in custom profile fields. This option can heavily rate-limit requests and is not recommended. Default is false.
## SlackApi.SetSlackProfilePhoto
Set the user's profile photo on Slack.
**Parameters**
- **crop_box_size** (`string`, optional) The size of the square crop box for the profile photo in pixels. Specify the width and height, which are the same value for a square.
- **crop_box_x_coordinate** (`string`, optional) X coordinate of the top-left corner of the crop box for the profile photo.
- **crop_y_coordinate** (`string`, optional) Y coordinate of the top-left corner of the crop box for the user's profile photo on Slack. This determines where the cropping of the image will start on the vertical axis.
- **profile_photo_image** (`string`, optional) The image file to set as the Slack profile photo. Provide image data directly with the correct content type (e.g., image/jpeg, image/png).