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-onlysave_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.
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 bysave_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 linkget_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 fromget_chatgpt_app_config:
reviewerSandboxAvailableistrueonly while the Public listing and full entitlement bundle permit a new request.reviewerSandboxGrantStatusisloadedwhen the account-owned grant lookup succeeded andunavailablewhen the Page cannot safely determine its current state. While unavailable, request and revoke actions remain disabled until a refresh succeeds.
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.