Apps for enterprises

Enterprises can use Slack apps to provide an efficient collaboration hub for their large organizations.

Slack apps can take advantage of enterprise-oriented features to assist Workspace Admins, or provide security.

Read on to learn what to prepare for when building apps for enterprise audiences.


Enterprise Grid

Enterprise Grid allows large organizations to collaborate across many workspaces. Read our overview of Enterprise Grid to learn more about its features and understand some of the terminology unique to Grid workspaces.

Supporting Enterprise Grid

Ensure your app can handle the nuances and behaviors of Enterprise Grid workspaces. Review your app for full compatibility by following our guide to supporting Enterprise Grid in apps.

Apps in Shared Channels

Prepare your apps to operate in channels shared between Enterprise Grid workspaces, and channels shared externally between organizations.

Testing on Enterprise Grid

Building apps properly for Enterprise Grid requires experiencing the unique constraints and opportunities yourself. Follow our guide to request and generate an Enterprise Grid sandbox for testing.


Workspace management

Use approval and provisioning APIs to help admins work more effectively. Secure your organization with auditing and session management APIs.

Manage app approvals

Build an app that can handle approvals and restrictions for admins across an entire Slack org. Read our guide to app approval APIs.

Create workspaces and manage users in them

An app can create a workspace, assigng and removing users to & from it. It can even mark a user as an Admin or owner. Read our guide to the APIs for managing users in a workspace.

Manage invite requests

Let users invite friends to unexplored workspaces, while maintaining admin approval over those invites. Explore the invite request management APIs.

Reset sessions rapidly

When you suspect a device - mobile, web, or both - has been swiped, take immediate action. Wipe a user's login session using our session reset APIs.

Provisioning programmatically

Provision and manage user accounts and groups with SCIM APIs.

Monitor workspace events

Track what's happening in your organization using Audit Logs APIs.


Available APIs for admins

Method & DescriptionDescription
admin.analytics.getFile
Retrieve analytics data for a given date, presented as a compressed JSON file
Retrieve analytics data for a given date, presented as a compressed JSON file
admin.apps.activities.list
Get logs for a specified team/org
Get logs for a specified team/org
admin.apps.approve
Approve an app for installation on a workspace.
Approve an app for installation on a workspace.
admin.apps.approved.list
List approved apps for an org or workspace.
List approved apps for an org or workspace.
admin.apps.clearResolution
Clear an app resolution
Clear an app resolution
admin.apps.config.lookup
Look up the app config for connectors by their IDs
Look up the app config for connectors by their IDs
admin.apps.config.set
Set the app config for a connector
Set the app config for a connector
admin.apps.requests.cancel
Cancel app request for team
Cancel app request for team
admin.apps.requests.list
List app requests for a team/workspace.
List app requests for a team/workspace.
admin.apps.restrict
Restrict an app for installation on a workspace.
Restrict an app for installation on a workspace.
admin.apps.restricted.list
List restricted apps for an org or workspace.
List restricted apps for an org or workspace.
admin.apps.uninstall
Uninstall an app from one or many workspaces, or an entire enterprise organization.
Uninstall an app from one or many workspaces, or an entire enterprise organization.
admin.audit.anomaly.allow.getItem
API to allow enterprise grid admins to read the allow list of IP blocks and ASNs from the enterprise configuration.
API to allow enterprise grid admins to read the allow list of IP blocks and ASNs from the enterprise configuration.
admin.audit.anomaly.allow.updateItem
API to allow enterprise grid admins to write/overwrite the allow list of IP blocks and ASNs from the enterprise configuration.
API to allow enterprise grid admins to write/overwrite the allow list of IP blocks and ASNs from the enterprise configuration.
admin.auth.policy.assignEntities
Assign entities to a particular authentication policy.
Assign entities to a particular authentication policy.
admin.auth.policy.getEntities
Fetch all the entities assigned to a particular authentication policy by name.
Fetch all the entities assigned to a particular authentication policy by name.
admin.auth.policy.removeEntities
Remove specified entities from a specified authentication policy.
Remove specified entities from a specified authentication policy.
admin.barriers.create
Create an Information Barrier
Create an Information Barrier
admin.barriers.delete
Delete an existing Information Barrier
Delete an existing Information Barrier
admin.barriers.list
Get all Information Barriers for your organization
Get all Information Barriers for your organization
admin.barriers.update
Update an existing Information Barrier
Update an existing Information Barrier
admin.conversations.archive
Archive a public or private channel.
Archive a public or private channel.
admin.conversations.bulkArchive
Archive public or private channels in bulk.
Archive public or private channels in bulk.
admin.conversations.bulkDelete
Delete public or private channels in bulk
Delete public or private channels in bulk
admin.conversations.bulkMove
Move public or private channels in bulk.
Move public or private channels in bulk.
admin.conversations.convertToPrivate
Convert a public channel to a private channel.
Convert a public channel to a private channel.
admin.conversations.convertToPublic
Convert a private channel to a public channel.
Convert a private channel to a public channel.
admin.conversations.create
Create a public or private channel-based conversation.
Create a public or private channel-based conversation.
admin.conversations.delete
Delete a public or private channel.
Delete a public or private channel.
admin.conversations.disconnectShared
Disconnect a connected channel from one or more workspaces.
Disconnect a connected channel from one or more workspaces.
admin.conversations.ekm.listOriginalConnectedChannelInfo
List all disconnected channels—i.e., channels that were once connected to other workspaces and then disconnected—and the corresponding original channel IDs for key revocation with EKM.
List all disconnected channels—i.e., channels that were once connected to other workspaces and then disconnected—and the corresponding original channel IDs for key revocation with EKM.
admin.conversations.getConversationPrefs
Get conversation preferences for a public or private channel.
Get conversation preferences for a public or private channel.
admin.conversations.getCustomRetention
This API endpoint can be used by any admin to get a conversation's retention policy.
This API endpoint can be used by any admin to get a conversation's retention policy.
admin.conversations.getTeams
Get all the workspaces a given public or private channel is connected to within this Enterprise org.
Get all the workspaces a given public or private channel is connected to within this Enterprise org.
admin.conversations.invite
Invite a user to a public or private channel.
Invite a user to a public or private channel.
admin.conversations.lookup
Returns channels on the given team using the filters.
Returns channels on the given team using the filters.
admin.conversations.removeCustomRetention
This API endpoint can be used by any admin to remove a conversation's retention policy.
This API endpoint can be used by any admin to remove a conversation's retention policy.
admin.conversations.rename
Rename a public or private channel.
Rename a public or private channel.
admin.conversations.restrictAccess.addGroup
Add an allowlist of IDP groups for accessing a channel
Add an allowlist of IDP groups for accessing a channel
admin.conversations.restrictAccess.listGroups
List all IDP Groups linked to a channel
List all IDP Groups linked to a channel
admin.conversations.restrictAccess.removeGroup
Remove a linked IDP group linked from a private channel
Remove a linked IDP group linked from a private channel
admin.conversations.search
Search for public or private channels in an Enterprise organization.
Search for public or private channels in an Enterprise organization.
admin.conversations.setConversationPrefs
Set the posting permissions for a public or private channel.
Set the posting permissions for a public or private channel.
admin.conversations.setCustomRetention
This API endpoint can be used by any admin to set a conversation's retention policy.
This API endpoint can be used by any admin to set a conversation's retention policy.
admin.conversations.setTeams
Set the workspaces in an Enterprise grid org that connect to a public or private channel.
Set the workspaces in an Enterprise grid org that connect to a public or private channel.
admin.conversations.unarchive
Unarchive a public or private channel.
Unarchive a public or private channel.
admin.emoji.add
Add an emoji.
Add an emoji.
admin.emoji.addAlias
Add an emoji alias.
Add an emoji alias.
admin.emoji.list
List emoji for an Enterprise Grid organization.
List emoji for an Enterprise Grid organization.
admin.emoji.remove
Remove an emoji across an Enterprise Grid organization
Remove an emoji across an Enterprise Grid organization
admin.emoji.rename
Rename an emoji.
Rename an emoji.
admin.functions.list
Look up functions by a set of apps
Look up functions by a set of apps
admin.functions.permissions.lookup
Lookup the visibility of multiple Slack functions and include the users if it is limited to particular named entities.
Lookup the visibility of multiple Slack functions and include the users if it is limited to particular named entities.
admin.functions.permissions.set
Set the visibility of a Slack function and define the users or workspaces if it is set to named_entities
Set the visibility of a Slack function and define the users or workspaces if it is set to named_entities
admin.inviteRequests.approve
Approve a workspace invite request.
Approve a workspace invite request.
admin.inviteRequests.approved.list
List all approved workspace invite requests.
List all approved workspace invite requests.
admin.inviteRequests.denied.list
List all denied workspace invite requests.
List all denied workspace invite requests.
admin.inviteRequests.deny
Deny a workspace invite request.
Deny a workspace invite request.
admin.inviteRequests.list
List all pending workspace invite requests.
List all pending workspace invite requests.
admin.roles.addAssignments
Adds members to the specified role with the specified scopes
Adds members to the specified role with the specified scopes
admin.roles.listAssignments
Lists assignments for all roles across entities. Options to scope results by any combination of roles or entities
Lists assignments for all roles across entities. Options to scope results by any combination of roles or entities
admin.roles.removeAssignments
Removes a set of users from a role for the given scopes and entities
Removes a set of users from a role for the given scopes and entities
admin.teams.admins.list
List all of the admins on a given workspace.
List all of the admins on a given workspace.
admin.teams.create
Create an Enterprise team.
Create an Enterprise team.
admin.teams.list
List all teams on an Enterprise organization
List all teams on an Enterprise organization
admin.teams.owners.list
List all of the owners on a given workspace.
List all of the owners on a given workspace.
admin.teams.settings.info
Fetch information about settings in a workspace
Fetch information about settings in a workspace
admin.teams.settings.setDefaultChannels
Set the default channels of a workspace.
Set the default channels of a workspace.
admin.teams.settings.setDescription
Set the description of a given workspace.
Set the description of a given workspace.
admin.teams.settings.setDiscoverability
An API method that allows admins to set the discoverability of a given workspace
An API method that allows admins to set the discoverability of a given workspace
admin.teams.settings.setIcon
Sets the icon of a workspace.
Sets the icon of a workspace.
admin.teams.settings.setName
Set the name of a given workspace.
Set the name of a given workspace.
admin.usergroups.addChannels
Add up to one hundred default channels to an IDP group.
Add up to one hundred default channels to an IDP group.
admin.usergroups.addTeams
Associate one or more default workspaces with an organization-wide IDP group.
Associate one or more default workspaces with an organization-wide IDP group.
admin.usergroups.listChannels
List the channels linked to an org-level IDP group (user group).
List the channels linked to an org-level IDP group (user group).
admin.usergroups.removeChannels
Remove one or more default channels from an org-level IDP group (user group).
Remove one or more default channels from an org-level IDP group (user group).
admin.users.assign
Add an Enterprise user to a workspace.
Add an Enterprise user to a workspace.
admin.users.invite
Invite a user to a workspace.
Invite a user to a workspace.
admin.users.list
List users on a workspace
List users on a workspace
admin.users.remove
Remove a user from a workspace.
Remove a user from a workspace.
admin.users.session.clearSettings
Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users.
Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users.
admin.users.session.getSettings
Get user-specific session settings—the session duration and what happens when the client closes—given a list of users.
Get user-specific session settings—the session duration and what happens when the client closes—given a list of users.
admin.users.session.invalidate
Revoke a single session for a user. The user will be forced to login to Slack.
Revoke a single session for a user. The user will be forced to login to Slack.
admin.users.session.list
List active user sessions for an organization
List active user sessions for an organization
admin.users.session.reset
Wipes all valid sessions on all devices for a given user
Wipes all valid sessions on all devices for a given user
admin.users.session.resetBulk
Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users
Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users
admin.users.session.setSettings
Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users.
Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users.
admin.users.setAdmin
Set an existing guest, regular user, or owner to be an admin user.
Set an existing guest, regular user, or owner to be an admin user.
admin.users.setExpiration
Set an expiration for a guest user
Set an expiration for a guest user
admin.users.setOwner
Set an existing guest, regular user, or admin user to be a workspace owner.
Set an existing guest, regular user, or admin user to be a workspace owner.
admin.users.setRegular
Set an existing guest user, admin user, or owner to be a regular user.
Set an existing guest user, admin user, or owner to be a regular user.
admin.users.unsupportedVersions.export
Ask Slackbot to send you an export listing all workspace members using unsupported software, presented as a zipped CSV file.
Ask Slackbot to send you an export listing all workspace members using unsupported software, presented as a zipped CSV file.
admin.workflows.collaborators.add
Add collaborators to workflows within the team or enterprise
Add collaborators to workflows within the team or enterprise
admin.workflows.collaborators.remove
Remove collaborators from workflows within the team or enterprise
Remove collaborators from workflows within the team or enterprise
admin.workflows.permissions.lookup
Look up the permissions for a set of workflows
Look up the permissions for a set of workflows
admin.workflows.search
Search workflows within the team or enterprise
Search workflows within the team or enterprise
admin.workflows.triggers.types.permissions.lookup
list the permissions for using each trigger type in workflow builder
list the permissions for using each trigger type in workflow builder
admin.workflows.triggers.types.permissions.set
Set the permissions for using a trigger type in workflow builder
Set the permissions for using a trigger type in workflow builder
admin.workflows.unpublish
Unpublish workflows within the team or enterprise
Unpublish workflows within the team or enterprise