ChatGPT Setup

Publish to publishwith.ai from ChatGPT

ChatGPT connects through a Custom GPT Action against our REST API, not the MCP endpoint. Use the official publishwith.ai GPT for the fastest path, or build your own. Plan on about 15 minutes for a custom build.

ℹ️
ChatGPT does not use MCP. Custom GPT Actions call our REST API described by the OpenAPI schema. Do not paste the /mcp endpoint into ChatGPT; that endpoint is for Claude, Cursor, and Codex.

1. Which path to choose

PathWho it is forAuthIdentity
Official publishwith.ai GPTAnyone, including teamsOAuth sign-inEach person uses their own account
Your own Custom GPT, privateOne person, private usePersonal API keyYour account
Your own Custom GPT, shared with othersTeams publishing togetherOAuth (self-service confidential client)Each person uses their own account
⚠️
If you put a personal API key in a GPT and then share that GPT, everyone who uses it acts as your publishwith.ai account. Keep API-key GPTs private. To share with others, use the official GPT or OAuth.

2. Option A — Official publishwith.ai GPT (OAuth)

The official GPT is the fastest path and the only safe option for multiple users: each person signs in with their own publishwith.ai account through OAuth, so audit logs, access control, and quotas stay per-user. No API key to copy or rotate.

The official publishwith.ai GPT is live in the ChatGPT GPT Store. Open the publishwith.ai GPT → Sign in with your own account and start publishing in one click. No API key to copy or rotate.

3. Option B — Build your own Custom GPT (API key)

Use this for your own private publishing. It works today and takes about 15 minutes.

Step 1 — Generate a personal API key

  1. Sign in to publishwith.ai and open Connect.
  2. Generate an API key and copy it. It is shown only once and looks like mcpub_....

API keys are personal credentials. Create one key for this GPT. Enterprise workspaces may restrict or disable self-service keys; if the button is unavailable, ask your tenant admin or use the official GPT.

Step 2 — Create a Custom GPT and add an Action

  1. In ChatGPT's GPT builder, create a new GPT and open its configuration.
  2. Add an Action to the GPT.
ℹ️
ChatGPT's builder labels change over time. If a menu name here does not match what you see, follow OpenAI's current Custom Actions documentation for the exact clicks; the values below stay the same.

Step 3 — Import the OpenAPI schema

In the Action's schema field, import or paste the publishwith.ai schema:

https://publishwith.ai/openapi.yaml

If import by URL fails, open the schema and paste its contents directly.

Step 4 — Configure authentication (API Key, Bearer)

In the Action's Authentication panel:

FieldValue
Authentication typeAPI Key
API Keymcpub_... (your key from Step 1)
Auth TypeBearer
⚠️
Use API Key only for a GPT you keep private: the key acts as your account, so anyone who uses the GPT publishes as you. For a GPT you redistribute, use OAuth instead so each person signs in with their own account. Tenant admins create a confidential OAuth application from the Connect page, with no server-side provisioning needed. Copy the client ID and secret it generates, then set: Authorization URL https://publishwith.ai/oauth/authorize, Token URL https://publishwith.ai/oauth/token, scope empty, token exchange Default (POST). The redirect URL for your GPT must be registered when creating the OAuth application.

Step 5 — Test it

Prompt the GPT, for example: Create a monthly revenue report and publish it to publishwith.ai. The GPT calls the publish action and returns the artifact URL.

4. Preflight checklist

5. Troubleshooting

SymptomCauseFix
Schema import failsSchema not reachable, or builder rejected itConfirm https://publishwith.ai/openapi.yaml loads in a browser, then paste the contents instead of importing by URL
401 Unauthorized on callsWrong or missing key, or Auth Type not BearerRe-paste the key and set Auth Type to Bearer
Generate key button missingWorkspace policy disabled self-service keysAsk your tenant admin, or use the official GPT with OAuth
Others see my data in a shared GPTShared GPT carries your single API keyMake the GPT private, or switch to the official GPT / OAuth
💡
Using Claude, Cursor, or Codex instead? They connect over MCP with OAuth in one step. See the AI guide.