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):- List the storefront on the marketplace (
publish_discoverywithvisibility: "marketplace"). - 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. - After the record is in place, verify it (
activate_discovery_hostname). Only theactivestatus counts; a pending or failed check shows what to fix. - Make the listing public on that domain (
publish_discoverywithvisibility: "public").
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_statusand 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.