How to Make a Custom GPT
Post to Twitter (X)
A Custom GPT posts to X through a ChatGPT Action. Import the OpenTweet OpenAPI schema, set Bearer auth with an ot_ key, and your GPT can tweet from a normal chat message. No X developer account needed.
Last updated: July 2026
7-day free trial. Cancel anytime.
How does a Custom GPT post to X?
A Custom GPT cannot post to X on its own. It posts by calling an external API through a ChatGPT Action, and the Action is defined by an OpenAPI schema plus an authentication method. You point the Action at an API that already holds your X connection, and the GPT does the rest.
OpenTweet is a Twitter/X scheduler and posting API that holds the X connection for you, so a Custom GPT only ever talks to OpenTweet. You import one OpenAPI URL, paste one Bearer key, and the GPT can create tweets, threads, scheduled posts, and drafts. You never touch the X developer portal.
Step-by-step: give your GPT a tweet Action
Get your OpenTweet API key
Sign in to OpenTweet and open /developer to create an API key. It starts with ot_. Connect your X account to OpenTweet once, and this single key lets the GPT post on your behalf.
ot_live_9f2c1a... # from https://opentweet.io/developerCreate an Action and import the OpenAPI schema
In the GPT editor, open Configure → Create new Action, then use Import from URL and paste the OpenTweet schema. ChatGPT parses it and lists the available operations, including creating a post.
https://opentweet.io/openapi.jsonThe schema exposes POST /posts (create a tweet, thread, or scheduled post), GET /posts, and GET /me (account status).
Set Authentication to API Key, Bearer
In the Action Authentication panel, choose API Key, set Auth Type to Bearer, and paste your key. ChatGPT then sends Authorization: Bearer ot_your_key on every call.
Authentication type: API Key
Auth Type: Bearer
API Key: ot_your_key
# ChatGPT sends this header on each request:
Authorization: Bearer ot_your_keyAdd an instruction and test with plain language
In the GPT instructions, tell it to call the create post operation whenever you ask it to tweet. Then send a natural test message. The GPT maps your request to POST /posts with a publish_now flag.
When the user asks you to tweet or post something, call the
"Create a tweet, thread, or scheduled post" operation with the text
they gave you. Set publish_now to true unless they name a future time,
in which case set scheduled_date to that time in ISO 8601.post this tweet: shipping day 1 of my build in public. ask me anything about the stack.Why no X developer account is needed
The GPT never touches X directly. It calls OpenTweet, and OpenTweet holds the OAuth connection to your X account. That means no X developer app, no X API keys, no OAuth callback plumbing, and no X API billing enrollment. If you later want to build the Action straight against the X API instead, you would own all of that yourself, plus the per-post fees below.
What does it cost, and how does it compare to the X API?
OpenTweet is a flat monthly fee with no per-post charge. Pointing your GPT Action at the X API directly means a developer app and pay-per-use billing.
| Factor | Custom GPT + OpenTweet | Custom GPT + X API directly |
|---|---|---|
| Price | Flat $11.99/mo (Pro) | X API billing, tiered per project |
| Per-post fee | $0 per post | ~$0.015 per post, ~$0.20 if it has a link |
| X developer account | Not needed | Required, with billing enrollment |
| OAuth setup | Done once in OpenTweet, no code | You build and maintain the OAuth flow |
| Scheduling | Included via scheduled_date | Not supported by the X API |
| Auth in the Action | One ot_ Bearer key | OAuth2 user token, refreshed by you |
Links cost more on X
X charges about $0.20 per post when the tweet contains a link, an anti-spam price added in 2026. Most automated posts include a link, so this fee adds up fast on the X API. OpenTweet has no per-post fee.
One key, not a token flow
ChatGPT Actions support a static API Key Bearer auth cleanly. A raw X API integration needs an OAuth2 user token that expires and must be refreshed, which is awkward to manage inside a Custom GPT.
The GPT stays in control
Ask the GPT to save a draft or schedule instead of publishing, and it sets the right fields. You can review posts in the OpenTweet dashboard before they go live.
Prefer to skip Actions entirely?
If you use an MCP-capable client instead of a Custom GPT, you can connect the OpenTweet hosted MCP server and get 36 X tools without writing an Action at all.
One URL for MCP clients
Pastemcp.opentweet.io/mcp into the connectors or MCP config of Claude Desktop, Cursor, Windsurf, Cline, or OpenClaw, and the assistant gets tools to post, schedule, and manage X. Same ot_ key, no Action editing.See the MCP server and posting to X from ChatGPT.
Frequently asked questions
Can a Custom GPT post to Twitter (X)?
Yes. A Custom GPT posts to X through a ChatGPT Action that calls an external API. Import the OpenTweet OpenAPI schema at https://opentweet.io/openapi.json, set API Key Bearer authentication with an ot_ key, and the GPT can create tweets by calling POST /posts. ChatGPT itself has no built-in tweet capability, so the Action is what does the posting.
Do I need an X developer account to make a Custom GPT tweet?
No. OpenTweet holds the X connection, so you connect your X account to OpenTweet once and the GPT only ever calls the OpenTweet API with your ot_ key. You never create an X developer app, request API keys from X, or enroll in X API billing.
What OpenAPI URL do I import into the ChatGPT Action?
Import https://opentweet.io/openapi.json. It is a valid OpenAPI 3.1 document with a bearerAuth security scheme, so ChatGPT auto-detects the API Key authentication and lists the operations, including List posts, Create a tweet, thread, or scheduled post, and Get account status.
How much does it cost to make a Custom GPT post to X?
OpenTweet is a flat $11.99/mo on the Pro plan, which includes the REST API and MCP access with no per-post fee. Building the same Action directly against the X API instead means an X developer app, X API billing, and roughly $0.015 per post or about $0.20 per post if the tweet contains a link.
Can the Custom GPT schedule tweets, not just post now?
Yes. The create post operation accepts a scheduled_date field in ISO 8601, so you can tell the GPT to schedule a tweet for a future time. Omit both scheduled_date and publish_now to save a draft instead. The official X API cannot schedule, so scheduling is an OpenTweet capability.
Keep exploring
OpenTweet vs the X API
Post, schedule, and automate X without a developer account or the $200/mo minimum.
X DM outreach, human-approved
Find and qualify leads, AI-draft DMs, approve each one, and drip-send from your own account via API or MCP.
Post to X without an API
The clean, account-safe way to post to X from your code or an AI agent.
Twitter MCP Server
Give Claude, Cursor, and OpenClaw the ability to post to X. 36 tools included.
Developer docs
Quickstart, API keys, MCP setup, and the REST reference for posting to X from code or an agent.
XMCP vs OpenTweet
X's official MCP server bills per API call and cannot schedule. Compare it with the flat-fee hosted MCP.
MCP for AI agents
Connect your AI client to X in under two minutes, no X developer account.
Developer API and keys
REST endpoints, one bearer key, and usage tracking. Build on OpenTweet.
OpenTweet for AI agents
The posting layer for autonomous agents and automations that live on X.
Build an AI Twitter persona
Give your AI agent its own X account. Setup, cadence, and the rules that keep it safe.
Best MCP servers for social media
The 2026 ranked list. How the hosted OpenTweet MCP compares with the official X MCP and others.
Cheapest way to post to X via code
Flat fee vs pay-per-use. Why the $0.20 per-link fee flips the math past ~60 posts a month.
Let your Custom GPT tweet in two minutes
Get your ot_ API key, import the OpenAPI schema, and your GPT can post to X. No X developer account, no per-post fees.
Get your API key7-day free trial. Cancel anytime.