← All articles
OpenAI Dots7 min read

Schedule Social Posts With OpenAI Dots and the MCP Ads Content Calendar

Have OpenAI Dots put Facebook, Instagram, Threads, LinkedIn, TikTok and WordPress posts on a calendar that publishes on time, then report what failed.

A dot can write a week of posts in one conversation, but a post that has to go out at 9:00 on Tuesday should not depend on an agent being awake at 9:00 on Tuesday. Connected to MCP Ads, your dot places each post on the MCP Ads content calendar, which publishes it on its own at the time you gave. Your dot's job becomes the parts an agent is good at: drafting, scheduling in bulk, and checking back later to tell you what went out and what did not.
WalkthroughSee it on a real account

One minute of Claude reading a live Google Ads account through MCP Ads, asking before it changes anything.

Six channels: Facebook, Instagram, Threads, LinkedIn, TikTok and WordPress
Posts publish from the calendar, whether or not your dot is running
What each channel needs before a post is accepted
Weekly check-ins that list what published, what failed and what is next

Why the calendar publishes, not the agent

Your dot runs on its own OpenAI-hosted cloud computer and browser and can work on a schedule, which makes it tempting to ask it to "post this at 9 every morning". The more reliable split is to let your dot decide and write, and let a calendar do the publishing. When your dot calls content_schedule_posts, each time you give becomes its own scheduled post in MCP Ads, and the calendar publishes it when the time comes. Nothing about that depends on your dot being mid-task at 9:00.

That split also gives you one place to see everything. Posts your dot schedules show up on the same Content calendar in the MCP Ads dashboard as posts you schedule by hand, so you can reschedule or cancel one without asking your dot at all.

Connect it in a few minutes

Dots use the same apps and connectors as ChatGPT, so MCP Ads is added once in ChatGPT and your dot can then use it. The MCP Ads plugin is in review for the ChatGPT plugin directory; until it is listed, you add it as a custom connector in Developer mode. There is no API key to copy: you sign in through the browser.

Before you send it, connect the channels you post to under Connections in the MCP Ads dashboard: Facebook and Instagram Pages, Instagram on its own login, TikTok for organic posting, LinkedIn, Threads, or a WordPress site with an application password. Your dot can only schedule to channels that are connected there.

In a Business workspace, custom connectors may need an admin to turn on Developer mode first. The Dots setup page and the Dots docs have the same steps.

Dots follow ChatGPT's permissions, and you can add rules for which tasks need your approval. Research a dot does on its own is read-only; tasks you give it or schedule can act, under their own rules and approvals, on top of the approval controls in MCP Ads.

The steps:

  • In ChatGPT, open Settings → Plugins → Browse plugins, and turn on Developer mode if custom connectors are not offered yet.
  • Add a custom connector named MCP Ads with the URL https://mcp-ads.com/mcp-slim.
  • Sign in through the browser window that opens, with the login that owns your MCP Ads account.
  • Let your dot use the MCP Ads app, then ask it: "Once you are in, list the social channels I can schedule to and what is already on my content calendar for the next 14 days."

What each channel needs

Times are local times written as YYYY-MM-DD HH:MM, one per post. "Every weekday at 9 next week" becomes five entries, and your dot fills them in for you. The timezone is your workspace timezone unless you name another one, such as Europe/London. Times already in the past are refused and nothing from that request is scheduled, which stops a half-scheduled week. One request can hold up to 60 posts.

Before anything is saved, each post is checked against the same channel rules the calendar composer uses. That matters in practice: an Instagram post without an image fails when you schedule it, while you are still in the conversation, instead of failing silently at its publishing minute.

ChannelWhat the post needsWorth knowing
FacebookText, a media URL, or bothWith several Pages connected, your dot is asked which Page to use
InstagramAn image (public URL) and a captionUses the Instagram connected by its own login unless you name a Page-linked account
ThreadsText, optionally mediaConnected as its own channel
LinkedInText, optionally mediaPosts as the LinkedIn account connected in MCP Ads
TikTokA video (public URL) and a captionAn image alone is not enough
WordPressA title and the post textScheduled as a blog post rather than a social post

Prompts that work

Say what, where and when, and ask your dot to show you the drafts before it schedules. The scheduled check-ins at the end of this list are where an agent earns its keep: they run without you and only need your attention when something failed or a gap opens up.

  • Write five LinkedIn posts from this blog article and show them to me. After I approve, schedule them Monday to Friday next week at 08:30.
  • Schedule this caption and image on Instagram and Facebook for Thursday at 18:00 London time.
  • Take this video link and schedule it on TikTok for Saturday at 11:00 with a short caption in the same tone as my last three posts.
  • What is on my content calendar for the next 14 days? Show it by channel and flag any day with nothing scheduled.
  • Cancel the Threads posts scheduled for Wednesday and Thursday; I will rewrite them.
  • Every Friday at 4 pm, list next week's scheduled posts by channel and tell me about any day with no post.
  • Every Monday at 9, list posts that failed to publish in the last 7 days with the error for each.

Checking back: published, failed and cancelled

content_list_scheduled looks ahead for scheduled posts and back for published ones, 14 days by default and up to 90. It returns each post's channel, status and local time, the link to the published post where there is one, and any post that failed along with its error. That is the raw material for a useful Monday note: what went out, where it lives, and what needs a second attempt.

Cancelling through content_cancel_scheduled does not delete anything. The post goes back to an unscheduled draft, so the text is kept and you can put it back on the calendar later. A post that has already published or failed is skipped and reported as such. To move a post rather than cancel it, reschedule it on the Content calendar in the dashboard.

What it will not do without you

A post you ask your dot to schedule, in your own words, is recorded with you as its approver, exactly as if you had scheduled it in the calendar yourself. That is the reason to ask for drafts first: once you say "schedule it", it will publish at that time unless you cancel it. Your dot also sees only the channels connected in MCP Ads, under the same workspace scope as the web app.

For paid work the rules are stricter. Budgets, statuses and new campaigns go through the approval and workspace controls in MCP Ads: your dot can prepare a change, and it goes live when you approve it.

Honest limits

Media is passed as a public image or video URL; if your asset is on your laptop, put it somewhere with a public link first. Posts publish as the connected account, and a post the platform refuses at its publishing time shows up as failed, with the error, which is exactly what the Monday check above is for. Every tool call your dot makes counts toward your MCP Ads plan, so a daily check you never read is waste.

MCP Ads is free for 30 tool calls a month, then $49/month flat for unlimited; your first dot is included in ChatGPT Pro and Business Premium at no extra cost. See pricing, or the quickstart for other AI clients.

FAQ

Which social channels can OpenAI Dots schedule to through MCP Ads?

Facebook, Instagram, Threads, LinkedIn, TikTok and WordPress, as long as each one is connected under Connections in the MCP Ads dashboard.

Does your dot need to be running when the post goes out?

No. Your dot places the post on the MCP Ads content calendar, and the calendar publishes it at the scheduled time on its own.

Can I schedule an Instagram post without an image?

No. Instagram posts need an image and TikTok posts need a video, given as a public URL. A post missing either is refused when you schedule it.

How do I move or cancel a post your dot scheduled?

Ask your dot to cancel it, which turns it back into a draft, or open the Content calendar in the MCP Ads dashboard and reschedule or cancel it there.

Which timezone are the times in?

Your workspace timezone, unless you name another one in the request, for example "Thursday at 18:00 London time".

Ready to connect your marketing stack?

Connect Google Ads, Meta Ads, GA4, and Search Console. Ask Claude anything about your accounts.