Submitting the form does not guarantee a listing. OpenAI reviews every plugin, and the Tool justification and Test cases sections are where most rejections happen, so give them the most attention.
Before you start: OpenAI account and access
Sort these out before you open the form, or you will be blocked at the first tab.- Apps Management role. The account that submits needs the “Apps Management” permission set to “Write” in your organization role. Check it under Platform → organization roles.
- Verified identity. You need a verified developer or business identity in the OpenAI Platform. Complete individual or business verification in your organization settings first; verification can take time, so start early.
- Public URLs live. Website, support contact, privacy policy, and terms of service must be publicly reachable (see Plugin info below).
- Reviewer credentials. If your plugin requires sign-in, prepare demo credentials that work for a reviewer without MFA, SMS, email confirmation, or private-network access. Reviewers cannot complete an auth flow that has extra confirmation steps.
If Waniwani submits on your behalf, we handle the account, role, and identity verification. If you submit from your own OpenAI account, these are your responsibility.
Creating the plugin
- Go to platform.openai.com/plugins and select Create plugin.
-
Choose a submission type:
- Skills only — a package of reusable workflows, no MCP server.
- With MCP — a plugin backed by your MCP server (MCP-only, or MCP-plus-skills).
1. MCP tab: server, versioned and deployed
The form requires a stable production MCP Server URL, entered on the MCP tab.- Go to app.waniwani.ai/mcp and confirm your app is listed.
- Use the dropdown next to your app to copy its production MCP URL.
- Verify it follows the versioned pattern, for example
https://v1.<your-app>.mcp.waniwani.run/mcp. - On the MCP tab, enter the URL, configure authentication, set the content security policy, then complete domain verification and select Scan Tools so OpenAI can read your tool definitions.
Before you run Scan Tools, make sure tool responses contain no secrets, undisclosed user fields, or unnecessary personal data — reviewers inspect the scanned tool output. For managed Waniwani apps this is handled in the server code.
2. Logo: light and dark versions
Provide two versions of your plugin’s icon.- Format: PNG.
- Shape: square. Do not add borders or rounded corners; ChatGPT applies circular cropping automatically.
- One light mode version and one dark mode version.
3. Info tab: plugin info
Prepare these fields in advance. Use the customer-facing product or workflow name, and make sure every URL matches your verified publisher identity.Writing the description
Structure it like this:- Opening paragraph: what the plugin does and the value it provides (two to three sentences).
- “What you can do with [Plugin Name]”: three to five bullet points of key capabilities.
- Keep it factual and user-centric, and avoid hype.
Recording the demo
The video must cover all main use cases and tools across every platform you support (web, iOS, Android). A practical recipe:- Record several runs of the plugin working across different scenarios.
- Stitch them into one video, one scenario after another.
- Speed it up to at least 2x. The point is for a reviewer to see what the plugin does quickly.
If your plugin involves commerce
You will be asked to confirm your purchasing flow and to describe the products you intend to sell. For regulated products such as insurance, be transparent that you help users get a quote estimate: if they like it, they are redirected to your website to finalize. Do not present a “final price” inside the chat.4. Tool justification (critical step)
This is the hardest part and the most common reason for rejection. For every tool your MCP server exposes, OpenAI requires three annotation hints, each with a written justification. If they are not set, OpenAI assumes the worst defaults:readOnlyHint = false, openWorldHint = true, destructiveHint = true.
For each annotation on each tool, the form wants a short written justification explaining why the value is accurate. Tools that touch external services may also need CSP metadata (
connect_domains, resource_domains).
Use the Tool justification template to lay out every tool, its annotation values, and the justification text before you open the form. For managed Waniwani apps, the annotations and CSP metadata are set in the server code for you, and you receive the justifications pre-filled to review and paste.
5. Skills tab (optional)
Skills are self-contained, reusable workflow packages. You can submit skills only (no MCP server) or bundle skills alongside your plugin. If you have no skills to ship, leave this tab empty.- Upload the final skill bundle with a tested file structure.
- Confirm the bundle works end to end before uploading — a broken bundle is a rejection.
6. Prompts tab: starter prompts
Provide specific starter prompts that demonstrate your plugin’s key workflows. These are the example prompts ChatGPT surfaces to users.- Make each prompt concrete and adaptable, not generic (“Find pet insurance for a 3-year-old labrador,” not “Help me with insurance”).
- Cover your main tools and use cases, aligning with your positive test cases below.
7. Testing tab: 5 positive and 3 negative test cases
OpenAI reviewers run these to validate your plugin, and they are reviewed carefully.- At least 5 positive cases: scenarios where the plugin should trigger and work. For each, the form asks for the scenario, the user prompt, which tools fire, and the expected output.
- At least 3 negative cases: prompts where the plugin should not trigger. For each, the form asks for the scenario and the prompt.
If your plugin requires sign-in, provide the reviewer demo credentials here (or where the form asks for them). They must let a reviewer complete every test case without MFA, SMS, email confirmation, or private-network access.
8. Global tab: regional availability
Decide whether the plugin is worldwide or restricted.- All countries: available in every ChatGPT-supported country.
- Specific countries: list them. Restrict if your service only operates in certain regions or the content is only relevant there.
9. Translations and locale
Parts of the form must be in English.- English (US) is always required as the base locale.
- You can add other locales (for example français, español, Deutsch). For each, provide a translated Subtitle and Description.
- ChatGPT may auto-translate some fields, but your own translations ensure quality.
10. Screenshots
Provide screenshots of your plugin’s widgets in action.- Format: PNG.
- Width: 706px. Height: minimum 400px, recommended maximum 860px.
- At least 1 screenshot at 2x (retina quality), maximum 4.
- Each screenshot needs an example user message that would produce what’s shown.
- The first three appear on install views and are reused across sizes and locales, so lead with your strongest states.
11. Submit tab: policy compliance and release notes
On the final Submit tab you confirm that your plugin:- Complies with OpenAI’s Terms and Submission Guidelines, which you have reviewed.
- Complies with applicable industry laws and regulations.
- Does not initiate or execute money, crypto, or investment transfers.
- Does not serve or display advertisements.
- Uses third-party content and API endpoints you have the rights to.
- Is not designed for or marketed to children under 13, and you confirm it is suitable for 13+ or 18+.
Approval is not the same as going live. After OpenAI approves your plugin, you choose when to publish from the plugins portal; the listing appears in the ChatGPT Plugin Store only once you publish it.
Summary checklist
- “Apps Management” role set to Write, and developer/business identity verified
- Reviewer demo credentials that work without MFA/SMS/email confirmation
- Versioned MCP server deployed and reachable
- Domain verified at
/.well-known/openai-apps-challenge, tools scanned - Light and dark PNG logos (square, no borders)
- All plugin info fields prepared (mind the 30-character subtitle limit)
- Tool annotations set in the server with written justifications
- Skill bundle uploaded, if applicable
- Starter prompts written
- 5 positive and 3 negative test cases written
- Regional availability decided
- English base locale, plus translations if needed
- Screenshots (PNG, 706px wide, 400 to 860px tall, max 4)
- Demo recording ready
- Privacy Policy and Terms of Service URLs live
- Commerce disclosures prepared, if applicable
Tool justification template
Lay out every tool’s annotations and justification text before you open the form.
Test cases template
The 5 positive and 3 negative cases, ready to fill in.
Claude submission
Listing the same app in Claude’s Connectors Directory.
After you submit
Drive traffic to your listing once it is live.