# Org-ready apps and global IDs in Enterprise orgs

*Slack Developer Study Guide · Design for Scale · Last updated October 21, 2026 · https://www.certifyforce.com/study-guide/slack-developer/design-for-scale/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.

- Certification: Salesforce Slack Developer
- Exam section: Design for Scale
- Study guide: https://www.certifyforce.com/study-guide/slack-developer

**Official exam objective:**

> Design your app to match the unique platform architecture, features, and roles of Enterprise Grid.

## 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_revoked` and `auth.teams.list`, and pass `team_id` with an org-wide token.
- Handle global user IDs and members of other workspaces: `users.info` lookups, escaped slash command mentions, `enterprise_id` grouping, and single event delivery with `source_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

| Fact | Detail | Source |
|---|---|---|
| Org Level Apps prerequisite | At least one bot scope, then Opt-In sets `org_deploy_enabled: true` | [Developing apps for Enterprise orgs](https://docs.slack.dev/enterprise/developing-for-enterprise-orgs) |
| Who approves an org install | An Org Admin, via a direct message from Slack, then adds workspaces | [Developing apps for Enterprise orgs](https://docs.slack.dev/enterprise/developing-for-enterprise-orgs) |
| Workspaces added at org install | None; Org Admins grant some or all later | [Managing organization-ready apps](https://docs.slack.dev/enterprise-grid/organization-ready-apps) |
| Extra privileges from org install | None compared with a workspace-level install | [Managing organization-ready apps](https://docs.slack.dev/enterprise-grid/organization-ready-apps) |
| Custom steps for Workflow Builder | Require an org-ready app installed at org level | [Managing organization-ready apps](https://docs.slack.dev/enterprise-grid/organization-ready-apps) |
| `auth.teams.list` | Approved workspaces; no scopes required; default `limit` 100 | [auth.teams.list](https://docs.slack.dev/reference/methods/auth.teams.list) |
| `team_id` with an org token | Required by `conversations.list`, `users.list` and others; ignored for single-workspace tokens | [Developing apps for Enterprise orgs](https://docs.slack.dev/enterprise/developing-for-enterprise-orgs) |
| Global user ID prefix | U or W; the prefix means nothing | [Developing apps for Enterprise orgs](https://docs.slack.dev/enterprise/developing-for-enterprise-orgs) |
| Shared-channel messages | One event per message; origin in `source_team` | [Developing apps for Enterprise orgs](https://docs.slack.dev/enterprise/developing-for-enterprise-orgs) |

## Check yourself

- 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?

## Sources

- [Developing apps for Enterprise orgs](https://docs.slack.dev/enterprise/developing-for-enterprise-orgs)
- [Managing organization-ready apps](https://docs.slack.dev/enterprise-grid/organization-ready-apps)
- [Enterprise Organizations](https://docs.slack.dev/enterprise/)
- [auth.teams.list method](https://docs.slack.dev/reference/methods/auth.teams.list)
- [Implementing slash commands](https://docs.slack.dev/interactivity/implementing-slash-commands)
- [Manage a workspace in an Enterprise organization](https://slack.com/help/articles/115005225987)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 11 linked practice questions, and unlimited timed mock exams are included with the Slack Developer pack (USD $19): https://www.certifyforce.com/practice-exams
