We're still building and not all features are available quite yet. Enjoy this peek into the future!
Not ready for the future? Return to the past at api.slack.com.
Enterprise Grid
Welcome to Enterprise Grid! Whether you're a developer, an administrator, or a member of a security team tasked with implementing and protecting the infrastructure of your organization, we're here to help you get started—but first, let's go over the basics.
What is Enterprise Grid?
Enterprise Grid is a network of two or more Slack workspace instances. Each Slack workspace has its own ID, directory of members, channels, conversations, and files. For the most part, each workspace behaves and functions as you're used to on a single, standalone workspace.
For developers, the biggest change for your apps to handle is that some channels and conversations can be shared between multiple workspaces within the same Enterprise organization. But as with a standalone Slack workspace, workspaces on an Enterprise Grid have their own application installations.
In addition, this guide may be your first introduction to the following terms:
- Enterprise organization: An entity used to describe multiple Slack workspaces within the same organization.
- Enterprise organization user: An Enterprise Grid user. These users have the same identity and profile across all workspaces within an organization.
- Enterprise user ID: A user ID beginning with
U
orW
, representing the user across all workspaces within an Enterprise Grid. - Legacy user ID: Also known as a "team user ID", these are the User IDs you've come to know and love in Slack if you've only developed for standalone workspaces before. They begin with
U
. Also known as a local user ID. - Shared channel: A channel shared between two or more workspaces within an organization.
- Translation layer: A translating service that converts new organization-based user IDs to legacy team user IDs, allowing apps to migrate data.
- Workspace: Where a team works. The terms workspace and team are often used interchangeably. When you see the object name such as
team_id
, it means the ID for a workspace.
Enterprise Grid for developers
Developers may encounter a variety of use cases when developing apps for Enterprise Grid:
- CI/CD integration: automate app deployment with CI/CD pipelines for secure and compliant releases.
- Streamlined app approvals: automate admin approvals for Slack apps to reduce friction while maintaining security.
- Cross-platform workflows: connect Slack with Enterprise tools for seamless automation.
To address those use cases, we recommend checking out the following resources:
- Setting up CI/CD with the Slack CLI
- CI/CD authorization in the Slack CLI
- Developing apps for Enterprise Grid
- Enterprise readiness
- App approval process for developers
- Migrating existing apps to Enterprise Grid
- Testing Enterprise Grid apps
- Understanding Slack Connect
- Using Slack Connect API methods
Enterprise Grid for admins
Org Admins (or admins in general) may encounter a variety of use cases when developing for Enterprise Grid:
- Automated user provisioning: sync with Enterprise directories for easy onboarding/offboarding.
- Compliance and policy enforcement: automate security policies, app restrictions, and audits.
- Enterprise-wide automation governance: provide oversight for all Slack automation while keeping teams empowered.
To address those use cases, we recommend checking out the following resources:
- Managing users
- Using the Slack SCIM API
- Managing organization-ready apps
- Managing app approvals
- App approval process for admins
- Managing workflow and connector permissions
Enterprise Grid for security teams
Security developers or team members may encounter a variety of use cases when developing for Enterprise Grid:
- App and token security reviews: automatically review new apps and flag security risks.
- Security alerts and incident response: route critical security alerts to the right teams in real-time.
- Automated token rotation and secret management: keep credentials secure without manual intervention.
To address those use cases, we recommend checking out the following resources:
- Security best practices
- Installing with OAuth
- Using Sign in with Slack
- Verifying requests from Slack
- Using the Audit Logs API
- Using token rotation
Shared channels
A shared channel is a bridge between workspaces that need to collaborate together. Teams can use shared channels to connect, chat, share files, and use apps in the same way as they do on a standalone workspace.
To illustrate the power of shared channels, let's rewind to life before them to understand how they can make your working life more pleasant and productive:
Previously, what team members of Catnip Inc. were saying and doing on a shared project with Woof Inc. was a mystery. When the two teams tried to communicate, it was disconnected and disparate.
This is solved with the shared channels of today. Now, the project channel #projectM
exists in each team's workspace, making communication much simpler.
There are two types of shared channels, each with different uses:
-
Slack Connect channels, which allow up to 20 organizations to come together in a single channel (e.g., Catnip, Inc. and Woof Inc. from the examples above). To learn more about how shared channels work, check out our documentation on Slack Connect.
-
Multi-workspace shared channels, which are channels shared between multiple workspaces within the same organization's Slack instance. For example, the
#treats
channel is shared in Woof Inc's, Marketing, Engineering, and Social workspaces. It exists in all three places, within Woof Inc.'s single Enterprise Grid instance.
Next steps
✨ Read about migrating existing apps to Enterprise Grid.