Slack Administrative API

The Administrative API from Slack — 56 operation(s) for administrative.

Operations 55

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /admin.apps.approve Approve an app for a workspace · Slack Post Admin Apps Approve #
Ask an LLM
“How can an org admin approve a pending app install request in Slack?”
“Can I approve an app for one specific workspace rather than the whole org?”
Tell an agent
Approve app {app_id} for installation on workspace {team_id}.
Approve the pending app request {request_id}.
GET /admin.apps.approved.list List approved apps · Slack Get Admin Apps Approved List #
Ask an LLM
“Which apps have already been approved for our org?”
“Can I see the approved apps for just one workspace in the enterprise?”
Tell an agent
List the apps that are approved on workspace {team_id}.
Show every approved app across enterprise {enterprise_id}.
GET /admin.apps.requests.list List pending app install requests · Slack Get Admin Apps Requests List #
Ask an LLM
“Which app installs are users waiting on an admin to review?”
“Is there a way to page through app requests people submitted on a workspace?”
Tell an agent
List the pending app requests on workspace {team_id}.
Show the first {limit} outstanding app install requests.
POST /admin.apps.restrict Restrict an app on a workspace · Slack Post Admin Apps Restrict #
Ask an LLM
“How do I block an app from being installed on a workspace?”
“Can I restrict an app in response to a user's install request?”
Tell an agent
Restrict app {app_id} from installation on workspace {team_id}.
Deny install request {request_id} by restricting the app.
GET /admin.apps.restricted.list List restricted apps · Slack Get Admin Apps Restricted List #
Ask an LLM
“Which apps are blocked from installation in our org?”
“Can I list restricted apps for one workspace only?”
Tell an agent
List the restricted apps on workspace {team_id}.
Show every app restricted across enterprise {enterprise_id}.
POST /admin.conversations.archive Archive a channel as an admin · Slack Post Admin Conversations Archive #
Ask an LLM
“Can an org admin archive a private channel they aren't a member of?”
“How do I archive a channel from the admin side?”
Tell an agent
As an admin, archive channel {channel_id}.
Use admin rights to archive the channel {channel_id} across the org.
POST /admin.conversations.convertToPrivate Convert a public channel to private · Slack Post Admin Conversations Converttoprivate #
Ask an LLM
“Is it possible to turn a public channel into a private one?”
“What happens when an admin converts a channel to private?”
Tell an agent
Convert public channel {channel_id} into a private channel.
Make channel {channel_id} private.
POST /admin.conversations.create Create a channel as an admin · Slack Post Admin Conversations Create #
Ask an LLM
“Can an admin create an org-wide channel in an Enterprise org?”
“What do I need to create a private channel through the admin API?”
Tell an agent
Create a channel named {name} with private set to {is_private}.
Create public channel {name} on workspace {team_id} with private set to {is_private}.
POST /admin.conversations.delete Delete a channel permanently · Slack Post Admin Conversations Delete #
Ask an LLM
“Can an admin permanently delete a channel instead of archiving it?”
“Is deleting a private channel through the admin API reversible?”
Tell an agent destructive · confirm first
Permanently delete channel {channel_id}.
Remove the channel {channel_id} for good, messages and all.
POST /admin.conversations.disconnectShared Disconnect a shared channel from workspaces · Slack Post Admin Conversations Disconnectshared #
Ask an LLM
“How do I stop sharing a connected channel with other workspaces?”
“Can I disconnect a shared channel from only some of the workspaces it reaches?”
Tell an agent destructive · confirm first
Disconnect shared channel {channel_id} from every connected workspace.
Disconnect channel {channel_id} from workspaces {leaving_team_ids}.
GET /admin.conversations.ekm.listOriginalConnectedChannelInfo List disconnected channels' original IDs · Slack Get Admin Conversations Ekm Listoriginalconnectedchannelinfo #
Ask an LLM
“Which channels were once shared with other workspaces and later disconnected?”
“Where can I find the original channel IDs for disconnected channels, for EKM?”
Tell an agent
List the original connected channel info for channels {channel_ids}.
Show disconnected channels and their original IDs for workspaces {team_ids}.
GET /admin.conversations.getConversationPrefs Get a channel's posting preferences · Slack Get Admin Conversations Getconversationprefs #
Ask an LLM
“Who is allowed to post in this channel right now?”
“Can I check the current conversation preferences on a private channel?”
Tell an agent
Get the conversation preferences for channel {channel_id}.
Show who can post and thread in channel {channel_id}.
GET /admin.conversations.getTeams List workspaces a channel is connected to · Slack Get Admin Conversations Getteams #
Ask an LLM
“Which workspaces in our Enterprise org is this channel shared into?”
“How do I see every workspace connected to a given channel?”
Tell an agent
List the workspaces channel {channel_id} is connected to.
Show up to {limit} workspaces sharing channel {channel_id}.
POST /admin.conversations.invite Invite users to a channel as an admin · Slack Post Admin Conversations Invite #
Ask an LLM
“Can an admin add several people to a private channel at once?”
“Is it possible to invite users into a channel I'm not a member of?”
Tell an agent
Invite users {user_ids} to channel {channel_id}.
Add user {user_ids} to the channel {channel_id} using admin rights.
POST /admin.conversations.rename Rename a channel as an admin · Slack Post Admin Conversations Rename #
Ask an LLM
“Can an org admin rename any public or private channel?”
“What's the admin way to change a channel's name?”
Tell an agent
Rename channel {channel_id} to {name}.
Change the name of channel {channel_id} to {name} as an admin.
POST /admin.conversations.restrictAccess.addGroup Allow an IDP group into a channel · Slack Post Admin Conversations Restrictaccess Addgroup #
Ask an LLM
“How do I restrict a private channel so only one IDP group can access it?”
“Can I add an identity provider group to a channel's allowlist?”
Tell an agent
Add IDP group {group_id} to the access allowlist of channel {channel_id}.
Allow group {group_id} into channel {channel_id} on workspace {team_id}.
GET /admin.conversations.restrictAccess.listGroups List IDP groups linked to a channel · Slack Get Admin Conversations Restrictaccess Listgroups #
Ask an LLM
“Which IDP groups are allowed to access this channel?”
“Can I check a channel's group allowlist before changing it?”
Tell an agent
List the IDP groups linked to channel {channel_id}.
Show the access groups on channel {channel_id} in workspace {team_id}.
POST /admin.conversations.restrictAccess.removeGroup Remove an IDP group from a private channel · Slack Post Admin Conversations Restrictaccess Removegroup #
Ask an LLM
“How do I unlink an IDP group from a private channel's allowlist?”
“Can I revoke a group's access to a private channel?”
Tell an agent
Remove IDP group {group_id} from private channel {channel_id} on workspace {team_id}.
Unlink group {group_id} from channel {channel_id} in team {team_id}.
GET /admin.conversations.search Search channels across an Enterprise org · Slack Get Admin Conversations Search #
Ask an LLM
“How can an admin find channels by name across the whole Enterprise org?”
“Can I filter a channel search by channel type and sort the results?”
Tell an agent
Search the org for channels matching {query}.
Find channels matching {query} in workspaces {team_ids}.
POST /admin.conversations.setConversationPrefs Set a channel's posting permissions · Slack Post Admin Conversations Setconversationprefs #
Ask an LLM
“Can I make a channel announcement-only so just admins can post?”
“How are posting permissions for a channel changed?”
Tell an agent
Set the posting preferences on channel {channel_id} to {prefs}.
Apply prefs {prefs} to restrict who can post in channel {channel_id}.
POST /admin.conversations.setTeams Set which workspaces share a channel · Slack Post Admin Conversations Setteams #
Ask an LLM
“How do I share a channel with several workspaces in our Enterprise grid?”
“Can I turn an existing channel into an org-wide channel?”
Tell an agent
Share channel {channel_id} with workspaces {target_team_ids}.
Convert channel {channel_id} to an org channel: {org_channel}.
POST /admin.conversations.unarchive Unarchive a channel · Slack Post Admin Conversations Unarchive #
Ask an LLM
“Can an archived channel be brought back?”
“How do I restore a private channel someone archived?”
Tell an agent
Unarchive channel {channel_id}.
Restore the archived channel {channel_id} so people can post again.
POST /admin.emoji.addAlias Add an alias for a custom emoji · Slack Post Admin Emoji Addalias #
Ask an LLM
“Can one custom emoji answer to two different names?”
“What's needed to add an emoji alias org-wide?”
Tell an agent
Add alias {name} for the emoji {alias_for}.
Make :{name}: point to the existing emoji {alias_for}.
GET /admin.emoji.list List custom emoji across the org · Slack Get Admin Emoji List #
Ask an LLM
“Which custom emoji exist across our Enterprise Grid organization?”
“Can an admin page through all org emoji?”
Tell an agent
List the custom emoji in the Enterprise Grid org.
Show {limit} org emoji per page.
POST /admin.emoji.remove Remove a custom emoji org-wide · Slack Post Admin Emoji Remove #
Ask an LLM
“How do I delete a custom emoji from every workspace in the org?”
“Can an admin take down an offensive emoji?”
Tell an agent destructive · confirm first
Remove the emoji {name} across the organization.
Delete custom emoji {name} org-wide.
POST /admin.emoji.rename Rename a custom emoji · Slack Post Admin Emoji Rename #
Ask an LLM
“Can a custom emoji be renamed without re-uploading it?”
“What happens to messages when an admin renames an emoji?”
Tell an agent
Rename emoji {name} to {new_name}.
Change the emoji called {name} so it's now {new_name}.
POST /admin.inviteRequests.approve Approve a workspace invite request · Slack Post Admin Inviterequests Approve #
Ask an LLM
“Can an admin approve someone's request to invite a new member?”
“How do I say yes to a pending workspace invite request?”
Tell an agent
Approve invite request {invite_request_id}.
Approve invite request {invite_request_id} on workspace {team_id}.
GET /admin.inviteRequests.approved.list List approved invite requests · Slack Get Admin Inviterequests Approved List #
Ask an LLM
“Which workspace invite requests have been approved so far?”
“Can I audit approved invites for one workspace?”
Tell an agent
List the approved invite requests on workspace {team_id}.
Show all invite requests that were approved.
GET /admin.inviteRequests.denied.list List denied invite requests · Slack Get Admin Inviterequests Denied List #
Ask an LLM
“Which invite requests did admins turn down?”
“Is there a record of denied workspace invites I can page through?”
Tell an agent
List the denied invite requests on workspace {team_id}.
Show every invite request that was rejected.
POST /admin.inviteRequests.deny Deny a workspace invite request · Slack Post Admin Inviterequests Deny #
Ask an LLM
“How can an admin reject a request to invite someone?”
“Can I deny an invite request on a particular workspace?”
Tell an agent
Deny invite request {invite_request_id}.
Reject invite request {invite_request_id} on workspace {team_id}.
GET /admin.inviteRequests.list List pending invite requests · Slack Get Admin Inviterequests List #
Ask an LLM
“Which workspace invite requests are still waiting for review?”
“Are there pending invites I need to approve or deny?”
Tell an agent
List the pending invite requests on workspace {team_id}.
Show the invite requests nobody has acted on yet.
GET /admin.teams.admins.list List a workspace's admins · Slack Get Admin Teams Admins List #
Ask an LLM
“Who are the admins on a given workspace?”
“Can I get the admin roster for one workspace in our Enterprise org?”
Tell an agent
List the admins of workspace {team_id}.
Show up to {limit} admins on workspace {team_id}.
POST /admin.teams.create Create a workspace in an Enterprise org · Slack Post Admin Teams Create #
Ask an LLM
“How do I spin up a new workspace inside our Enterprise Grid org?”
“Can a new workspace be created as invite-only from the start?”
Tell an agent
Create a workspace named {team_name} with domain {team_domain}.
Create workspace {team_name} at {team_domain} with discoverability {team_discoverability}.
GET /admin.teams.list List workspaces in an Enterprise org · Slack Get Admin Teams List #
Ask an LLM
“Which workspaces belong to our Enterprise organization?”
“Can I page through every team in the org?”
Tell an agent
List all workspaces in the Enterprise org.
Show the next {limit} workspaces from cursor {cursor}.
GET /admin.teams.owners.list List a workspace's owners · Slack Get Admin Teams Owners List #
Ask an LLM
“Who owns a particular workspace?”
“Can I list the workspace owners separately from the admins?”
Tell an agent
List the owners of workspace {team_id}.
Show who holds owner role on workspace {team_id}.
GET /admin.teams.settings.info Get a workspace's settings · Slack Get Admin Teams Settings Info #
Ask an LLM
“What are the current settings on one of our workspaces?”
“Can I check a workspace's name, icon and discoverability in one call?”
Tell an agent
Get the settings for workspace {team_id}.
Fetch settings info for team {team_id}.
POST /admin.teams.settings.setDefaultChannels Set a workspace's default channels · Slack Post Admin Teams Settings Setdefaultchannels #
Ask an LLM
“How do I choose which channels new members join automatically?”
“Can I change the default channels for a workspace?”
Tell an agent
Set the default channels of workspace {team_id} to {channel_ids}.
Make {channel_ids} the channels everyone joins on workspace {team_id}.
POST /admin.teams.settings.setDescription Set a workspace's description · Slack Post Admin Teams Settings Setdescription #
Ask an LLM
“Can an admin update the description shown for a workspace?”
“Where is a workspace's description changed?”
Tell an agent
Set the description of workspace {team_id} to {description}.
Describe workspace {team_id} as {description}.
POST /admin.teams.settings.setDiscoverability Set who can find and join a workspace · Slack Post Admin Teams Settings Setdiscoverability #
Ask an LLM
“How do I make a workspace unlisted so people can't discover it?”
“Which discoverability options can a workspace have?”
Tell an agent
Set discoverability of workspace {team_id} to {discoverability}.
Make workspace {team_id} invite-only by setting discoverability {discoverability}.
POST /admin.teams.settings.setIcon Set a workspace's icon · Slack Post Admin Teams Settings Seticon #
Ask an LLM
“Can I change a workspace icon from an image URL?”
“How is a workspace's logo updated by an admin?”
Tell an agent
Set the icon of workspace {team_id} to the image at {image_url}.
Use {image_url} as the icon for team {team_id}.
POST /admin.teams.settings.setName Rename a workspace · Slack Post Admin Teams Settings Setname #
Ask an LLM
“Can an admin rename a workspace in the Enterprise org?”
“What's required to change a workspace's display name?”
Tell an agent
Rename workspace {team_id} to {name}.
Set the name of team {team_id} to {name}.
POST /admin.usergroups.addChannels Add default channels to an IDP group · Slack Post Admin Usergroups Addchannels #
Ask an LLM
“How do I make members of an IDP group automatically join certain channels?”
“Can I link more default channels to an existing user group?”
Tell an agent
Add channels {channel_ids} as defaults for IDP group {usergroup_id}.
Link channels {channel_ids} to user group {usergroup_id} on workspace {team_id}.
POST /admin.usergroups.addTeams Associate workspaces with an org IDP group · Slack Post Admin Usergroups Addteams #
Ask an LLM
“Can an org-wide IDP group be tied to specific workspaces?”
“Is there a way to auto-provision group members into the workspaces I add?”
Tell an agent
Associate workspaces {team_ids} with IDP group {usergroup_id}.
Add workspaces {team_ids} to group {usergroup_id} with auto-provision {auto_provision}.
GET /admin.usergroups.listChannels List channels linked to an IDP group · Slack Get Admin Usergroups Listchannels #
Ask an LLM
“Which channels are linked to a given org-level user group?”
“Can I include member counts when listing a group's channels?”
Tell an agent
List the channels linked to IDP group {usergroup_id}.
Show group {usergroup_id}'s channels with member counts {include_num_members}.
POST /admin.usergroups.removeChannels Remove default channels from an IDP group · Slack Post Admin Usergroups Removechannels #
Ask an LLM
“How do I stop an IDP group from auto-joining a channel?”
“Can I unlink several default channels from a user group at once?”
Tell an agent
Remove channels {channel_ids} from IDP group {usergroup_id}.
Unlink the default channels {channel_ids} from user group {usergroup_id}.
POST /admin.users.assign Add an Enterprise user to a workspace · Slack Post Admin Users Assign #
Ask an LLM
“How do I add someone who's already in our Enterprise org to another workspace?”
“Can I assign a user to a workspace as a guest and drop them into channels?”
Tell an agent
Assign user {user_id} to workspace {team_id}.
Add user {user_id} to workspace {team_id} and channels {channel_ids}.
POST /admin.users.invite Invite someone to a workspace by email · Slack Post Admin Users Invite #
Ask an LLM
“How do I invite a new person to a workspace by their email address?”
“Can an invited guest have an expiration date?”
Tell an agent
Invite {email} to workspace {team_id} and add them to channels {channel_ids}.
Invite {email} to team {team_id}, channels {channel_ids}, with the note {custom_message}.
GET /admin.users.list List users on a workspace · Slack Get Admin Users List #
Ask an LLM
“Who are the members of a particular workspace?”
“Can an admin page through every user on a workspace?”
Tell an agent
List the users on workspace {team_id}.
Show {limit} members of workspace {team_id} per page.
POST /admin.users.remove Remove a user from a workspace · Slack Post Admin Users Remove #
Ask an LLM
“How do I take someone off a workspace without deactivating their org account?”
“Can an admin remove a user from just one workspace?”
Tell an agent destructive · confirm first
Remove user {user_id} from workspace {team_id}.
Kick {user_id} out of team {team_id}.
POST /admin.users.session.invalidate Invalidate one user session · Slack Post Admin Users Session Invalidate #
Ask an LLM
“Can I sign a user out of one specific session instead of all of them?”
“What do I need to kill a single session by its ID?”
Tell an agent destructive · confirm first
Invalidate session {session_id} on workspace {team_id}.
End the single login session {session_id} in team {team_id}.
POST /admin.users.session.reset Sign a user out of all devices · Slack Post Admin Users Session Reset #
Ask an LLM
“How do I force a user to log out everywhere, like after a lost laptop?”
“Can I wipe only a user's mobile sessions?”
Tell an agent destructive · confirm first
Reset all sessions for user {user_id} on every device.
Wipe only the mobile sessions of user {user_id}: {mobile_only}.
POST /admin.users.setAdmin Make a user a workspace admin · Slack Post Admin Users Setadmin #
Ask an LLM
“How do I promote a member to admin on a workspace?”
“Can a guest be made an admin directly?”
Tell an agent
Make user {user_id} an admin on workspace {team_id}.
Promote {user_id} to admin in team {team_id}.
POST /admin.users.setExpiration Set an expiration for a guest · Slack Post Admin Users Setexpiration #
Ask an LLM
“Can a guest account expire automatically on a certain date?”
“What's needed to schedule when a guest loses access?”
Tell an agent
Expire guest {user_id} on workspace {team_id} at {expiration_ts}.
Set guest user {user_id}'s access in {team_id} to end at {expiration_ts}.
POST /admin.users.setOwner Make a user a workspace owner · Slack Post Admin Users Setowner #
Ask an LLM
“How can an existing admin be promoted to workspace owner?”
“Is it possible to give someone owner rights on a workspace?”
Tell an agent
Make user {user_id} an owner of workspace {team_id}.
Grant owner role to {user_id} on team {team_id}.
POST /admin.users.setRegular Make a user a regular member · Slack Post Admin Users Setregular #
Ask an LLM
“How do I demote an admin or owner back to a regular member?”
“Can I convert a guest into a full regular user?”
Tell an agent
Set user {user_id} to a regular member on workspace {team_id}.
Demote {user_id} to regular user in team {team_id}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/slack-administrative-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

slack-administrative-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1.0'
  title: Slack Admin Administrative API
  description: The Slack Admin API is a set of privileged endpointsprimarily under admin.* with related SCIM and Audit Logs APIsthat lets Enterprise Grid owners and admins automate organization wide management and governance.
tags:


# --- truncated at 32 KB (180 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-administrative-api-openapi.yml