Skip to main content

Facebook Pages

Publish and schedule posts on a Facebook Page, moderate its comments, and read post and page insights.

Connect a Facebook Page through Meta's Graph API to run it end to end: publish text, link and photo posts now or on a schedule, list what is published and what is still queued, edit and delete posts, read and reply to comments as the Page, hide or delete comments, and read reach and engagement for a post or for the Page over a window. Scheduling, moderation and measurement - inbound messages and Messenger are not part of this integration.

Connect

Credential fieldRequiredWhere it comes from
Page access token (ACCESS_TOKEN)YesA long-lived Page access token, obtained by exchanging a long-lived user token and reading /me/accounts. Not the Graph API Explorer's token - that one expires in about an hour.
SettingRequiredWhat it is
Page ID (PAGE_ID)YesThe numeric Page ID from the Page's About → Page transparency - digits only, not the @username or the page URL.

Tools

ToolAccessWhat it does
Get page (yekar.facebook-pages.get-page)ReadThe Page this connection is configured for: name, category, public URL, follower and like counts as Facebook counts them, verification status, and whether the Page is published at all. Call it first when something is not working - a token for the wrong Page fails every other tool with an unhelpful 'no such id'.
List posts (yekar.facebook-pages.list-posts)ReadA page of the Page's published posts, newest first - id, text, permalink, and when it went out. SCHEDULED posts are NOT here: Facebook keeps them on a separate edge until they publish, so use List scheduled posts to see those. Graph returns no total for a page, so this reports whether more pages remain rather than a count.
List scheduled posts (yekar.facebook-pages.list-scheduled-posts)ReadThe Page's posts that are scheduled but not yet published, with the time each will go live. This tool exists because a scheduled post is INVISIBLE to List posts - Facebook keeps the two on separate edges - so without it a scheduled post appears to have vanished. Each item's published flag is false and scheduledFor holds the publish time.
Get post (yekar.facebook-pages.get-post)ReadRead one post: its text, permalink, creation and update times, and - importantly - whether it is actually published or still scheduled. A post id that this Page's token cannot see returns 'no such id', which Facebook also uses for deleted posts; the two are indistinguishable from here.
Create post (yekar.facebook-pages.create-post)WritePublish a text post to the Page, optionally sharing a link, and optionally scheduling it instead of publishing now. Facebook refuses a post whose message is identical to the previous one, so a retry with unchanged text will fail as a duplicate rather than post twice. A scheduled post is invisible to List posts until it goes live - find it with List scheduled posts.
Create photo post (yekar.facebook-pages.create-photo-post)WritePost a photo to the Page from a public image URL, with an optional caption, optionally scheduled. Facebook downloads the image itself, so the URL must be reachable without authentication - a signed or expiring link usually fails. The result carries two ids: the photo and the feed post it created; comments and insights belong to the POST id.
Update post (yekar.facebook-pages.update-post)WriteReplace the text of a post the Page published. Only the message can be changed: a shared link, an attached photo and the audience are fixed once posted, and Facebook shows an edit history to anyone who looks. Editing does not re-notify followers, so an edit is not a way to resurface a post.
Delete post (yekar.facebook-pages.delete-post)WritePermanently delete a post from the Page, along with its comments, reactions and insights. There is no trash and no undo. A scheduled post that has not published yet is deleted the same way, and that is the only way to cancel one - Facebook's API cannot move a scheduled post's time.
List comments (yekar.facebook-pages.list-comments)ReadA page of comments on a post - or, passing a comment id, that comment's replies. Each item carries the comment id needed to reply, hide or delete it, and whether it is currently hidden. The total comes from Facebook's own summary count for the whole object, so it is the real number rather than the size of this page.
Create comment (yekar.facebook-pages.create-comment)WriteComment on a post as the PAGE (not as a person), or reply to an existing comment by passing its id. The comment is public immediately and appears under the Page's name and picture. Facebook allows only one level of replies - replying to a reply attaches to the same top-level thread.
Hide comment (yekar.facebook-pages.hide-comment)WriteHide a comment from the public, or unhide one. A hidden comment stays visible to its author and their friends - Facebook deliberately does not tell them it was hidden - and remains readable by the Page, so hiding is the reversible moderation action and deleting is the permanent one. Prefer this over Delete comment for anything that might have been a misjudgement.
Delete comment (yekar.facebook-pages.delete-comment)WritePermanently delete a comment and every reply under it. There is no undo, and unlike hiding, the author can tell - their comment is gone. Use Hide comment when the judgement might be wrong; use this for spam and abuse.
Get post insights (yekar.facebook-pages.get-post-insights)ReadReach and engagement for one post - impressions, unique impressions, clicks and reactions by type by default. Needs the read_insights permission. A metric Facebook has retired in the current Graph version is not an error: it comes back MISSING, so this reports those separately as unavailable rather than letting them look like zeros.
Get page insights (yekar.facebook-pages.get-page-insights)ReadPage-level reach and engagement over a window - impressions, unique impressions, post engagements and follower count by default. Needs the read_insights permission. Facebook backfills insights with a delay of up to a day, so the most recent window is routinely incomplete rather than low; metrics retired in the current Graph version are reported as unavailable, not as zeros.

Notes

  • In the Meta app dashboard add the Facebook Login product, then request the permissions you need: pages_manage_posts (publish), pages_read_engagement (read posts and comments), pages_manage_engagement (moderate comments), pages_read_user_content, and read_insights (analytics). On a Page your app does not own, each of these needs App Review.
  • Get a LONG-LIVED Page access token: sign in as a Page admin to get a user token, exchange it for a long-lived user token (/oauth/access_token?grant_type=fb_exchange_token), then read /me/accounts and take the Page's token from there. A Page token derived this way does not expire on a clock.
  • Do NOT paste the token shown directly in the Graph API Explorer - that one dies in about an hour, so the connection works during setup and is broken by the afternoon.
  • Copy the numeric Page ID from the Page's About → Page transparency (not the @username and not the page URL) into the Page ID property.
  • Everything is posted AS THE PAGE, never as the person who triggered the automation, and the Page's reputation is shared by everything using this connection. Bind automations using it as a service connection.
  • Scheduling is built in: pass scheduledPublishTime to Create post or Create photo post, between 10 minutes and 180 days ahead. A scheduled post does NOT appear in List posts - use List scheduled posts, and delete it to cancel (Facebook's API cannot move a scheduled time).
  • Facebook rejects a post whose message is identical to the previous one, so a retry with unchanged text fails as a duplicate rather than posting twice.
  • Photos are fetched by Facebook from the URL you supply, so it must be publicly reachable - signed or expiring links usually fail.
  • Hiding a comment is reversible and invisible to its author; deleting one is permanent and takes its replies with it. Prefer hiding when the judgement might be wrong.
  • Insights lag: Facebook backfills for up to a day, so the most recent window is routinely incomplete rather than genuinely low. Metrics Meta has retired come back missing and are reported as unavailable, never as zero.
  • INCOMING messages cannot be read here - Facebook delivers them by webhook. Point your Meta webhook at your own endpoint, verify its X-Hub-Signature-256 header, and have it call Yekar.AI's fire endpoint to start an automation.