Schedule Facebook Page posts with an AI agent
How Chirpie lets an AI agent publish and schedule Facebook Page posts and stories, attach link previews, answer comments and read results.
Updated October 2026
How do you schedule Facebook Page posts with an AI agent?
Connect your Facebook Pages to Chirpie, then your agent schedules with one call: POST /api/v1/posts with a schedule_at time from code, or the chirpie_post tool from Claude, ChatGPT or any MCP client. Chirpie publishes to the Page feed or as a Page story, attaches link previews, posts a first comment and reports views and engagement.
What Chirpie does on Facebook Pages
- Feed posts of up to 63,206 characters, as text alone, with up to 10 images, or with a
linkthat Facebook renders as a preview. - Page stories:
placement: "story"publishes one image or video for 24 hours. - Scheduling and drafts:
schedule_atqueues a post on any placement, anddraft: truesaves it without sending. See Scheduling. - Threads become standalone posts: Facebook has no reply chain, so each part of a thread publishes as its own Page post, all or nothing.
- First comment:
first_commentpublishes one comment under a feed post the moment it goes out. - Comments: list the comments a post received, reply to one, hide one, or delete any comment on the post. See Comments.
- Analytics: views, reactions, shares, comments and clicks per post. See Analytics.
- Several Pages at once: one connection imports every Page you share, and one request can publish to several Pages, or to a Page beside X, LinkedIn or Instagram. See Post to several accounts at once.
- Delete:
DELETE /api/v1/posts/:idremoves a Page feed post. A Page story cannot be deleted through the API; see below.
Connect
Facebook Pages connect with Facebook's own sign-in. Chirpie starts the flow and returns a link; the person approves Chirpie and chooses which Pages to share, and Chirpie connects each one as its own account, with a Page token that does not expire. Pages beyond your plan's account limit are kept switched off rather than dropped, ready to activate.
The flow runs from every Chirpie surface: POST /api/v1/accounts with { "platform": "facebook" }, chirpie.connectFacebookAccount() in the SDK, chirpie accounts connect-facebook in the CLI, the chirpie_connect_facebook tool over MCP, and the Facebook card on the dashboard's Accounts page. Pass "reconnect": true when the person has authorized before, so Facebook asks again about Pages they left out.
Post from code
Schedule the same announcement to two Pages, with a link preview and a first comment, using the TypeScript SDK:
import { ChirpieClient } from "@chirpie/sdk";
const chirpie = new ChirpieClient({ apiKey: process.env.CHIRPIE_API_KEY });
await chirpie.createPost({
account_ids: ["PAGE_ONE_ACCOUNT_ID", "PAGE_TWO_ACCOUNT_ID"],
text: "Our autumn hours start Monday: open until 8pm.",
first_comment: "Questions? Reply here and we will answer.",
schedule_at: "2026-10-12T09:00:00-04:00",
configuration: {
facebook: { placement: "feed", link: "https://example.com/hours" },
},
});How do you publish a Facebook Page story through the API?
Send a configuration block with POST /api/v1/posts naming the placement.
configuration.facebook.placement takes feed (the default) or story, and
a story is a different product on the Page: one picture or one video, no text,
and it disappears after 24 hours.
curl -X POST https://chirpie.ai/api/v1/posts \
-H "Authorization: Bearer chirpie_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "550e8400-e29b-41d4-a716-446655440000",
"text": "",
"media_urls": ["https://example.com/story.jpg"],
"configuration": { "facebook": { "placement": "story" } }
}'Leave configuration out and the post publishes to the Page feed, exactly as
it always did.
What does each placement publish?
| Placement | What it publishes | Text | Media | First comment |
|---|---|---|---|---|
feed (default) | A post on the Page, with an optional link preview | Up to 63,206 characters | None, or 1 to 10 images | Yes |
story | A Page story, visible for 24 hours | None. Send empty text | Exactly one image or video | No |
A Page story is a single post, so a thread asking for that placement is
refused. Send it with POST /api/v1/posts instead.
Which options does each placement carry?
| Option | Type | Placements | What it does |
|---|---|---|---|
placement | "feed" | "story" | both | Where the post goes. feed when you do not say |
link | string (URL) | feed | A URL to attach to the post, which Facebook renders as a link preview |
A story takes nothing beyond placement. Sending link with one is refused by
name rather than dropped.
What are the media rules per placement?
| Placement | Images | Max image size | Max images | Video | Max video size |
|---|---|---|---|---|---|
feed | JPEG, PNG, GIF | 10 MB | 10 | Not supported | n/a |
story | JPEG, PNG, GIF | 10 MB | 1 | MP4, MOV | 100 MB |
A feed post may carry no media at all, with or without a link. A story always
needs exactly one image or video: a story sent with no media at all is refused
with 400 bad_request, and a story sent with text is refused with
400 configuration_unsupported. A story carries no alt text, so a description
sent with one is kept in Chirpie and not published.
What can Chirpie not check before publishing?
Chirpie stores a file's type and its size and never decodes it, so the
following are Facebook's own checks. A file that breaks one of them is refused
by Facebook when the post goes out, and Chirpie passes the reason straight back
as 502 upstream_error.
- A Page story video runs up to 60 seconds.
- Facebook shows a Page story at 9:16, at least 540 by 960.
- A photo or video used in a story cannot be one already published in a post.
What is refused, and what does the error say?
Nothing in a configuration block is quietly dropped. An option the platform
or the placement does not carry is refused with 400 configuration_unsupported
naming the field, before anything publishes.
| You sent | What comes back |
|---|---|
link with a story | configuration_unsupported: "Facebook stories do not take link. Remove configuration.facebook.link, or change the placement." |
| Text with a story | configuration_unsupported: a Page story carries no text. Send the post with empty text |
first_comment with a story | configuration_unsupported: a Page story takes no first comment |
A story on POST /api/v1/threads | configuration_unsupported: a story is a single post |
An Instagram option in the facebook block, or a facebook block on a request addressing no Page | configuration_unsupported |
Can a Page story be deleted?
No. Facebook publishes a delete for a Page feed post but none for a Page story,
so DELETE /api/v1/posts/:id on a published story answers
501 delete_unsupported and nothing changes. The story disappears on its own
24 hours after it was posted, or you can delete it from the Page. A Page feed
post is deleted through the API as normal.
If you only want the story out of your Chirpie listings, hide it, which is reversible and reaches no platform.
Schedule Page posts from Claude or ChatGPT
Chirpie is listed in the Claude Connectors Directory, so in Claude you add it from the listing and sign in, with no URL to paste. In ChatGPT developer mode, Cursor or any MCP client, add https://chirpie.ai/mcp and sign in. Then ask:
- "Schedule a post on both of our Facebook Pages for Monday at 9am announcing the new hours, with a link to the hours page."
- "Post this photo as a story on the cafe Page now."
- "Plan next week: one Page post a day at noon, from these five notes, and save them as drafts for me to check."
Setup guides: Use Chirpie with Claude and Use Chirpie with ChatGPT. Instagram options live on Instagram API for AI agents.
Frequently asked questions
Can an AI agent schedule posts to several Facebook Pages at once?
Yes. One request names every Page in account_ids, each can carry its own text and media, and schedule_at queues them all. A top-level configuration applies to every Page, and an entry in account_configurations replaces it for one Page.
How do I turn a queued Page post into a story?
Send the new configuration block on PATCH /api/v1/posts/:id while the post is still a draft or still scheduled, and clear the text. The media is checked again against the new placement, so the post needs exactly one image or video. An empty configuration puts it back to a plain feed post.
Does a link preview replace the media?
They are separate. The link option attaches a preview of that URL to a feed post; media attaches the pictures. A post carrying both publishes with both, as Facebook renders them.
Can my agent answer comments on a Page post?
Yes. Chirpie lists the comments under a post it published, and your agent can reply to one, hide one, or delete any comment on the post. A first comment can also go out under a feed post the moment it publishes.
Does connecting Facebook connect my Instagram account too?
No, they are separate connections, but Instagram offers a route that signs in with Facebook and connects the Instagram professional accounts linked to the Pages you share.
Instagram API for AI agents
How Chirpie lets an AI agent publish Instagram feed posts, carousels, stories and reels, schedule them, answer comments and read views.
Pinterest API for AI agents
How Chirpie lets an AI agent publish Pinterest pins from one API call or an MCP tool, with an image, a title and scheduling.