Org-ready apps and global IDs in Enterprise orgs
How an app becomes org-ready and is installed once by an Org Admin, how it tracks granted workspaces and passes team_id, and how it handles global user IDs, enterprise_id, shared-channel events and workspace migration.
Design your app to match the unique platform architecture, features, and roles of Enterprise Grid.
~8 min read · 11 practice questions ·
What the exam expects
- Make an app org-ready (bot scope, Org Level Apps opt-in,
org_deploy_enabled) and describe how an Org Admin installs it and grants it to workspaces. - State what an org-level install does and does not give an app, and when one is required (custom steps for Workflow Builder, Deno apps).
- Track granted workspaces with
team_access_granted,team_access_revokedandauth.teams.list, and passteam_idwith an org-wide token. - Handle global user IDs and members of other workspaces:
users.infolookups, escaped slash command mentions,enterprise_idgrouping, and single event delivery withsource_team. - Prepare an app for a workspace migrating into an org (
grid_migration_*events, backoff,migration.exchange, translation layer).
Key terms: Enterprise organization (two or more workspaces in one org; the exam's "Enterprise Grid organization"); org-ready app (opted in with org_deploy_enabled, installed once for the org); global user ID (one ID per person across the org, starting with U or W); enterprise_id (the constant org ID returned by API methods); translation layer (a temporary setting that maps global IDs back to pre-migration local IDs).
Key facts
- Detail
- At least one bot scope, then Opt-In sets
org_deploy_enabled: true
- Detail
- An Org Admin, via a direct message from Slack, then adds workspaces
- Detail
- None; Org Admins grant some or all later
- Detail
- None compared with a workspace-level install
- Detail
- Require an org-ready app installed at org level
auth.teams.list- Detail
- Approved workspaces; no scopes required; default
limit100
team_id with an org token- Detail
- Required by
conversations.list,users.listand others; ignored for single-workspace tokens
- Detail
- U or W; the prefix means nothing
- Detail
- One event per message; origin in
source_team
- Why must an Org Admin act after approving an org-level install?
- When does an org-ready app need to pass `team_id`?
- Which events tell an org-ready app it gained or lost a workspace?
- What should an app do with stored local IDs after its workspace joins an org?
The questions are free to read. Answers with their sources and self-grading are included with the pack.
Keep reading with the Slack Developer pack
- Core concepts
- Exam traps
- Worked scenario
The pack includes:
- All 38 lessons of the Slack Developer guide, with reading progress
- Interactive decision walks and step-by-step sequence steppers
- Inline practice questions and one-click topic practice (11 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams