Skip to content

Invites

The Invites page is the operator surface for onboarding Codex accounts into Pools. An invite creates a one-time URL that lets the invited account complete the hosted onboarding flow and attach the resulting upstream identity to a Pool.

Use this page when you need to answer:

  1. which Pool invites were created
  2. which account email was invited
  3. who created the invite
  4. whether email delivery was attempted
  5. whether the invite was accepted, expired, or revoked
  6. whether an active invite should be reissued or revoked

Invites are metadata-only after creation. The one-time invite URL is shown only in the create-result dialog and is not stored for later display in admin history.

Invites page overview

The screenshots in this guide redact live row values. The production UI shows authorized operators safe invite metadata, but public docs should not publish production emails or invite results.

The top filters narrow the invite table.

FilterMeaning
PoolLimits rows to invites for one Pool.
StatusLimits rows to active, accepted, expired, or revoked invites.

The table shows the latest matching invites.

ColumnMeaning
CreatedWhen the invite was created.
StatusCurrent invite lifecycle state.
PoolTarget Pool for the onboarding flow.
Codex account emailAccount email the invite was created for.
Invited byOperator who created the invite.
EmailWhether invite email delivery was recorded.
ResultAcceptance, revocation, expiry, or awaiting-acceptance summary.
ExpiresRelative expiry state.
ActionsReissue and revoke actions for active invites.

Click Create Pool invite to open the invite dialog.

Create Pool invite dialog

The dialog asks for:

  1. target Pool
  2. Codex account email
  3. whether Codex Pooler should send the invite email

The submit button stays disabled until the form is valid. When SMTP is not configured, email delivery is unavailable and the operator must share the invite URL manually.

After a valid invite is created, the result dialog shows the one-time invite URL. Copy it immediately. That URL is not shown again in the invite table or audit history.

Hosted invite onboarding uses OpenAI’s Codex device-code authorization. This setup is only needed for invite onboarding and the OAuth device-code fallback; browser OAuth linking from /admin/upstreams does not depend on it. Before opening the invite URL, a personal ChatGPT account should have Enable device code authorization for Codex enabled in ChatGPT Settings > Security. Workspace-managed accounts may need a workspace admin to enable device-code login for Codex in workspace permissions.

ChatGPT Security setting for Codex device-code authorization

OpenAI’s Codex authentication docs describe device-code login. If device-code authorization is off, the Codex Pooler invite can still be active, but OpenAI can block the approval step and the upstream will not become ready.

Invite lifecycle states are:

StateMeaning
ActiveThe invite URL can still be used until it expires or is revoked.
AcceptedThe invited account completed onboarding.
ExpiredThe invite URL is no longer usable because its expiry passed.
RevokedAn operator invalidated the invite URL before acceptance.

Active invites expose a dotted action menu.

ActionWhat it does
ReissueSends the invite email again when SMTP is configured. It is disabled when email delivery is unavailable or the invite is no longer active.
RevokeOpens a confirmation dialog. Confirming makes the existing invite URL stop working immediately.

Revoking an invite does not delete existing upstream accounts. It only invalidates that invite URL.

When onboarding is not working, check invites in this order:

  1. confirm the invite status is active
  2. confirm the invite has not expired
  3. confirm the target Pool is correct
  4. confirm the account email is the intended Codex account email
  5. confirm device-code login for Codex is enabled in ChatGPT Settings > Security or by the workspace admin
  6. confirm SMTP is configured if the operator expected email delivery
  7. reissue the active invite email only when email delivery is available
  8. create a new invite when the old invite is expired or revoked
  9. use Audit logs to confirm who created, accepted, revoked, or reissued the invite

If the invite was accepted but no upstream appears ready, move to the Upstreams page and inspect the account’s credential and quota state.