Skip to main content
This is the seller-facing walkthrough for the ChatGPT app block on the Branding & distribution Page. It covers everything you do on this platform to prepare a customer-branded ChatGPT app: listing metadata, a dedicated hostname, ChatGPT app verification, and the submission bundle. It does not cover OpenAI’s own review process, which happens entirely on OpenAI’s side — see Understand the white-label boundary for what Interchange can and cannot generate on your behalf, and Create a white-label ChatGPT app for the developer-mode testing and submission-review steps that happen in ChatGPT and OpenAI’s portal. This replaced the Storefront and Discovery & distribution tabs in Account Settings (AI-7225/AI-7434) — everything those tabs did for the ChatGPT app lives here now. Every step below is something you do directly on the Page; the app-only operations backing each step are never exposed to model context, so Murph cannot run them for you — but Murph can open the Page and guide you through each step conversationally.

What the ChatGPT app is

A ChatGPT app is a customer-branded MCP connection OpenAI’s App Store lists separately from the shared Interchange listing. Effectively, it is another place that shows facts your listing already holds — name, subtitle, description, and website URL — plus a support, privacy, and terms of service URL your listing also carries. The only things unique to this channel are the two icon sizes OpenAI requires, its own verification token, an OpenAI app-store category (OpenAI’s own taxonomy — this platform starts you on Business, but you choose and approve the value that actually applies to your app), and its own dedicated hostname — see Point a hostname at your ChatGPT app below for why that hostname is not shared with your storefront’s other channels.

1. Review your ChatGPT app listing

The ChatGPT app section of the Page is a compact status row (a readiness chip, plus a hint that you can ask Murph to walk you through the rest). A collapsed Preview what ChatGPT shows disclosure holds the ChatGPT app’s listing read-only: name, subtitle, description, and website/support/privacy/terms URLs, all projected from your listing above on the same Page — there is no separate edit link, since it is the same content you already reviewed at the top. If OpenAI’s shorter limits (a 30-character subtitle, a 1,000-character description) are tighter than your listing’s own caps, the disclosure shows the shortened value it will submit, marked so you can tell it was shortened. Your storefront name is different: it is never shortened automatically, since silently cutting off a name would mangle your brand. If it’s longer than OpenAI’s 50-character cap, the preflight checklist blocks submission with an App name length item until you shorten your storefront name on your listing. Below the row, choose your OpenAI app-store category — the one channel-unique input left. The category starts on Business, but every app owner must supply or explicitly approve the value that actually describes their app before submitting — Business is only the approved value for Scope3’s own Interchange app, not a default OpenAI expects from every submitter. The Page saves this (backed by the app-only save_chatgpt_app_listing operation). Your 256 × 256 directory icon and 48 × 48 composer icon are generated automatically from your brand.json logo — there is nothing to upload. If your storefront has no logo in brand.json yet, add one there; the Page picks it up the next time you publish, and the preflight checklist names this as the reason the icons aren’t ready yet. After you’ve read the projected name, subtitle, description, and links, click Mark listing reviewed (backed by the app-only approve_chatgpt_app_listing operation) to record your approval for exactly what’s on screen — the Page sends along a fingerprint of that specific snapshot, and the operation checks it against your listing’s current state before recording anything. If your listing changed between when the Page loaded and when you click — someone else edited it, or you had it open in two tabs — the approval is rejected instead of silently applying to the newer, unreviewed values; refresh the Page and review the current values again. Editing your listing after a successful approval also clears it, so you’ll see the preflight checklist ask you to review and confirm again before your next submission. If your ChatGPT app previously had its own subtitle, description, or policy URL that no longer matches your listing, the checklist also flags a reconciliation: update your listing to match, or confirm your listing’s current value is correct. If you edit that same field on your listing again afterward, this flag returns until you reconcile it once more.

2. Point a hostname at your ChatGPT app

The ChatGPT app has its own dedicated hostname, serving its MCP endpoint — a separate record from your storefront’s own public listing domain (the one entered at the top of Distribution, next to the Interchange/Public choice). Configuring one does not configure the other; save_chatgpt_app_hostname never touches the public listing domain. It is not shown by default: it lives behind an Advanced — serve on your own domain disclosure inside this ChatGPT app section — that is its one home on the Page, so a hostname you type there is never in danger of disagreeing with a second copy of the same field. Most sellers never open it. Enter your chosen hostname and save it (backed by save_chatgpt_app_hostname). Replacing an already-configured hostname resets its DNS/TLS/verification state, since a new hostname starts unverified; the Page asks you to confirm before doing this. The Page shows the two DNS records to add at your DNS provider:
  • a CNAME record pointing your hostname at Interchange’s routing target; and
  • a TXT record proving ownership of the hostname before activation.
Once both records are live (allow time for DNS propagation), click Verify & activate to confirm DNS/TLS ownership and activate the hostname (backed by activate_chatgpt_app_hostname). The Page shows the hostname’s status as it moves from pending to active.

3. Build the ChatGPT app section, then publish its verification token

Publish the ChatGPT app verification token after your listing and hostname are in place — this token verifies the ChatGPT app’s own public URL, not your storefront’s discovery page, and it is a separate token from your storefront’s own Discovery distribution verification. Set it in the ChatGPT app verification block (backed by save_chatgpt_app_verification_token); use Check status to re-check it on demand (backed by probe_chatgpt_app_verification_token). This only confirms that your public URL returns the exact saved token — OpenAI performs its own domain verification separately, on its own timeline.

4. Download the submission bundle

Once your listing is saved, your hostname is active, and your token is verified, the Page’s Download bundle button unlocks (backed by the submission-bundle link get_chatgpt_app_config returns). The bundle packages the current listing, tool metadata, your brand.json-generated icons, and reviewer guidance into the file OpenAI’s submission portal expects. A bundle generated before a later listing, hostname, or logo change is marked stale; regenerate it before submitting.

5. Request reviewer access

After your storefront listing is Public, the Reviewer sandbox account control appears when your Listing + Distribution package includes the customer-branded AdCP, customer-branded ChatGPT app, organization advertiser lifecycle, and public listing distribution entitlements. Choose I want ChatGPT to request a bounded reviewer environment owned by this storefront. The request does not expose a credential in the Page. After operator activation, the storefront contains a no-spend System advertiser and OpenAI receives one advertiser-scoped, read-only buyer credential through the approved secret handoff. The Page gets this state from get_chatgpt_app_config:
  • reviewerSandboxAvailable is true only while the Public listing and full entitlement bundle permit a new request.
  • reviewerSandboxGrantStatus is loaded when the account-owned grant lookup succeeded and unavailable when the Page cannot safely determine its current state. While unavailable, request and revoke actions remain disabled until a refresh succeeds.
Requested, provisioning, active, failed, revoked, and expired states appear on the same control. If the storefront later becomes ineligible for a new request, an existing grant remains visible and can still be revoked. Choose Revoke reviewer access as soon as OpenAI no longer needs it.

6. Manual preflight steps

Three steps on the Page’s preflight checklist are marked Manual — they need a human to look and confirm, not a system check:
  • Locale review. Read the saved listing copy in each locale you support and confirm it reads correctly before submitting.
  • Media review. Check that your directory and composer logos, plus any promotional screenshots, match the current listing.
  • Portal scan. OpenAI’s live tool/skill scan runs in their submission portal, not here — run it there and resolve anything it flags before you submit.

7. Submit on OpenAI’s portal

Everything past this point happens on OpenAI’s side, not on this platform. Interchange cannot complete OpenAI’s reviewer-identity verification, policy attestations, review-video approval, or the live portal scan for you. Follow Create a white-label ChatGPT app for the developer-mode testing steps and the exact submission-portal checklist before you hand the bundle to OpenAI.