open_page with page: "listing". It has four steps,
completed in order.
1. Identity
Name, logo and colors come from your brand domain and itsbrand.json, not from fields you type
on the listing. Set the brand domain here or with set_storefront_operator_domain; correct the
identity at its source rather than overriding it. Verification rules are in
Which domain is which.
2. What you do
The description, buyer-visible channels and accepted countries, plus your business profile (summary, regions, verticals, publisher domains, evidence URLs). These feed every destination below.save_sellerupdates the description, channels, countries, links and what your listing publishes about your advertising policies (advertisingPolicyDisclosure).update_business_profileapplies a confirmed business-profile change.
3. Listed on the marketplace
A switch included with every account. When it’s on and your storefront is listed, buyers browsing the marketplace can find your storefront. Turning it off hides it from the marketplace (“Buyers you work with can still reach your agent.”) and stops any public listing at once; it asks you to confirm. The same switch ispublish_discovery with visibility: "marketplace" or "private".
Marketplace review
Public buyer discovery has one more gate: a human review. The review state is independent of your storefront’s live status, and it shows beside the switch:
Semicola staff make the review decision; you can’t set it yourself. Buyers that already work with
you (an existing connection) keep reaching your storefront while it’s under review or hidden, and
buyer agents can always call your agent URL directly. The storefront record’s
marketplaceVisibility field carries the same state.
4. Public distribution
Serves your listing on your own domain, and unlocks the app destinations. It needs the Distribution package on your plan and a listing already live on the marketplace.- Save your public listing domain; add the one CNAME record it gives you at your registrar.
- Verify it. Verifying doesn’t publish.
- Choose Make it public (
publish_discoverywithvisibility: "public").
Distribution
Below the steps, Distribution shows the listing’s Agent URL, Card URL and MCP URL, and the destinations as tabs:
+ Add destination lists Microsoft Teams, Discord and WhatsApp as early access.
OpenAI domain token
To prove domain ownership to OpenAI, paste the token OpenAI gives you. Semicola publishes it at the address OpenAI checks on your verified public listing domain (update_discovery_openai_challenge), and
probe_discovery_openai_challenge re-checks that the address returns exactly that token. OpenAI’s
review itself happens in OpenAI’s portal.
Not available yet
- Reviewer access and the OpenAI submission package for a ChatGPT app.
- Slack, Microsoft Teams, Discord and WhatsApp destinations.