TL;DR, Quick Answer
8 min readFacebook is the one network in AdaptlyPost addressed by Page: facebookConfigs requires pageId, which list_accounts returns. A dot reaches AdaptlyPost as a custom MCP plugin added in ChatGPT developer mode, and OpenAI has not documented whether a dot uses developer-mode plugins, so prove it with a read call first. OpenAI says Pro gets read/fetch only on custom MCP, which means listing Pages but not posting to them. Set Custom Rules to ask before acting and have the dot save drafts.
Getting an OpenAI dots plugin for Facebook posting to work comes down to one field and one plan question. The field is pageId, because Facebook is the only network in the AdaptlyPost API addressed by the Page rather than by a connection ID. The plan question is whether your ChatGPT plan lets a dot write through a custom plugin at all, and on Pro the answer from OpenAI's own help centre is no.
The short version: add https://mcp.adaptlypost.com/mcp as a custom plugin in ChatGPT developer mode, sign in with OAuth, and ask your dot to list your Facebook Pages before anything else. If it can read them, have it save Page posts as drafts with saveAsDraft: true and set Custom Rules so it asks before it publishes.
Can an OpenAI dot post to a Facebook Page?
An OpenAI dot posts to a Facebook Page only through a plugin it can call, and as of 29 September 2026 OpenAI has not documented whether a dot uses a custom plugin you added in developer mode. The dots docs say a dot "can use supported plugins installed and enabled for your account", and "supported" is not defined anywhere OpenAI has published. Settle it with a read call before you build a routine on it.
AdaptlyPost is not in the ChatGPT plugin directory as of 29 September 2026, so the route in is a custom MCP server added in developer mode. The OpenAI dots plugin guide for social media posting walks through that setup and the sign-in. This post covers what changes once the target is a Facebook Page.
Does ChatGPT Pro let a dot publish to Facebook?
ChatGPT Pro does not let a custom MCP plugin write, according to OpenAI's August 2026 help article on MCP in ChatGPT, which says "Full MCP is only available to Business and Enterprise/Edu" and that Pro users connect MCPs "with read/fetch permissions in developer mode." Creating a Facebook post is a write. On Pro, a dot that reaches AdaptlyPost at all can list your Pages and read post results, and it has no documented way to call create_post.
The article predates dots by a month, so test it on your own account. It still decides which plan you need.
| ChatGPT plan | Dots access as of 29 September 2026 | Custom MCP per OpenAI's August article | What the dot does on Facebook |
|---|---|---|---|
| Pro 100, Pro 200, Pro 500 | Yes, outside the EEA, the UK and Switzerland | Read/fetch only | Lists Pages, reads results and statuses |
| Business Premium | Yes, in all supported ChatGPT regions | Full MCP | Drafts, schedules and publishes Page posts |
| Enterprise, Edu, Healthcare | Beta, off until a workspace admin enables it | Full MCP for Enterprise and Edu | Same as Business Premium once enabled |
Why does Facebook need pageId instead of a connection ID?
Facebook needs pageId because AdaptlyPost treats each connected Facebook account as one Page, and facebookConfigs requires the Page's own id where every other config takes connectionId. The AdaptlyPost list_accounts tool returns pageId for Facebook pages. X uses twitterConnectionIds, LinkedIn uses linkedinConnectionIds, and Facebook has no connection-id array at all: it takes pageIds.
pageIds accepts either the account id or the pageId, and each facebookConfigs[].pageId must match an entry in pageIds, so tell the dot to put the same pageId in both. A draft Page post looks like this:
{
"platforms": ["FACEBOOK"],
"contentType": "IMAGE",
"text": "Autumn menu starts Monday. Pumpkin soup is back.",
"mediaUrls": ["https://...publicUrl from upload_media"],
"pageIds": ["1015..."],
"facebookConfigs": [{ "pageId": "1015...", "postType": "FEED" }],
"scheduledAt": "2026-10-05T09:00:00+03:00",
"timezone": "Europe/Kyiv",
"saveAsDraft": true
}scheduledAt carries its own offset because the timezone field is stored for display and does not shift scheduledAt.
- Publishes on the other networks
- Fails on Facebook alone
- Shows up only in list_post_results
- Same pageId in pageIds and facebookConfigs
- Draft is checked when publish_draft runs
- Every platform row reads back in list_post_results
What do I tell my dot about Facebook?
You tell your dot to read before it writes, and to keep every Facebook post as a draft until you approve it. The prompt below is the Facebook-specific part. Send it after the plugin is added and signed in.
Use the AdaptlyPost plugin for everything on Facebook.
First, call list_accounts and show me every Facebook Page with its
displayName, pageId and status. Do not create, schedule or publish
anything in this conversation.
For every Facebook post after that:
- put the Page's pageId in both pageIds and facebookConfigs[].pageId
- write scheduledAt with the UTC offset included
- create it with saveAsDraft: true and show me the draft
- only call publish_draft after I reply "approve" to that draft
- after publishing, call list_post_results and report each platform rowThe last line matters. The create_post response confirms queueing, not publishing, because each platform publishes asynchronously, so a dot that says "posted" after create_post means "queued".

Where does the approval gate sit for Facebook posts?
The approval gate for Facebook posts sits in two places: the dot's Custom Rules on the ChatGPT side, and draft status on the AdaptlyPost side. Custom Rules offer four settings: take action without asking, take action when you say so or if pre-approved, ask before taking action, and hand off to you. Pick "ask before taking action" for anything that touches a live Page.
OpenAI's own launch example is a dot that "drafts social posts for your approval", and its docs say "asking your dot to draft replies doesn't give it permission to send them." OpenAI has not documented whether a Page post through a custom plugin counts as sending, as of 29 September 2026, so the draft step belongs in AdaptlyPost too.
list_accounts returns each Page with its pageId and status. This call works on any plan that reaches the plugin.create_post with saveAsDraft: true. Nothing reaches Facebook.publish_draft.list_post_results names the Page and the outcome per platform.publish_draft runs, so a wrong pageId surfaces at approval time, not at drafting time.Teams get a third gate. The AdaptlyPost MCP server acts under the signed-in member's workspace role, and a Contributor "creates and edits own drafts; cannot schedule or publish." Sign the plugin in with a Contributor account and an Editor or Admin has to publish every Page post.
AdaptlyPost
Start 7-Day FREE Trial
All-platform analytics
Social Inbox
AI-powered assistant
Where does the AdaptlyPost credential go?
The AdaptlyPost credential goes through the plugin's OAuth sign-in, never into a message to your dot. OpenAI's safety post says a secret placed in a readable message or document is still visible to the model, and the dots safety FAQ says password protections do not cover passwords shared in a chat, a document or through a plugin. An adaptly_ token pasted into a dot conversation sits in exactly that uncovered spot.
The AdaptlyPost MCP server answers an unauthenticated request with a 401 and a WWW-Authenticate header, so ChatGPT opens the AdaptlyPost sign-in page itself. Removing the plugin or signing out cuts the dot off.

Can a dot watch my Facebook Pages on a schedule?
A dot watches Facebook Pages on a schedule through a recurring task, which OpenAI describes as a saved schedule the dot wakes up for. OpenAI also documents event triggers "when a connected service supports event monitoring" and announced MCP events for plugin automations at DevDay, but it has not said a custom plugin can deliver events to a dot as of 29 September 2026. AdaptlyPost's account.unauthorized event is a signed webhook sent to an HTTPS URL you register, not an MCP event, so a dot does not receive it.
A morning read covers the same ground. AdaptlyPost re-checks connected Facebook Pages with Facebook twice a day and marks a Page unauthorized when Facebook rejects its token, with unauthorizedReason carrying Facebook's own message. Ask your dot for a recurring task: every weekday at 8:00, call list_accounts and report any Facebook Page whose status is not active. That task only reads, so it stays inside the Pro read/fetch limit.
What breaks on Facebook specifically?
The pageId mix-up breaks first, and it breaks quietly. A post sent to five networks with a connection id where Facebook wanted a Page id publishes everywhere else and fails on Facebook alone, and list_post_results is where that shows, because each platform reports separately. Fix the id, then call retry_failed_platforms with platformIds: ["FACEBOOK"] so the networks that already published do not post twice. The retry resends the same content, so fix the cause before you retry.
Three more failures are Facebook's own. REEL needs contentType: VIDEO, STORY needs an image or a video, and other combinations return a 400. A Page marked unauthorized refuses posts with a 400 until someone reconnects it in AdaptlyPost. And mediaUrls must come from upload_media; a link the dot found on the web fails with "Media file(s) not found in storage". Facebook scheduled posts not working covers the platform-side causes.
One failure belongs to the dot. A dot creates its own memories, and you cannot view or edit them short of deleting the dot. If it learns a wrong pageId, tell it to read list_accounts fresh before every Facebook post instead of recalling ids.
Frequently Asked Questions
Is AdaptlyPost in the ChatGPT plugin directory?
AdaptlyPost is not listed in the ChatGPT plugin directory as of 29 September 2026. Your dot reaches it as a custom MCP server added in developer mode at chatgpt.com/plugins, using https://mcp.adaptlypost.com/mcp. The pillar guide has the setup.
Can a dot on ChatGPT Pro schedule Facebook posts?
OpenAI's August 2026 help article limits Pro to read/fetch permissions on custom MCP servers, and scheduling a Page post is a write. A dot on Pro lists your Pages and reads results, and the same article gives full MCP to Business and Enterprise. Run one draft request on your own account to confirm, since the article predates dots.
Why did my post publish everywhere except Facebook?
The Facebook entry carried an id that does not match a Page. Ask the dot to read list_accounts, put the Page's pageId in both pageIds and facebookConfigs, then call retry_failed_platforms with FACEBOOK so the other networks do not post again.
Can my dot post Reels and Stories to a Facebook Page?
AdaptlyPost publishes Feed posts, Reels and Stories through facebookConfigs[].postType. A Reel needs contentType: VIDEO, and a Story needs an image or a video. Video posts also take a videoTitle of up to 255 characters.
Can I approve a dot's Facebook drafts from my phone?
OpenAI lets you message your dot in ChatGPT on desktop, web and mobile, and in Slack, as of 29 September 2026. Creating the dot needs a desktop app or desktop browser, and a dot cannot call you at launch, so approvals arrive as messages.
Can I use a dot for Facebook posting from the EU or the UK?
Pro users in the EEA, the UK and Switzerland cannot use dots as of 29 September 2026. Business Premium includes dots in all supported ChatGPT regions, and it is also the plan with full MCP.
What is pageId in the AdaptlyPost API?
The pageId is the Facebook Page's own id, and facebookConfigs requires it. The AdaptlyPost list_accounts tool returns it for each Facebook Page. Put the same value in pageIds and in facebookConfigs[].pageId.
AdaptlyPost
Start 7-Day FREE Trial
All-platform analytics
Social Inbox
AI-powered assistant
Can a dot publish a Facebook post without my approval?
Only if you let it. Set Custom Rules to "ask before taking action" and have the dot create posts with saveAsDraft: true. It then comes back to you before it calls publish_draft.
Should I paste my AdaptlyPost token into a dot conversation?
No. OpenAI's safety FAQ says password protections do not cover passwords shared in a chat, a document or through a plugin. Sign in through the plugin's OAuth flow instead, and remove the plugin or sign out to cut the dot off.
How do I check that my Facebook Pages are still connected?
Ask your dot to call list_accounts and report any Facebook Page whose status is not active. AdaptlyPost marks a Page unauthorized when Facebook rejects its token. You can run this as a weekday recurring task, and it only reads.
For the same Page workflow on other agents, the Meta Muse connector for Facebook posting builds it from the OpenAPI spec and the Grok bot template for Facebook posting ships it preconfigured. Teams that call the REST API directly can start from posting to Facebook via API.
Read the agent setup docs, add the AdaptlyPost plugin in developer mode, and ask your dot to list your Pages. Every AdaptlyPost plan starts with a 7-day free trial.
Sources: OpenAI's dots launch post, dots safety post, getting started help article, safety FAQ, dots user docs, developer plugin docs, the August 2026 MCP in ChatGPT help article, the DevDay 2026 recap, the AdaptlyPost agent docs and the AdaptlyPost OpenAPI spec. Checked 29 September 2026.
Put this into practice with AdaptlyPost
Was This Article Helpful?
Let us know what you think!
See us more often in Google
One click marks AdaptlyPost as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.
Before you go...
AdaptlyPost
Schedule your content across all platforms
Manage all your social media accounts in one place with AdaptlyPost.
All-platform analytics
Social Inbox
AI-powered assistant
Related Articles


Turn Clips Into Reels With an OpenAI dots Plugin for Instagram Posting
An OpenAI dots plugin for Instagram posting has to set postType to FEED, REEL or STORY. Media upload, trial Reels, carousels and the plan that publishes.


Weekly Drafts, Your Sign-Off: An OpenAI dots Plugin for LinkedIn Posting
Set up an OpenAI dots plugin for LinkedIn posting that drafts from your week and waits for sign-off. Document posts, the Pro limit and what breaks.


How to Set Up an OpenAI dots Plugin for Social Media Posting
Setting up an OpenAI dots plugin for social media posting takes a custom MCP URL, an OAuth sign-in and a read-only test. What ChatGPT Pro blocks.

