Developer Guide

How to Post to Social Media From ChatGPT (What Actually Works)

September 11, 2026 · By Sabrina Ramonov

Post to social media from ChatGPT with a custom MCP connector: the real setup, the plan requirement, and the auth path that actually works.

ChatGPT connected through an MCP server to nine social media platforms

To post to social media from ChatGPT you add a custom MCP connector, because ChatGPT ships with no built-in path to your accounts. It drafts beautifully and publishes nothing. Every route that actually puts text on LinkedIn or a photo on Instagram runs through a server you point it at.

Which leaves one question that my own company answers two different ways in two different places: how you authenticate that server.

That sounds like a small thing. It is the difference between a connector that works on the first try and a 401 you cannot explain.

Every Way to Post to Social Media From ChatGPT, Compared

ChatGPT never touches a social platform directly. Something you connect does the publishing for it. Here are the routes worth evaluating and what each one costs.

PathPlatformsSetupWhere it breaks
Plain ChatGPT, no connectorNoneNothing to set upIt drafts. It cannot publish. There is no setting that changes this
Custom MCP connectorWhatever the server coversAdd one server URL, authenticate onceRequires a paid ChatGPT plan, and web only
Custom GPT Action you buildWhatever you wireAn OpenAPI schema plus auth for whatever it callsPoint it at one aggregation API and it is manageable. Point it at the platforms directly and you own a developer app and a separate set of posting rules for each
Zapier or Make in the middleWhatever the connector coversA zap or scenario per actionZapier dropped its X integration back in 2023, so X still needs another route

The middle row is the one worth your time, and it is the one this post walks through. Hosted multi-platform posting starts around the same price across the category, so the sticker should not decide this for you. Blotato’s Starter is $29 a month for one user and up to 20 connected accounts. Postiz Standard is $29 for 5 channels, it does not meter posts, and its Team tier at $39 adds colleagues, which Blotato does not offer at any price. Postiz is also open source if you would rather run it yourself and absorb the hosting instead of the subscription. Compare on connected accounts and on whether you need other people in the tool, not on the headline number.

I build one of those servers, so weigh my framing accordingly. If you already know you want that path, connect your accounts first and the config below takes about two minutes.

Free 7-day trial · Cancel anytime

One correction before you click that, because it will save you a support ticket. The trial covers the app but not the API, and generating an API key ends the trial and starts the paid Starter subscription immediately. So the trial is the way to evaluate Blotato itself, and the connector is a paid-from-day-one feature. Budget for the subscription rather than planning to test the connector inside the free week.

The Plan Requirement Nobody Mentions Until You Hit It

Custom connectors live behind Developer mode, and Developer mode is not on every account.

It is web only, not the desktop app and not mobile. That part is firm, and it is the single most common reason a setup guide stops working halfway down.

Which paid tiers get it is less settled than most guides admit, and OpenAI has moved this more than once. Our own connector page lists Pro, Plus, Business, Enterprise, and Education. OpenAI’s own help centre has described full MCP, the kind that can take write actions, as narrower than that, with some tiers limited to read and fetch. A free account has no path either way. Check what your own Settings actually offers before you plan around a tier, and if Developer mode is not there, Codex is a different OpenAI product that takes the same endpoint with a plain API key header and no tier requirement.

One catch before you go hunting through settings. OpenAI moved the menu. If a walkthrough tells you to look under Connectors, it was written before July 2026, when that section moved into Plugins. The instructions are otherwise fine, the menu is just somewhere else now.

Instagram carries a requirement that has nothing to do with ChatGPT and catches people anyway. Publishing to Instagram through any API means the Instagram Graph API, which requires a professional account. A personal account cannot be published to programmatically, by us or by anyone else. Convert it before you start wiring anything, or the connector will work perfectly and Instagram will still refuse.

The Blotato ChatGPT connector page, showing the MCP endpoint and the OAuth-only badge.
The Blotato ChatGPT connector page, showing the MCP endpoint and the OAuth-only badge.

Two Auth Paths, and Why Our Own Docs Disagree

Blotato publishes two sets of ChatGPT instructions and they do not agree.

The ChatGPT connector page says the endpoint is OAuth only, and goes further: Developer mode “takes OAuth, No Auth, or Mixed, and no custom headers, so the API key path that works in Cursor or Codex has no equivalent here.” The MCP setup guide does the opposite. It lists ChatGPT among “API-key-based clients,” tells you to leave the bearer field blank, and has you set a header key of blotato-api-key.

Those cannot both be good advice for the same client. Follow the wrong one and you get a 401 with nothing on screen explaining why.

The server itself is not the constraint. Sending no credentials at all returns a 401 whose body names every method it accepts:

{"error":"invalid_token","error_description":"Missing API key or OAuth2.1 token. Pass blotato-api-key header or Authorization: Bearer <key> or use OAuth2.1 authentication flow"}

A blotato-api-key header returns a normal MCP handshake from that same endpoint, and mcp.blotato.com/.well-known/oauth-protected-resource resolves with a real authorization server behind it. Three working methods, server side.

The open question is the ChatGPT side: whether Developer mode will send a custom header at all. Our connector page says it will not. So use OAuth with ChatGPT, and treat the header config as the path for clients that take headers, which is what Cursor and Codex do.

If you hit an “auth unsupported” error, that is the signal you are on the wrong path for your client rather than a broken connector, and the fix is a different config rather than a support ticket.

Adding the Connector

Connect your social accounts in Blotato first. You authorize each platform once inside Blotato, which is real setup work, just done in one place rather than a developer app per platform. This is also the step people skip, and skipping it produces a connector that authenticates perfectly and then reports zero accounts, which reads exactly like a broken connection when it is really an empty workspace.

Connect ChatGPT to social media in four steps: connect your accounts in Blotato, enable Developer mode, add the MCP server, then approve OAuth.
Connect ChatGPT to social media in four steps: connect your accounts in Blotato, enable Developer mode, add the MCP server, then approve OAuth.

That is the whole shape of it. Here are the individual clicks, in ChatGPT on the web:

  1. Open Settings, then Security and login, and enable Developer mode.
  2. Open Settings, then Plugins, then MCPs.
  3. Click Add Server and select Streamable HTTP.
  4. Set the URL to https://mcp.blotato.com/mcp.
  5. Complete the OAuth approval in the browser, while logged into Blotato in that same browser. That last part is the one people miss, because the approval needs a live Blotato session to approve against.
  6. Click Add.

If you are instead setting this up in a client that takes headers, such as Cursor or Codex, leave the bearer field blank, set a header key of blotato-api-key, and paste your key in as the value. Copy the whole key: if it ends in one or more = characters those are part of it, and dropping them produces a 401 that looks identical to a wrong key.

The Blotato MCP setup guide, with ChatGPT listed among the supported clients.
The Blotato MCP setup guide, with ChatGPT listed among the supported clients.

Confirming it worked

Ask ChatGPT what accounts you have connected. It calls blotato_list_accounts and returns your platforms, which confirms the connection and the authentication in one move. If your accounts come back, you are done.

If nothing comes back, these three failures look identical from the chat window and have different fixes:

  • The connector authenticates but returns an empty account list. Nothing is broken. You added the server but never connected any social accounts inside Blotato, so the workspace it is reading is genuinely empty. Connect your accounts in Blotato settings, then ask again.
  • Every call returns a 401. Either the key is truncated, or you are using an auth path your client does not support. ChatGPT Developer mode expects OAuth rather than a custom header, so a config copied from a Cursor or Codex walkthrough will fail here every time.
  • There is no option to add a connector at all. You are on a free plan, or you are in the ChatGPT desktop or mobile app. Developer mode is web only.

Start It in Read-Only

For the first week, do not give the connector permission to publish.

Ask it to list your accounts, pull analytics, and draft posts you copy out by hand. You will learn how the model phrases things and where it guesses wrong while the cost of a mistake is still zero.

This matters more from a chat window than from a script. A script posts what you told it to post. An assistant decides how to phrase the thing you asked for, and it makes small calls you never specified: which hashtags, whether to add an emoji, how to split a long thought across a thread. Those choices are fine once you have seen a week of them and bad the first time you see one in production. Turn publishing on after that.

What Runs Through One Connector, and What Does Not

Once connected, ChatGPT reaches nine platforms through Blotato: Instagram, TikTok, LinkedIn, Facebook, X, Threads, Bluesky, Pinterest, and YouTube.

The engagement surface is narrower, and the edges are worth knowing before a prompt quietly returns nothing.

CapabilityCoverage
Publishing and schedulingAll 9 platforms
Analytics8 platforms. LinkedIn publishes normally but returns no metrics yet
Comments, read and replyInstagram and Facebook
DMs and conversationsInstagram and Facebook
DM automation, keyword triggeredInstagram and Facebook, reply-only

Posting limits are worth setting expectations on too, because several are ours rather than the platforms’. Blotato caps Instagram at 50 posts per 24 hours and Pinterest at 10 pins a day, and those are our anti-spam guards sitting below what the platforms themselves allow. There are further caps on TikTok, YouTube, LinkedIn and Facebook, some of them tier-dependent, all listed in the account limits doc. An agent on a loop will find them long before a human would.

The Honest Pitch: One Connector, Nine Platforms

The argument for routing ChatGPT through Blotato is not that we have an MCP server. That is table stakes now. Outstand, Postiz, Zernio, Buffer and Post Bridge all run one.

The argument is what sits behind the one connection. Publishing, scheduling, comments, DMs, and analytics arrive through a single server and a single key. Several competitors aggregate platforms too, and against those the honest comparison is the one above: connected accounts, engagement coverage, and whether you need teammates. The case for aggregation over building it yourself is the one that is not close, because going direct means a Meta app review for Instagram, a separate LinkedIn approval, X’s paid API tier, and a different bill and renewal date for each.

Worth knowing how crowded this has become, because it changes how you should read any recommendation, including mine. Ask two different assistants which tool to use for this and they return almost entirely different lists, mostly of names that did not exist a year ago, and often not the incumbents you would expect. That is a field that has not settled. Check the endpoint and the tier requirement yourself rather than taking any name on trust, this post included.

One API. Every social platform Blotato supports.

curl -X POST https://backend.blotato.com/v2/posts \
  -H "blotato-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "post": {
      "accountId": "YOUR_ACCOUNT_ID",
      "target": { "targetType": "linkedin" },
      "content": { "text": "Posted from ChatGPT.", "mediaUrls": [], "platform": "linkedin" }
    }
  }'

That accountId is not something you invent. It comes from GET /users/me/accounts, and for a LinkedIn Company Page or a Facebook Page you also need a pageId from GET /users/me/accounts/:accountId/subaccounts. Through the connector you never touch either one, because the agent calls the tool that lists accounts and passes the right ID itself. The full endpoint reference is at help.blotato.com/api/start.

The MCP server at https://mcp.blotato.com/mcp exposes 35 tools, which is the part that matters for an assistant rather than a script. ChatGPT picks the tool, fills the arguments, and reports what came back.

The Blotato MCP tools reference, listing blotato_list_accounts and the other tools ChatGPT calls once the connector is authenticated.
The Blotato MCP tools reference, listing blotato_list_accounts and the other tools ChatGPT calls once the connector is authenticated.
The same endpoint answers Claude, Claude Code, Cursor, and Codex. You still add and authenticate it in each client, but it is the same server and the same connected accounts behind all of them. I cover the wider setup in how to post to social media with Claude, and the architecture underneath in how AI agents post to social media.

One thing to be straight about, because it rarely appears on a pricing page: Blotato is one user per account. There are no teammate logins, no roles, no audit trail. If you need three people posting with separate credentials, we are not the right fit yet, and I would rather say that here than let you find it after you subscribe.

See plans and start →

Sabrina’s Take

I am biased, obviously. But I built Blotato because I got tired of maintaining a separate OAuth app for every platform I wanted to post to, and an assistant makes that worse rather than better, because it wants to touch all of them in one sentence.

If you are in ChatGPT every day anyway, the connector removes the copy-and-paste step between drafting and publishing, and the setup is genuinely a couple of minutes once you know which auth path your account supports. What I would not do is give it publish permission on day one. Let it draft for a week first.

And if what you actually need is a team, roles, and an approval queue, wait for us or look elsewhere. I would rather tell you that now than after you have wired everything up.

Posting to Social Media From ChatGPT FAQs

Can ChatGPT post to social media by itself?

No. ChatGPT drafts content but has no access to your social accounts out of the box. Publishing requires a custom MCP connector, a custom GPT Action you build, or an automation layer like Zapier or Make sitting in between.

What ChatGPT plan do I need to add a custom MCP connector?

You need a paid plan and the ChatGPT web app, because Developer mode does not exist in the desktop or mobile apps and free accounts have no path to it. Exactly which paid tiers expose full write-capable MCP has shifted, and Blotato’s connector page and OpenAI’s help centre describe it differently, so check your own Settings rather than a guide.

Why does my ChatGPT connector authenticate but return no accounts?

You connected the server but have not connected any social accounts inside Blotato yet. The connector is working and the workspace is empty. Connect your accounts, then ask ChatGPT to list them again.

Can ChatGPT reply to Instagram comments and DMs through Blotato?

Yes, for Instagram and Facebook. Comments, conversations, and keyword-triggered DM automation are live on those two platforms only, and DM automation is reply-only. The other seven still publish and schedule normally, and all of them except LinkedIn also return analytics.

Can ChatGPT post to LinkedIn and Instagram in the same prompt?

Yes. Ask for both and the agent calls the posting tool once per platform, which is the practical advantage of one connector over per-platform integrations. LinkedIn Company Pages need a page ID, which the agent retrieves itself.

Why does my ChatGPT MCP connector return a 401 on every call?

The most common cause is an auth mismatch rather than a bad key. ChatGPT Developer mode expects OAuth and does not send a custom API-key header, so a config copied from a Cursor or Codex guide returns 401 every time. Check also that you copied the whole key, including any trailing = characters, and that you completed the browser approval while logged into Blotato in that same browser.

Does ChatGPT Developer mode support an API key header or only OAuth?

Use OAuth with ChatGPT. Blotato’s connector page states that Developer mode takes OAuth, No Auth, or Mixed and no custom headers. The Blotato server itself does accept a blotato-api-key header and a Bearer token, but those paths are for clients that send custom headers, such as Cursor and Codex.

Is the 7-day trial enough to test the connector?

No. Generating an API key ends the trial immediately and starts paid Starter, so the API cannot be trialed. Budget for the subscription from day one.