Overview

Connect Facebook Pages, capabilities, and known limits.

Schedule and automate Facebook Page posts with text, photos, multi-photo albums, videos, and Stories, plus comment moderation, Page likes, and normalized analytics.

Two things to know up front:

  • Personal profiles cannot publish. You need a Facebook Page where you have a role
  • One Page = one connection. Connect again to add another Page
PageTopics
PostsPublish text, photo, multi-photo, carousel, video, Reels, drafts. Schedule, remote delete
EngagementLike / unlike; list, create, delete, hide comments; private replies
InboxMessenger: list, read, send, webhooks
AnalyticsMetrics for published posts

Quick Reference

PropertyValue
Character limit63,206 (truncated at ~480 with "See more")
Images per post10
Videos per post1
Image max size4 MB in practice
Video formatsMP4, MOV
Video max size4 GB (feed), 100 MB (story)
Video max duration240 min (feed), 120 sec (story)
Post typesText, Image, Multi-photo, Carousel, Video, Reel, Story, Draft
SchedulingYes, with IANA timezone
Editing published postsNo
Inbox (Comments)Yes
Inbox (DMs)Yes (Messenger)
AnalyticsYes

Before You Start

The Facebook API only posts to Pages, not personal profiles. You must have a Facebook Page and admin access to it.

Additional requirements:

  • Facebook often rejects photos larger than 4 MB even though the stated limit is higher. Keep images under 4 MB in JPEG or PNG
  • Multi-photo posts accept images only. Video URLs return INVALID_MEDIA
  • Stories are ephemeral. No captions, no comments, and sparse analytics that disappear when the story expires
  • Facebook tokens expire frequently. Reconnect when you see TOKEN_INVALID
  • A video may keep processing on Facebook after the destination flips to published

Connect

Open Dashboard → Connections and connect Facebook.
Complete the consent screen. Onepostly requests all scopes below in a single OAuth flow.
Pick the Page on the picker, or build your own with the headless flow (see Connection → Facebook page selection).
Grab the account id from the connections list:
const { connections: list } = await connections.listConnections();
const fb = list.find((c) => c.platform === "facebook");
// fb.id is your accountId

If you later get a permission error on an action that should work, reconnect Facebook once.

OAuth Scopes

ScopeWhat it enables
pages_show_listList the Pages you manage for the picker
pages_manage_postsPublish and delete Page posts, Reels, and drafts
pages_read_engagementRead engagement data
pages_read_user_contentRead Page content for analytics
pages_manage_engagementComment, hide, and like as the Page
read_insightsRead post-level metrics
pages_messagingMessenger conversations in the inbox + private replies
pages_manage_metadataPage webhook subscriptions and settings
business_managementDiscover Pages owned through a Business Manager

Token Lifetime

TokenLifetimeBehavior
Page access token~60 daysRefreshed automatically by Onepostly
Refresh tokenNoNot used. After expiry, revocation, or password change, reconnect the account

Capabilities

ActionSupportedNotes
Text-only postYesUnlike Instagram, text alone works. Large-text backgrounds via textFormatPresetId
Image postYesSingle photo + optional caption
Multi-photoYes2 to 10 images only. No video mixing
Multi-link carouselYescarouselCards (one link card per image) + optional carouselLink
Video postYesSingle video URL
ReelYesmediaKind: "reel", single vertical video + optional reelTitle
DraftYesdraft: true creates an unpublished draft in Publishing Tools (not stories)
Geo-restrictionYesgeoRestriction country allowlist on text, image, and multi-image posts
Per-post PageYespageId posts to another Page managed by the same organization
StoriesYesPhoto or video Page story. Video max 100 MB
ScheduleYesCancel any time before it publishes
Remote deleteYesRemoves the post from the Page
CommentsYesList, create, delete, hide as the Page
Comment like / unlikeYesAs the Page, idempotent
Private reply (comment → DM)YesOne per comment, 7-day window
Messenger DMsYesList, read, send text + attachments; message tags
Like / unlike (posts)YesAs the Page, idempotent
AnalyticsYesNormalized metrics
Thread / quote / bookmarkNoNot Facebook features

What You Can't Do

These features are not available through Onepostly's Facebook integration:

  • Post to personal profiles (Pages only)
  • Go Live
  • Interactive story stickers
  • Community posts or Events

See Also