slack_conversations_ archiveArchive a channel (hides it; reversible with unarchive).
Read channel history and thread replies, post or schedule messages, open DMs, create channels and invite people, then pull the files, profiles and reactions behind any of it.
PopMCPSlack
Every messaging, channel, file, user and admin call PopMCP exposes, plus the workspace events it can watch for. Search by name or browse by module.
slack_conversations_ archiveArchive a channel (hides it; reversible with unarchive).
slack_conversations_ createCreate a new public or private channel.
slack_conversations_ historyFetch a channel's recent messages (newest first).
slack_conversations_ infoGet metadata for one channel.
slack_conversations_ inviteInvite one or more users to a channel.
slack_conversations_ joinJoin a public channel (so the bot can read history / post without chat:write.public).
slack_conversations_ listList channels (and optionally DMs/MPDMs) visible to the token.
slack_conversations_ membersList the user ids that belong to a channel.
slack_conversations_ openOpen or resume a direct message (one user) or group DM (multiple users), or re-open by channel id.
slack_conversations_ repliesFetch a thread: the parent message plus its replies.
slack_conversations_ set_ purposeSet a channel's purpose/description.
slack_conversations_ set_ topicSet a channel's topic (the short line under the channel name).
slack_files_ infoGet info about a single file (metadata, share locations, comments).
slack_files_ listList files in the workspace, filtered by channel/user/type/time.
slack_files_ remote_ addRegister an externally-hosted file in Slack by URL (no byte upload needed).
slack_users_ conversationsList the channels a given user (or the token's own user/bot) belongs to.
slack_users_ get_ presenceGet an user's presence (active/away).
slack_users_ infoGet a single user's profile + metadata by id.
slack_users_ listList all users in the workspace (members + bots).
slack_users_ lookup_ by_ emailFind an user by their email address (requires users:read.email).
slack_users_ profile_ getGet an user's profile fields (display name, title, phone, status, custom fields).
slack_chat_ deleteDelete a message by channel + ts.
slack_chat_ get_ permalinkGet a stable permalink URL for a specific message.
slack_chat_ post_ ephemeralSend a message visible to only ONE user in a channel (ephemeral).
slack_chat_ post_ messageSend a message to a channel, DM, or thread.
slack_chat_ schedule_ messageSchedule a message for future delivery.
slack_chat_ scheduled_ messages_ listList pending scheduled messages (optionally filtered to one channel / time range).
slack_chat_ updateEdit an existing message (identified by channel + ts).
slack_team_ infoGet info about the workspace/team.
slack_usergroups_ listList the workspace's user groups (@-mention groups).
slack_bookmarks_ addAdd a bookmark to a channel (a pinned link in the channel header).
slack_bookmarks_ listList a channel's bookmarks.
slack_reactions_ addAdd an emoji reaction to a message.
slack_reactions_ getGet the reactions on a single item (message or file).
slack_reactions_ removeRemove an emoji reaction from a message (or file).
slack_pins_ addPin a message to a channel.
slack_pins_ listList the pinned items in a channel.
slack_search_ messagesSearch messages with Slack's search syntax (e.g.
slack_emoji_ listList the workspace's custom emoji (name → image URL or alias).
slack_conversations_ accept_ shared_ inviteAccept a Slack Connect channel invite.
slack_conversations_ approve_ shared_ inviteApprove a pending Slack Connect invite (admin gate).
slack_conversations_ closeClose a DM or group DM (removes it from the sidebar).
slack_conversations_ decline_ shared_ inviteDecline a Slack Connect invite.
slack_conversations_ invite_ sharedSend a Slack Connect invite to add an external person/org to a channel.
slack_conversations_ kickRemove a single user from a channel.
slack_conversations_ leaveLeave a channel.
slack_conversations_ list_ connect_ invitesList Slack Connect invites sent and received.
slack_conversations_ markMove the read cursor in a channel to a specific message ts (marks earlier messages read).
slack_conversations_ renameRename a channel.
slack_conversations_ request_ shared_ invite_ approveApprove a request to add an external user to a channel.
slack_conversations_ request_ shared_ invite_ denyDeny a request to add an external user to a channel.
slack_conversations_ request_ shared_ invite_ listList pending external-user add requests.
slack_conversations_ unarchiveUnarchive a previously archived channel.
slack_admin_ conversations_ archiveArchive a channel.
slack_admin_ conversations_ bulk_ archiveArchive up to 100 channels at once.
slack_admin_ conversations_ bulk_ deleteDelete up to 100 channels at once.
slack_admin_ conversations_ bulk_ moveMove up to 100 channels to another workspace.
slack_admin_ conversations_ convert_ to_ privateConvert a public channel to private.
slack_admin_ conversations_ convert_ to_ publicConvert a private channel to public.
slack_admin_ conversations_ createCreate a channel org-wide or in a workspace.
slack_admin_ conversations_ deleteDelete a channel.
slack_admin_ conversations_ disconnect_ sharedDisconnect a Slack Connect channel from one or more workspaces.
slack_admin_ conversations_ ekm_ list_ orig_ channelsList EKM-affected originally-connected channel info.
slack_admin_ conversations_ get_ conversation_ prefsGet a channel's posting/permission preferences.
slack_admin_ conversations_ get_ custom_ retentionGet a channel's custom message-retention policy.
slack_admin_ conversations_ get_ teamsList the workspaces a channel belongs to.
slack_admin_ conversations_ inviteInvite users to a channel.
slack_admin_ conversations_ lookupLook up channels by workspace with activity filters.
slack_admin_ conversations_ remove_ custom_ retentionRemove a channel's custom retention policy (revert to default).
slack_admin_ conversations_ renameRename a channel.
slack_admin_ conversations_ restrict_ access_ add_ groupAdd an IDP group allowed to access a private channel.
slack_admin_ conversations_ restrict_ access_ list_ groupsList IDP groups gated to a private channel.
slack_admin_ conversations_ restrict_ access_ remove_ groupRemove an IDP group's access to a private channel.
slack_admin_ conversations_ searchSearch channels across the org.
slack_admin_ conversations_ set_ conversation_ prefsSet a channel's posting/permission preferences.
slack_admin_ conversations_ set_ custom_ retentionSet a channel's custom retention (days).
slack_admin_ conversations_ set_ teamsSet which workspaces a channel is shared to.
slack_admin_ conversations_ unarchiveUnarchive a channel.
slack_admin_ users_ assignAdd an existing org user to a workspace.
slack_admin_ users_ inviteInvite an user to a workspace.
slack_admin_ users_ listList users on a Grid workspace.
slack_admin_ users_ removeRemove an user from a workspace.
slack_admin_ users_ session_ clear_ settingsClear custom session settings for users.
slack_admin_ users_ session_ get_ settingsGet session settings for the given users.
slack_admin_ users_ session_ invalidateInvalidate a single session by id.
slack_admin_ users_ session_ listList an user's active sessions.
slack_admin_ users_ session_ resetWipe all sessions for an user (sign them out everywhere).
slack_admin_ users_ session_ reset_ bulkBulk-reset sessions for multiple users.
slack_admin_ users_ session_ set_ settingsSet session settings (duration, device limits) for users.
slack_admin_ users_ set_ adminPromote an user to workspace admin.
slack_admin_ users_ set_ expirationSet a guest account's expiration timestamp.
slack_admin_ users_ set_ ownerPromote an user to workspace owner.
slack_admin_ users_ set_ regularDemote an user to regular member.
slack_admin_ users_ unsupported_ versions_ exportQueue a CSV export of members on unsupported Slack app versions.
slack_files_ complete_ upload_ externalStep 3 of the modern file upload: finalize uploaded file(s) and optionally share them to channels.
slack_files_ deleteDelete a file.
slack_files_ get_ upload_ url_ externalStep 1 of the modern file upload: get an one-time upload_url + file_id.
slack_files_ remote_ infoGet info about a remote file.
slack_files_ remote_ listList remote files, optionally filtered to a channel / time range.
slack_files_ remote_ removeRemove a remote file from Slack.
slack_files_ remote_ shareShare a remote file into one or more channels.
slack_files_ remote_ updateUpdate a remote file's metadata (title, url, type, preview).
slack_files_ revoke_ public_ urlRevoke a file's public URL.
slack_files_ shared_ public_ urlEnable a public (external) URL for a file.
slack_users_ delete_ photoRemove the calling user's profile photo.
slack_users_ discoverable_ contacts_ lookupCheck whether an email maps to a discoverable Slack contact.
slack_users_ identityGet the identity of the user who authorized the (user) token — Sign in with Slack.
slack_users_ profile_ setSet profile fields.
slack_users_ set_ photoSet the calling user's profile photo.
slack_users_ set_ presenceManually set the calling user's presence (auto/away).
slack_admin_ apps_ activities_ listList app activity logs for a team/org.
slack_admin_ apps_ approveApprove an app for installation in the org/workspace.
slack_admin_ apps_ approved_ listList approved apps.
slack_admin_ apps_ clear_ resolutionClear an app's approved/restricted resolution.
slack_admin_ apps_ config_ lookupLook up connector-app configs by app ids.
slack_admin_ apps_ config_ setSet a connector app's config (domain restrictions, workflow auth).
slack_admin_ apps_ requests_ cancelCancel an app install request.
slack_admin_ apps_ requests_ listList app install requests.
slack_admin_ apps_ restrictRestrict (block) an app.
slack_admin_ apps_ restricted_ listList restricted apps.
slack_admin_ apps_ uninstallUninstall an app from workspaces/org.
slack_admin_ teams_ admins_ listList a workspace's admins.
slack_admin_ teams_ createCreate a workspace in the org.
slack_admin_ teams_ listList the workspaces in the org.
slack_admin_ teams_ owners_ listList a workspace's owners.
slack_admin_ teams_ settings_ infoGet a workspace's settings.
slack_admin_ teams_ settings_ set_ default_ channelsSet a workspace's default channels for new members.
slack_admin_ teams_ settings_ set_ descriptionSet a workspace's description.
slack_admin_ teams_ settings_ set_ discoverabilitySet a workspace's discoverability.
slack_admin_ teams_ settings_ set_ iconSet a workspace's icon.
slack_admin_ teams_ settings_ set_ nameSet a workspace's name.
slack_chat_ delete_ scheduled_ messageCancel a pending scheduled message before it sends.
slack_chat_ me_ messagePost an italic, /me-style status message to a channel.
slack_chat_ unfurlAttach custom unfurl previews to links already posted in a message (Slack app link unfurling).
slack_canvases_ access_ deleteRemove access for users/channels on a canvas.
slack_canvases_ access_ setSet access level (read/write) for users or channels on a canvas.
slack_canvases_ createCreate a standalone canvas.
slack_canvases_ deleteDelete a canvas.
slack_canvases_ editApply edit operations to a canvas.
slack_canvases_ sections_ lookupFind sections in a canvas matching criteria (e.g.
slack_conversations_ canvases_ createCreate a channel-tab canvas attached to a channel.
slack_team_ access_ logsList login access logs (paid plans + admin).
slack_team_ billable_ infoPer-user billable-activity flags.
slack_team_ billing_ infoGet the workspace's billing plan info.
slack_team_ integration_ logsList app/integration add/remove logs.
slack_team_ preferences_ listList the workspace's preference settings.
slack_team_ profile_ getGet the workspace's custom profile-field definitions (the schema for users.profile fields).
slack_usergroups_ createCreate an user group.
slack_usergroups_ disableDisable (deactivate) an user group.
slack_usergroups_ enableEnable a previously disabled user group.
slack_usergroups_ updateUpdate an user group's name, handle, description, or default channels.
slack_usergroups_ users_ listList the member user ids of an user group.
slack_usergroups_ users_ updateReplace the entire membership of an user group.
slack_calls_ addRegister a new Call (a 3rd-party call object Slack can render).
slack_calls_ endEnd a Call.
slack_calls_ infoGet info about a Call.
slack_calls_ participants_ addAdd participants to a Call.
slack_calls_ participants_ removeRemove participants from a Call.
slack_calls_ updateUpdate a registered Call's title/join_url/display id.
slack_admin_ emoji_ addAdd a custom emoji from an image URL.
slack_admin_ emoji_ add_ aliasAdd an alias for an existing custom emoji.
slack_admin_ emoji_ listList org custom emoji.
slack_admin_ emoji_ removeRemove a custom emoji.
slack_admin_ emoji_ renameRename a custom emoji.
slack_admin_ invite_ requests_ approveApprove an invite request.
slack_admin_ invite_ requests_ approved_ listList approved invite requests.
slack_admin_ invite_ requests_ denied_ listList denied invite requests.
slack_admin_ invite_ requests_ denyDeny an invite request.
slack_admin_ invite_ requests_ listList pending invite requests.
slack_admin_ workflows_ collaborators_ addAdd collaborators to workflows.
slack_admin_ workflows_ collaborators_ removeRemove collaborators from workflows.
slack_admin_ workflows_ permissions_ lookupLook up who can run the given workflows.
slack_admin_ workflows_ searchSearch workflows in the org/team.
slack_admin_ workflows_ unpublishUnpublish workflows.
slack_dnd_ end_ dndEnd the current Do Not Disturb session.
slack_dnd_ end_ snoozeEnd the current snooze.
slack_dnd_ infoGet an user's Do Not Disturb status.
slack_dnd_ set_ snoozeTurn on Do Not Disturb snooze for N minutes (calling user).
slack_dnd_ team_ infoGet Do Not Disturb status for multiple users at once.
slack_reminders_ addCreate a reminder.
slack_reminders_ completeMark a reminder complete.
slack_reminders_ deleteDelete a reminder.
slack_reminders_ infoGet info about a reminder.
slack_reminders_ listList the calling user's reminders.
slack_admin_ barriers_ createCreate an information barrier between user groups.
slack_admin_ barriers_ deleteDelete an information barrier.
slack_admin_ barriers_ listList information barriers.
slack_admin_ barriers_ updateUpdate an information barrier.
slack_admin_ usergroups_ add_ channelsAdd default channels to an org user group.
slack_admin_ usergroups_ add_ teamsAssociate workspaces with an org user group.
slack_admin_ usergroups_ list_ channelsList an org user group's default channels.
slack_admin_ usergroups_ remove_ channelsRemove default channels from an org user group.
slack_assistant_ search_ contextRetrieve message/file context relevant to an assistant query.
slack_assistant_ threads_ set_ statusSet the transient 'is typing/thinking…' status in an AI assistant thread.
slack_assistant_ threads_ set_ suggested_ promptsSet suggested prompts in an AI assistant thread.
slack_assistant_ threads_ set_ titleSet the title of an AI assistant thread.
slack_bookmarks_ editEdit an existing channel bookmark.
slack_bookmarks_ removeRemove a channel bookmark.
slack_reactions_ listList items the user/bot has reacted to.
slack_views_ openOpen a modal view for an user.
slack_views_ publishPublish a Home tab view for a specific user.
slack_views_ pushPush a new view onto an open modal stack.
slack_views_ updateUpdate an existing modal view.
slack_admin_ auth_ policy_ assign_ entitiesAssign entities (users) to an auth policy (e.g.
slack_admin_ auth_ policy_ get_ entitiesList entities assigned to an auth policy.
slack_admin_ auth_ policy_ remove_ entitiesRemove entities from an auth policy.
slack_admin_ functions_ listList custom functions installed by app ids.
slack_admin_ functions_ permissions_ lookupLook up who can use the given custom functions.
slack_admin_ functions_ permissions_ setSet who can use a custom function.
slack_admin_ roles_ add_ assignmentsAssign a role to users on entities.
slack_admin_ roles_ list_ assignmentsList role assignments across the org.
slack_admin_ roles_ remove_ assignmentsRemove role assignments.
slack_apps_ activities_ listList the app's activity/log entries (custom function & workflow logs).
slack_apps_ event_ authorizations_ listList the installations a given event is visible to (Enterprise Grid org apps).
slack_apps_ uninstallUninstall the calling app from the workspace.
slack_auth_ revokeRevoke the token used to make the call (logs the app/user out).
slack_auth_ teams_ listList the workspaces an org-wide (Enterprise Grid) app token can act on.
slack_auth_ testVerify the calling token and return its identity: url, team, user, team_id, user_id, bot_id, plus enterprise info.
slack_pins_ removeUnpin a message from a channel.
slack_search_ allSearch messages AND files together.
slack_search_ filesSearch files.
slack_admin_ audit_ anomaly_ allow_ get_ itemRead the IP/ASN anomaly allow-list.
slack_admin_ audit_ anomaly_ allow_ update_ itemWrite/overwrite the IP/ASN anomaly allow-list.
slack_functions_ complete_ errorSignal that a custom (workflow) function failed.
slack_functions_ complete_ successSignal that a custom (workflow) function finished successfully and return its outputs.
slack_admin_ analytics_ get_ fileDownload a daily/member/public-channel analytics export (gzip JSON).
slack_api_ testHealth check — echoes back any args you send and confirms connectivity.
slack_bots_ infoGet information about a bot user.
slack_migration_ exchangeMap local user ids to global (Enterprise Grid) user ids across orgs.
Credentials off one Slack screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
At api.slack.com/apps: Create New App → From a manifest (it pre-defines every scope), Install to Workspace, then paste the Bot User OAuth Token. Add the User OAuth Token (optional) for search, reminders and admin.*
••••••••••••3f7a••••••••••••3f7aRead-only limits it to history, files and members. Full access adds posting and edits — keep approval on for writes so deleting a message or archiving a channel waits for review. Toggle the full catalog on for the rest.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Slack credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Summarize what happened in #incidents over the last 24 hours and link the key threads
slack_conversations_historyok
Then just ask for the work
“Summarize what happened in #incidents over the last 24 hours and link the key threads”
“Add an :eyes: reaction to every unanswered question in #support from today”
“Spin up a private channel for the Acme migration and invite the platform group”
“Which channels is dana@acme.com in, and is she around right now?”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Slack behind an AI client.
One required value: the Bot User OAuth Token from a Slack app you own. The quickest route is api.slack.com/apps, then Create New App → From a manifest, paste the manifest we give you (it pre-defines every scope), Install to Workspace, and copy the token out. There is no OAuth popup to maintain and the token does not expire.
It acts as you rather than as the bot, and it turns on search, reminders, Do-Not-Disturb writes and the admin.* (Enterprise Grid) surface. Leave it blank and the rest still works off the bot token: messaging, channels and DMs, users and user groups, reactions, pins and bookmarks, files, calls, canvases and views. Add it when a request needs one of those extra surfaces.
A bot token only sees the conversations the bot belongs to, which is why a freshly installed app appears to see almost nothing. conversations_join puts the bot into a public channel so it can read history and post without chat:write.public; a private channel needs someone to invite the app, or conversations_invite run by a token that is already in there. conversations_list is the fastest check on what your token can currently reach.
39 of the 229 operations load by default; the other 190 stay searchable so the tool list does not swamp your client. They cover 37 API modules — Conversations (26), Admin conversations (25), Admin users (16), Files (13) and Users (12) are the biggest — and split 86 read to 143 write. Turn on the full-catalog toggle if you want everything exposed at once.
Files is one of the larger modules at 13 operations. files_list filters the workspace's files by channel, user, type or time, and files_info returns a single file's metadata, share locations and comments. files_remote_add registers an externally hosted file in Slack by URL, so a link to something already stored elsewhere becomes a Slack file without a byte upload.
Message-level activity is polled: new message in a channel, new reply in a thread, and file shared. Structural changes come from change detection — channel created, channel archived, teammate joined, teammate deactivated, someone joined or left a channel, reaction added, message pinned, bookmark added and message scheduled. Two admin queues are watchable as well: app install requested and invite request received. The message and thread-reply triggers follow the specific channel or thread you point them at; file shared watches the workspace.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 229 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 39-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 229 here. A trigger is something PopMCP watches for you: 21 Slack events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Slack.
Launch a hosted MCP endpoint for Slack, keep tool access under control, and start testing real workflow prompts right away.