Enterprises can use Slack, and features like Enterprise Grid, 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 additional org security.
Read on to learn what to prepare for when building apps for enterprise audiences.
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.
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 Grid in apps.
Prepare your apps to operate in channels shared between Enterprise Grid workspaces, and channels shared externally between organizations.
Building apps properly for Enterprise Grid requires experiencing the unique constraints and opportunities yourself. Follow our guide to request and generate a Grid sandbox for testing.
Use approval and provisioning APIs to help admins work more effectively.
Secure your organization with auditing and session management APIs.
Build an app that can handle approvals and restrictions for admins across an entire Slack org. Read our guide to app approval APIs.
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.
Let users invite friends to unexplored workspaces, while maintaining admin approval over those invites. Explore the invite request management APIs.
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.
Provision and manage user accounts and groups with SCIM APIs.
Track what's happening in your org using Audit Logs APIs.
Method & Description | Description |
---|---|
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.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.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.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.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.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. |