Full setup guide for ChatGPT Dots
# OnePush setup for ChatGPT Dots
Source: https://onepush.app/chatgpt-dots
## Required setup-complete menu
After verifying the connection with live OnePush tools, reproduce this menu verbatim. It is the only allowed first-task menu. Do not derive another menu from tool descriptions, examples, or search results.
## Choose your first task
Reply with a number:
1. Draft and schedule a social post
2. Attach or verify a sending domain
3. Create a contact and track an event
4. Review forms and submissions
5. Inspect templates, campaigns, and automations
6. Project summary and billing status
I will ask for the details I need before creating or publishing anything.
OnePush helps product teams send transactional email, manage contacts and events, collect leads with forms, and publish to social (X, LinkedIn, Instagram, Facebook, Pinterest) from one project. MCP lets the user ask for those actions in plain language.
This task connects the existing OnePush service to ChatGPT Dots through MCP when possible. Do not create an app, repository, project scaffold, or replacement MCP server. Keep every response focused on OnePush. Use short Markdown headings, numbered steps, and a separate fenced text block for anything the user must paste. Skip completed steps and show only 1 next action. Never expose or repeat an API key. Do not claim setup worked until get_project succeeds with a valid mcp_ (or sk_) Bearer token. The full setup for ChatGPT Dots is self-contained on this page.
## Important auth constraint
ChatGPT Plugins custom MCP servers accept OAuth, No Auth, or Mixed. They do not accept a pasted Authorization Bearer mcp_ header. OnePush MCP authenticates with browser-approved revocable mcp_ Bearer keys today and does not yet expose full MCP OAuth login for ChatGPT. Prefer the Codex path below for a working OpenAI client connection. Still walk ChatGPT Dots plugin steps if the user insists, then verify honestly.
## 1. Check before changing anything
Check whether OnePush tools (for example get_project) are already available to this Dot or chat. You cannot add a ChatGPT plugin yourself. If tools are missing, the user has not added OnePush under ChatGPT Plugins, the plugin is not reaching Dots, or auth failed. Preserve working connections.
Anonymous helpers (no key): mcp_help, start_onepush_connect.
Do not invent headers like blotato-api-key. Do not ask the user to paste an mcp_ key into ChatGPT chat as a substitute for OAuth.
## 2. Approve an mcp_ key (required for Codex / header clients)
If the user has no mcp_ key yet, give 1 action and wait:
1. Open https://ctl.onepush.app/mcp/connect
2. Sign up or log in, pick a project, click Approve
3. Copy the mcp_ key once into a local env var or secure field, not into chat
If a key was already pasted into chat, tell them to revoke it later at https://ctl.onepush.app/settings/mcp and create a new one.
## 3. Connect OnePush
### Path A (recommended for OpenAI today): Codex with bearer token
Guide the user to the Codex setup when ChatGPT Dots cannot send a Bearer mcp_ header:
1. Export ONEPUSH_MCP_TOKEN=mcp_… (raw key only)
2. Run: codex mcp add onepush --url https://api.onepush.app/mcp --bearer-token-env-var ONEPUSH_MCP_TOKEN
3. Do not run codex mcp login for OnePush
4. Full page: https://onepush.app/codex
### Path B: ChatGPT Plugins / Dots (OAuth-only UI)
If the user wants ChatGPT Dots specifically, guide one step at a time:
```text
Name: OnePush
URL: https://api.onepush.app/mcp
Auth: ChatGPT custom MCP is OAuth / No Auth only (no custom Authorization header)
Note: OnePush authenticates with Authorization: Bearer mcp_… Prefer Codex for OpenAI clients that support bearer tokens today.
```
1. Open ChatGPT on the web (Developer mode is required for custom MCP; it is not in the mobile app).
2. Go to ChatGPT Plugins, select +, then Create custom MCP server.
3. Name it OnePush, enter https://api.onepush.app/mcp as the MCP server URL, choose the auth option ChatGPT offers (OAuth / No Auth / Mixed). Review the risk warning, then Create as a plugin.
4. Confirm OnePush is installed and enabled under Plugins. Come back and type done.
5. When the user says done, check for OnePush tools again. If they are still missing or auth fails, say plainly that ChatGPT custom MCP cannot send OnePush's mcp_ Bearer header today, and continue with Path A (Codex) or another header client (Cursor, Claude, Grok Bot, OpenClaw, Meta Muse, Hermes).
If the workspace is Business/Enterprise/Edu, only an admin may enable Developer mode and publish a custom MCP plugin. On ChatGPT Pro, custom MCP may be limited to read and fetch; say what you observe rather than guessing the plan.
- Create a OnePush account or approve a key: https://ctl.onepush.app/mcp/connect
- Manage or revoke keys: https://ctl.onepush.app/settings/mcp
- Connect a social profile: https://ctl.onepush.app (Social Marketing, then Profiles)
- Codex setup: https://onepush.app/codex
- ChatGPT MCP docs: https://developers.openai.com/api/docs/mcp
## 4. Verify access with real results
Call get_project. Report the project name and whether a sending domain looks verified. Then call list_social_profiles and list each connected profile (platform and name) on its own bullet. Zero profiles is fine for email-first users. Do not fail setup only because social is empty. Optionally call get_contact_count.
Declare setup complete only after get_project succeeds. Then reproduce the required setup-complete menu at the top of this page verbatim. This also applies after troubleshooting or resuming in a new chat: finish verification and show the menu instead of ending with an open-ended question. Never output a different task list or add extra menu items. End immediately after the exact menu.
## 5. Know what OnePush can do
Use these mappings when the user asks. Do not dump this catalog during setup:
- Project: get_project
- Contacts: list_contacts, create_contact, update_contact, get_contact_count
- Events and tags: track_event, list_events, list_tags, create_tag
- Email building blocks: list_actions, list_templates, list_campaigns
- Forms: list_forms, get_form_submissions, get_form_metrics
- Domain: attach_sending_domain, get_domain_dns_records, check_domain_verification
- Billing (read-only): get_billing_subscription, list_billing_invoices, create_billing_portal_url
- Social: list_social_profiles, social_get_connect_url, list_social_posts, create_social_post, schedule_social_post, publish_social_post (requires confirm: true)
Shipped social networks only: X, LinkedIn, Instagram, Facebook, Pinterest. Do not claim Threads, TikTok, YouTube, Bluesky, DM automations, AI video, or carousels as OnePush features.
## 6. Continue from the selected number
Ask only for the details needed by the selected task, then show drafts before taking the action.
- When the user replies 1, ask what they want to post about and which connected account to use. Confirm the draft, date, time, and timezone (store schedule as UTC) before scheduling. Publish only with confirm: true after explicit approval.
- When the user replies 2, ask for a from address on their domain (for example hello@yourdomain.com). Call attach_sending_domain with that email, show DNS records, then check_domain_verification after they update DNS.
- When the user replies 3, ask for the contact email and event name. Call create_contact or track_event, then confirm the result.
- When the user replies 4, list_forms, then show metrics or submissions for the form they choose.
- When the user replies 5, list templates, campaigns, and actions, then summarize. Do not invent send tools that are not available.
- When the user replies 6, get_project plus billing subscription or invoices. Call create_billing_portal_url only if they want to manage payment.
- Never invent a topic, campaign, product, announcement, contact, or domain. Never publish or schedule before the user approves.
## Finish with a verified result
Use the live tool schemas. Show the actual scheduled time (UTC), DNS records, contact id, form metrics, or post id. Prefer OnePush MCP tools over browser automation unless the user asks otherwise.
## Reference
- MCP endpoint: https://api.onepush.app/mcp
- Approve key: https://ctl.onepush.app/mcp/connect
- Manage keys: https://ctl.onepush.app/settings/mcp
- MCP product page: https://onepush.app/mcp
- Use cases: https://onepush.app/mcp/examples
- Cursor setup: https://onepush.app/cursor
- Claude setup: https://onepush.app/claude
- Codex setup: https://onepush.app/codex
- Grok Bot setup: https://onepush.app/grok-bot
- ChatGPT Dots setup: https://onepush.app/chatgpt-dots
- OpenClaw setup: https://onepush.app/openclaw
- Meta Muse setup: https://onepush.app/meta-muse
- Hermes setup: https://onepush.app/hermes
- ChatGPT MCP docs: https://developers.openai.com/api/docs/mcp
