Skip to main content
Back to Insights
Engineering & ReliabilityArchitecture

Slack Enterprise Grid: Multi-Workspace Bridging Architecture for Large Organizations

Enterprise Grid changes how you design cross-platform bridges. Standard workspace OAuth flows break. Here's the correct architecture for bridging Grid orgs to Teams, Zoom, and Google Chat.

10 min read
Alex Morgan

Alex Morgan is head of integrations at SyncRivo and a former Slack Platform developer who has designed messaging bridges for Fortune 100 organizations.

Slack Enterprise Grid: Multi-Workspace Bridging Architecture for Large Organizations

Slack Enterprise Grid: Multi-Workspace Bridging Architecture for Large Organizations

Slack Enterprise Grid is not Slack. Not in the way that matters for integration architecture.

Grid is a fleet management layer on top of standard Slack workspaces. It changes how authentication works, how Events API subscriptions are scoped, how rate limits are calculated, and how cross-workspace messaging is permitted. Every integration pattern that works fine on a standard workspace has a Grid variant that requires a different approach.

This post covers the architectural differences that matter for enterprise messaging bridges.

Authentication: From Workspace OAuth to Org-Level Tokens

Standard Slack OAuth flow generates a bot token scoped to a single workspace (xoxb-...). That token can only receive events from and post messages to its installation workspace.

Enterprise Grid orgs require an org-level OAuth flow that generates an org-level bot token. This token has access to all workspaces in the Grid org — but only if the administrator has explicitly granted the integration access to those workspaces during the OAuth install flow.

The practical implication: if your bridge is installed in a Grid org and a new workspace is added to the org, your integration will NOT automatically receive events from that workspace. You need either:

  • A re-authorization flow that asks the Grid admin to grant access to the new workspace
  • Or the admin:read scope, which allows your app to enumerate Grid workspaces and detect additions

We recommend the latter for any enterprise-grade bridge: subscribe to the workspace_created Grid event, auto-detect new workspaces, and emit a Slack notification to the Grid admin asking them to extend the bridge configuration to the new workspace.

Events API at Grid Scale

Standard workspace Events API delivers events to a single HTTP endpoint. At Grid scale with 50,000 users across 40 workspaces, this becomes a thundering herd problem during high-traffic periods.

Slack throttles Events API delivery at the workspace level, not the org level. This means during a company-wide announcement, 40 simultaneous message.channels events may arrive at your endpoint in a single 100ms window.

Architecture requirement: your event receiver must be stateless and horizontally scalable. Lambda/Cloud Run with an SQS/Pub-Sub buffer in front is the correct pattern. An Express.js single-instance server will not survive a Grid-scale event burst.

Channel Visibility: Org Channels vs Workspace Channels

Grid introduces Org Channels — channels that span the entire Enterprise Grid organization and are visible to members of any workspace in the org. Org Channels have different permission semantics than standard workspace channels.

For a messaging bridge, the most important difference is that posting to an Org Channel requires explicit permission granted at the org admin level, not just workspace admin level. If your bridge attempts to post to an Org Channel using a bot token that was only granted workspace-level posting permission, the API returns a cryptic permission error.

The fix: ensure the OAuth install flow for Grid orgs requests the channels:write scope at the org level, not just the workspace level. This is a different checkbox in the Slack App configuration than the standard scope.

Rate Limits: Per-Workspace, Not Per-Org

Slack rate limits for the Web API are calculated per workspace, not per Grid org. This means a well-designed bridge that stays within the 1 request/second tier-1 rate limit for each individual workspace can technically generate 40 requests/second against the Slack API across a 40-workspace Grid org without triggering any throttle.

However, Slack's infrastructure does apply undocumented aggregate limits at the Grid org level during their own infrastructure events. Treat the per-workspace documented limits as a ceiling, not a target.

Cross-Workspace Message Routing in Grid

Enterprise Grid allows messages to be shared between workspaces using Slack Connect, multi-workspace channels, and the newer channel bridge feature. However, from an integration standpoint, messages in a shared channel appear as standard message.channels events in each workspace that has the channel — meaning your bridge may receive duplicate events for the same message if multiple workspaces in the Grid org share the same channel.

Deduplication strategy: use the ts (timestamp) + channel combination as a unique message key. Cache sent timestamps for 60 seconds and discard events that match a recently processed key.

This is the single most common bug in Grid integrations — organizations with multi-workspace shared channels see doubled messages in Teams or Google Chat because the bridge has no deduplication layer.

See the SyncRivo Slack integration architecture → | Bridge Slack Enterprise Grid to Teams →

Bridge your messaging platforms in 15 minutes

Connect Slack, Teams, Google Chat, Webex, and Zoom with any-to-any routing. No guest accounts. No migration. SOC 2 & HIPAA ready.

Related Integrations