Developer Guide

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

Get your API key

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

1

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.

your key
ot_live_9f2c1a...   # from https://opentweet.io/developer
2

Create 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.

import from URL
https://opentweet.io/openapi.json

The schema exposes POST /posts (create a tweet, thread, or scheduled post), GET /posts, and GET /me (account status).

3

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.

Action authentication
Authentication type:  API Key
Auth Type:            Bearer
API Key:              ot_your_key

# ChatGPT sends this header on each request:
Authorization: Bearer ot_your_key
4

Add 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.

GPT instruction
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.
test message
post this tweet: shipping day 1 of my build in public. ask me anything about the stack.
5

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.

FactorCustom GPT + OpenTweetCustom GPT + X API directly
PriceFlat $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 accountNot neededRequired, with billing enrollment
OAuth setupDone once in OpenTweet, no codeYou build and maintain the OAuth flow
SchedulingIncluded via scheduled_dateNot supported by the X API
Auth in the ActionOne ot_ Bearer keyOAuth2 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

Paste mcp.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.

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 key

7-day free trial. Cancel anytime.