Skip to main content
A white-label ChatGPT app puts a seller’s own brand in ChatGPT, backed by their Semicola storefront. Registering and submitting the app is done by the seller in OpenAI’s developer portal, under their own OpenAI account; Semicola never submits for you. This page says what Semicola already provides for that submission and what it doesn’t yet.
Part of this workflow isn’t available yet. Semicola does not issue a customer-branded MCP URL, a reviewer login, app icons, or an OpenAI submission package. Until it does, you can prepare the listing domain and the domain-ownership token, and rehearse in ChatGPT’s developer mode, but you can’t complete a white-label submission from Semicola alone.

What’s available now

An agent can walk the available steps with the Publish an OpenAI app skill.

1. Make Public distribution live

On the Listing page (or with the tools named in brackets):
  1. List the storefront on the marketplace (publish_discovery with visibility: "marketplace").
  2. Save a hostname on your own domain as the public listing domain (save_discovery_hostname). The result gives the one CNAME record to add at your DNS provider.
  3. After the record is in place, verify it (activate_discovery_hostname). Only the active status counts; a pending or failed check shows what to fix.
  4. Make the listing public on that domain (publish_discovery with visibility: "public").
Only an account admin can change the public listing domain, publish the token, or change visibility.

2. Prove domain ownership to OpenAI

When OpenAI’s portal gives you a domain-ownership token, paste it in the ChatGPT destination (update_discovery_openai_challenge). Semicola serves it at the address OpenAI checks on your public listing domain. Replacing or removing a saved token asks you to confirm, because the old token stops working at once. Semicola then checks (probe_discovery_openai_challenge) that the address returns exactly your token: This only confirms the address. OpenAI verifies the domain separately, on its own timeline.

3. Rehearse in ChatGPT developer mode

You can try prompts and record a practice session in ChatGPT’s developer mode with the shared endpoint, https://api.semicola.com/mcp/v3, as described in MCP client setup. That connection carries the Semicola name and signs in to your own Semicola account; it is a rehearsal, not the URL to submit for a white-label app. When you rehearse:
  • start with get_status and confirm it names the account you mean to demonstrate;
  • try one read, one write that shows its confirmation before it runs, one follow-up that reuses an id from the previous answer, and one unsupported request;
  • use a sandbox advertiser or a demo storefront for writes, and stop before real spend; and
  • keep credentials, tokens and personal data out of any recording.

4. Complete the submission in OpenAI

Everything in OpenAI’s form is entered by you in OpenAI’s portal: publisher identity and contact, app name and descriptions, website, support, privacy and terms URLs, logos, screenshots, starter prompts, locales and countries, the MCP URL, reviewer access, tool justifications and tests, policy answers, release notes and the review video. Semicola doesn’t see the portal and can’t tell you whether a draft is complete or approved.