Facebook — Posts
Get post — facebook.get_post
Reads one Page post by id: message, created time, permalink and attachments. Pass fields to request counts such as reactions.summary(true).
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| NONE | low | no | yes | pages_read_engagement, pages_read_user_content |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
post_id | string | yes | Post id, e.g. "123_456". From facebook.get_page_posts. |
fields | string | no | Comma-separated Graph fields to return, e.g. "id,message,created_time". |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
id | string | |
message | string | |
created_time | string | |
permalink_url | string |
Get post insights — facebook.get_post_insights
Reads insights metrics for one post (e.g. post_impressions, post_clicks). metric is required and comma separated.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| NONE | low | no | yes | read_insights, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
post_id | string | yes | Post id, e.g. "123_456". From facebook.get_page_posts. |
metric | string | yes | Comma-separated insight metrics, e.g. "post_impressions,post_clicks". |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
data | array of object | |
data[].id | string | |
data[].name | string | |
data[].period | string | |
data[].values | array | |
paging | object | |
paging.cursors | object |
Get post reactions — facebook.get_post_reactions
Lists who reacted to a post and with which reaction. type filters by LIKE, LOVE, WOW, HAHA, SAD or ANGRY. Supports paging.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| NONE | low | no | yes | pages_read_engagement, pages_read_user_content |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
post_id | string | yes | Post id, e.g. "123_456". From facebook.get_page_posts. |
type | string | no | Only this reaction, e.g. LIKE, LOVE, WOW, HAHA, SAD, ANGRY or CARE. Empty = all. |
limit | integer | no | Max items per page (1-100). Min 1. Max 100. |
after | string | no | Cursor for the next page, from paging.cursors.after of the previous call. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
data | array of object | |
data[].id | string | |
data[].name | string | |
data[].type | string | |
paging | object | |
paging.cursors | object |
Get scheduled posts — facebook.get_scheduled_posts
Lists unpublished posts scheduled on a Page, with their scheduled publish time. Use before rescheduling or cancelling a post.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| NONE | low | no | yes | pages_read_engagement, pages_read_user_content |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
fields | string | no | Comma-separated Graph fields to return, e.g. "id,message,created_time". |
limit | integer | no | Max items per page (1-100). Min 1. Max 100. |
after | string | no | Cursor for the next page, from paging.cursors.after of the previous call. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
data | array of object | |
data[].id | string | |
data[].message | string | |
data[].scheduled_publish_time | integer | |
data[].created_time | string | |
paging | object | |
paging.cursors | object |
Create post — facebook.create_post
Publishes a text or link post to a Page feed. Waits for human approval; once approved the post goes public. Set published=false with scheduled_publish_time (unix seconds) to schedule it instead.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
message | string | yes | Post text. |
link | string | no | URL to attach as a link preview, e.g. https://example.com. |
published | boolean | no | Publish now (default true). Set false to save unpublished or to schedule. |
scheduled_publish_time | integer | no | Publish time in unix seconds, 10 minutes to 30 days ahead; needs published=false. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
id | string |
Approval card: shown as post (page → page_id, message → message, link → link, scheduled_at → scheduled_publish_time).
Create photo post — facebook.create_photo_post
Publishes one photo from a public image url to a Page, with an optional caption. Waits for human approval; once approved the photo goes public.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
url | string | yes | Public https URL of the image. |
caption | string | no | Text shown with the photo. |
published | boolean | no | Publish now (default true). Set false to save unpublished or to schedule. |
scheduled_publish_time | integer | no | Publish time in unix seconds, 10 minutes to 30 days ahead; needs published=false. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
id | string | |
post_id | string |
Approval card: shown as post (page → page_id, message → caption, media → url, scheduled_at → scheduled_publish_time).
Update post — facebook.update_post
Replaces the message of an existing Page post. Waits for human approval; once approved the edited text is public.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
post_id | string | yes | Post id, e.g. "123_456". From facebook.get_page_posts. |
message | string | yes | New post text; replaces the old text. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
success | boolean |
Approval card: shown as post (page → page_id, message → message, link → link, scheduled_at → scheduled_publish_time).
Delete post — facebook.delete_post
Deletes a Page post. Waits for human approval; once approved the post and its comments are removed and cannot be restored.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | yes | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
post_id | string | yes | Post id, e.g. "123_456". From facebook.get_page_posts. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
success | boolean |
Publish scheduled post now — facebook.publish_scheduled_post
Publishes an unpublished or scheduled post immediately (is_published=true). Waits for human approval; once approved the post goes public.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
post_id | string | yes | Post id, e.g. "123_456". From facebook.get_page_posts. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
success | boolean |
Reschedule post — facebook.reschedule_post
Changes the scheduled publish time (unix seconds) of a still-unpublished post. Does not publish anything now.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | medium | no | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
post_id | string | yes | Post id, e.g. "123_456". From facebook.get_page_posts. |
scheduled_publish_time | integer | yes | Publish time in unix seconds, 10 minutes to 30 days ahead; needs published=false. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
success | boolean |
Approval card: shown as post (page → page_id, message → message, link → link, scheduled_at → scheduled_publish_time).
Refresh URL preview — facebook.refresh_url_scrape
Asks Facebook to re-scrape a URL so link previews pick up new title and image. Uses the connected user token; no Page is needed.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | low | no | no | — |
Input
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | Full URL to re-scrape, e.g. https://example.com/page. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
id | string | |
title | string |
Create multi-photo post — facebook.create_multi_photo_post
Publishes one Page post with 1-10 photos (https URLs): uploads each photo unpublished, then attaches them to a feed post. Waits for human approval.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
photo_urls | array of string | yes | 1-10 public https image URLs, in display order. |
message | string | no | Post text. |
published | boolean | no | Publish now (default true). Set false to save unpublished or to schedule. |
scheduled_publish_time | integer | no | Publish time in unix seconds, 10 minutes to 30 days ahead; needs published=false. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
id | string |
Create video post — facebook.create_video_post
Publishes a video to a Page from a public https file URL, via the Graph video host. Waits for human approval.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
file_url | string | yes | Public https URL of the video file, e.g. an .mp4. |
description | string | no | Text shown with the video. |
title | string | no | Video title. |
published | boolean | no | Publish now (default true). Set false to save unpublished or to schedule. |
scheduled_publish_time | integer | no | Publish time in unix seconds, 10 minutes to 30 days ahead; needs published=false. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
id | string |
Upload photos in batch — facebook.upload_photos_batch
Uploads up to 50 photos (https URLs, optional caption) to a Page or album in one Graph batch call. Per-photo failures are reported in results, not raised. Waits for human approval.
| Side effect | Risk | Needs approval | Idempotent | Scopes |
|---|---|---|---|---|
| WRITE | high | yes | no | pages_manage_posts, pages_read_engagement |
Input
| Field | Type | Required | Description |
|---|---|---|---|
page_id | string | yes | Page id. From facebook.list_managed_pages. |
photos | array of object | yes | Photos as objects, e.g. [{"url": "https://...", "caption": "..."}]. |
photos[].url | string | yes | |
photos[].caption | string | no | |
album_id | string | no | Album id to upload into. Empty = the Page's photos. |
Extra fields: ignored.
Output
| Field | Type | Description |
|---|---|---|
results | array of object | |
results[].id | string | |
results[].success | boolean | |
results[].error | string |