planpo.st
FeaturesFor AI agentsRevenue trackingPlatformsPricingBlogSupport
Sign inStart free trial →
planpo.st

Social scheduling with revenue built in. One platform for creators and businesses who treat social as a growth engine.

Product

SchedulerFor creatorsFor agenciesCompare toolsAlternativesPricing

Channels

InstagramLinkedInX (Twitter)ThreadsFacebookYouTubeTikTokAll channels →

AI agents

MCP serverFor AI agentsClaude CodeCursorChatGPTGemini CLIAll agents →

Revenue

Revenue trackingRevenue attributionStripeShopifyRevenueCatAll integrations →

Resources

DocsMCP toolsAPI referenceBlogAboutSupportContactPrivacyTerms

Compare planpo.st

  • planpo.st vs Postiz
  • planpo.st vs Buffer
  • planpo.st vs Hootsuite
  • planpo.st vs Later
  • planpo.st vs Sprout Social
  • planpo.st vs SocialBee
  • planpo.st vs Planable
  • planpo.st vs Metricool
  • planpo.st vs Loomly
  • planpo.st vs Publer
  • planpo.st vs Post Bridge
  • planpo.st vs Mixpost
  • planpo.st vs Blotato
  • planpo.st vs Typefully
  • planpo.st vs RecurPost
  • planpo.st vs Post Planner
  • All comparisons →
  • Alternatives →
© 2026 planpo.st · all rights reservedstatus: ● all systems normal
  1. Home
  2. /AI agents
  3. /ChatGPT
  4. /Threads
ChatGPT · Threads

How to post to Threads from ChatGPT

A quick one. Ask ChatGPT for five Threads posts from a single idea and have them spread across the week.

Start 7-day free trial →ChatGPT setup docs
On this pageStepsWhat worksSettingsPromptsLimitsRevenueFAQ

How do I post to Threads from ChatGPT?

Add the planpo.st MCP server to ChatGPT, connect Threads once in the dashboard, then ask. The first three steps are one-time.

  1. 1

    Create an API key and add planpo.st to ChatGPT

    Make a scoped key in planpo.st under Settings. Open Settings, then Connectors, then Create, and enter the MCP URL with a custom Authorization header. ChatGPT connects to remote servers only, so the hosted endpoint is the one route. Whether you see Connectors depends on your plan and on developer mode.

  2. 2

    Confirm the server is connected

    Enable the connector in a new chat and ask it to list your connections.

  3. 3

    Connect Threads

    Connect the Threads profile in the dashboard under Connections. It is its own connection, separate from Instagram, and the agent can fetch a connect URL for you with get_connection_link.

  4. 4

    Know what the post needs

    A Threads post needs text of 500 characters or fewer. Media is optional and there are no platformSettings for Threads at all.

  5. 5

    Ask in a ChatGPT conversation

    Say what to post and when. ChatGPT finds the Threads connection, creates the post, and tells you whether it was scheduled or kept as a draft, with the reason.

Hosted, as a custom connector
Settings -> Connectors -> Create

Name:       PlanPost
MCP URL:    https://mcp.planpo.st/mcp
Auth:       Custom header
Header:     Authorization
Value:      Bearer pk_live_xxx

Replace pk_live_xxx with your own key.

Which transport does ChatGPT use?

For ChatGPT there is one way in, the hosted endpoint as a custom connector. Nothing runs on your machine. The key travels in a header on every request and the endpoint keeps no session between them.

  • There is no local option here. ChatGPT connects to remote MCP servers only, so use the hosted endpoint.
  • Connector support has moved around between ChatGPT plans. If you cannot see the option, check OpenAI's current documentation rather than assuming the endpoint is at fault.

The full walkthrough is on the ChatGPT setup page.

What can ChatGPT do on Threads?

It can publish text posts and posts with one image or one video, with clickable links in the text. It cannot publish a chain of connected posts or a multi-image carousel.

Text post

500

Up to 500 characters. Links in the text are clickable, which is the thing Threads has over Instagram and TikTok.

One image

The first image attached to the post goes out with it.

One video

Same rule: the first attachment, when it is a video, is published with the text.

Not available

limits

Connected multi-post chains and carousels. The "thread" post type belongs to X, despite the name.

Attachments are optional on Threads. When a post should carry one, that is the one awkward part of this pairing. ChatGPT connects to the hosted endpoint only and cannot PUT a file from your machine to an upload URL. Two routes work: upload the file in the planpo.st dashboard and let ChatGPT pick it with list_media, or ask for an image with generate_image, which costs 1 AI credit.

Which settings does a Threads post take?

Threads is the simplest network here: the publisher reads no platformSettings. Three post fields decide everything.

FieldAllowed valuesIf you leave it outWorth knowing
platformContent.threadsText, 500 characters or fewerThe shared contentOver 500 here is rejected with a 400. Shared content over 500 saves the post as a draft with char_limit.
media, platformMedia.threadsOne image or one videoText postOnly the first attachment is sent. A second image is ignored, not turned into a carousel.
postType"post""post""thread" with a Threads connection returns 400: Thread can only publish to X (Twitter).
platformSettings.threads.*Not readDoes not applyAnything sent here is stored and ignored.

What do I type to post to Threads from ChatGPT?

Plain requests work. Each example lists the tool calls ChatGPT makes in response.

1. A week of short posts

You say

Use the copy we just worked out above. Pull five separate points out of it and schedule one Threads post per weekday next week, each under 500 characters.

Tool calls

suggest_schedule({ numberOfPosts: 5, platforms: ["threads"], startDate: "<Monday>", endDate: "<Friday>" })
bulk_create_posts({ defaults: { connectionIds: ["<threads id>"], campaign: "weekly-notes" }, posts: [ { content: "...", scheduledFor: "..." }, ... ] })

Five scheduled posts from one call. Rows are independent, so one over-long post is saved as a draft and the other four are still scheduled.

2. Post with a link and a picture

You say

Find the latest image in my planpo.st media library. Schedule it on Threads tomorrow 12:00 with two sentences about the update and the link to the changelog.

Tool calls

list_media({ type: "image" })
create_post({ content: "<two sentences> https://...", media: [<image>], connectionIds: ["<threads id>"], schedule: "tomorrow 12:00" })

One post with the image and a link people can tap. Attach a single image; a second one would not be published.

3. From a blog post you already published

You say

Take the newest article from my blog feed and write three Threads drafts from it, different angle each.

Tool calls

list_content_sources()
fetch_source_content({ id: "<source id>" })
list_imported_content({ id: "<source id>" })
repurpose_content({ posts: [ { content: "...", connectionIds: ["<threads id>"] }, ... ] })

Three drafts in the dashboard. Nothing is scheduled until you or the agent pick the ones worth keeping.

What stops a Threads post from ChatGPT?

The tag on a card is the code that comes back in the tool result.

500 characters

char_limit

Text that fits LinkedIn will not fit here. Give Threads its own cut in platformContent.threads when one post goes to both.

One attachment

The publisher sends the first image or video and nothing after it. A post with four images arrives with one.

No chains

There is no multi-post format for Threads in planpo.st. A long idea goes out as several separate posts, scheduled a few minutes apart if you want them near each other.

No settings to tune

No reply controls, no topic tags. If a prompt asks for them, the values are stored on the post and have no effect.

Links work

A URL in the text is clickable. This is the cheapest place in the lineup to put a tracked link.

If Connectors is missing, it is the plan

ChatGPT

Custom connector availability has moved between ChatGPT plans and settings. When the option is not there, check OpenAI's current documentation before assuming the endpoint is broken.

Can ChatGPT tell me what a Threads post earned?

Yes. A link in a Threads post is clickable, so a tracked link gives a click that a later payment can be matched to, and the amount sits next to the post. get_revenue_overview returns totals and recent transactions over the same connection that published it.

Stripe integration How revenue attribution works

ChatGPT and Threads: questions people ask

Can ChatGPT upload an image from my machine for Threads?
Not directly. ChatGPT connects to the hosted endpoint only and cannot PUT a file from your machine to an upload URL. Upload the file in the dashboard and ChatGPT finds it with list_media, or have it render one: render_carousel makes branded images from text.
Can it post a thread on Threads?
No. The thread post type publishes a reply chain on X only. On Threads each post stands alone, up to 500 characters.
How many images can a Threads post have?
One. The first attachment is published and any others are left out.
What happens when ChatGPT sends a Threads post that breaks a rule?
It is told at once. The usual case on Threads is text over 500 characters: the post is kept as a draft and the tool result carries char_limit plus the fix, which ChatGPT applies with update_post.
Is there a local option for ChatGPT?
No. ChatGPT talks to remote MCP servers, so it uses https://mcp.planpo.st/mcp with your API key in a header. The endpoint is stateless and every request carries the key. Posting to Threads works the same as from any other client.
Can I limit what ChatGPT is allowed to do?
Yes, with the API key. Keys are scoped, so a key without posts:write can read your Threads schedule and not change it, and a key set to require approval turns every post into a request you approve.

Keep going

Threads from other agents

Claude Code to ThreadsCursor to ThreadsClaude Desktop to ThreadsGemini CLI to ThreadsCodex CLI to ThreadsGoogle Antigravity to ThreadsHermes Agent to Threads

Other networks from ChatGPT

ChatGPT to LinkedInChatGPT to InstagramChatGPT to XChatGPT to FacebookChatGPT to YouTubeChatGPT to TikTok

Background

ChatGPT overviewChatGPT setupThreads scheduling guideMCP tool reference