Skip to main content
Facebook Pages is restricted to approved beta workspaces. Meta approval for general customer access is pending. Personal profiles and Groups are unsupported.

Connect a Page

Open Brands → Connected Accounts → Facebook Page in the app. Complete official Facebook consent, then select the intended eligible Pages. Request beta access if the app shows Request access. Tokens remain on the server; never paste a Page access token into an API request or MCP client. The CLI can open the same connection flow:
The SDK returns the browser handoff through client.brands.facebookConnection('my-brand'). Page consent and explicit selection happen in the app.

Create a draft

Use facebook as the platform and always pass explicit connected Page IDs, including when a brand has only one Page.
POST this body to https://app.autoposting.ai/api-proxy/posts with your Autoposting API key. Omitting scheduledAt saves a draft; creation does not publish immediately.
Replace the example timestamp with your intended future time. ap posts publish <post-id> publishes immediately.

Formats and overrides

Media uses { "url": "https://...", "type": "image" } or "video". Provider media constraints also apply. Upload local files through the CLI or app; use the released upload-media MCP tool according to its input schema. platformTexts.facebook overrides the shared caption; "" is intentional. platformMedia.facebook overrides shared attachments; [] excludes them. Omit either property to use shared content. Edit through PUT /posts/:id, ap posts update <id> --from <file.json>, the SDK posts.update, or MCP update-post.

Outcomes and recovery

Read each Page outcome in platformResults.facebook.accounts. A Page can be published, failed, pending or unknown. Remote post IDs and URLs are returned when available; a missing URL is not proof that publishing failed. Only Pages listed in the server’s facebookRecoveryPageIds are eligible for explicit recovery. Never republish a successful Page or blindly retry an Unknown result.
  • API: POST /posts/:id/retry?platform=facebook or PUT /posts/:id/schedule with { "scheduledAt": "future-ISO-time", "platform": "facebook" }.
  • CLI: ap posts retry <id> --platforms facebook, or ap posts schedule <id> --at <future-ISO-time> --platform facebook.
  • SDK: client.posts.retry(id, 'facebook') or client.posts.schedule(id, futureTime, 'facebook').
  • MCP: retry-post or schedule-post, with id and platform: "facebook".
Cancel scheduling through the API { "cancel": true }, CLI --cancel, or SDK posts.unschedule(id). CLI MCP v0.5.4 has no cancellation tool.

Autoposting MCP and Meta MCP

Autoposting MCP manages your Autoposting workspace. Meta’s developer MCP manages Meta developer apps; it does not replace Facebook Page consent or enable personal-profile or Group posting. Connecting your own Meta MCP account inside Autoposting is not currently available.