Automate Facebook Page operations -- create and schedule posts, upload videos, manage Messenger conversations, retrieve page insights, and handle scheduled content -- all orchestrated through the Composio MCP integration.
Toolkit docs: composio.dev/toolkits/facebook
https://rube.app/mcp
FACEBOOK_* tools become available for executionList all Facebook Pages you manage to get page IDs and access tokens for subsequent operations.
Tool: FACEBOOK_LIST_MANAGED_PAGES
| Parameter | Type | Required | Description |
|---|---|---|---|
fields |
string | No | Comma-separated fields (default: id,name,access_token,category,tasks,about,link,picture) |
limit |
integer | No | Max pages per request (default: 25) |
user_id |
string | No | User ID (default: me) |
Always run this first to cache page_id values. Avoid repeating discovery calls -- cache the results.
Publish or schedule text posts with optional links on a Facebook Page.
Tool: FACEBOOK_CREATE_POST
| Parameter | Type | Required | Description |
|---|---|---|---|
page_id |
string | Yes | Numeric Page ID from managed pages |
message |
string | Yes | Text content of the post |
published |
boolean | No | true to publish immediately, false for draft/scheduled (default: true) |
scheduled_publish_time |
integer | No | Unix UTC timestamp; must be at least 10 minutes in the future |
link |
string | No | URL to include in the post |
targeting |
object | No | Audience targeting specifications |
When scheduling: Set published=false and provide scheduled_publish_time as a Unix UTC timestamp.
Upload and schedule video content on a Facebook Page.
Tool: FACEBOOK_CREATE_VIDEO_POST
| Parameter | Type | Required | Description |
|---|---|---|---|
page_id |
string | Yes | Numeric Page ID |
file_url |
string | Conditional | URL of the video file (provide file_url or video) |
video |
object | Conditional | Local file upload with name, mimetype, s3key |
title |
string | No | Video title |
description |
string | No | Video description |
published |
boolean | No | Publish immediately (default: true) |
scheduled_publish_time |
integer | No | Unix timestamp for scheduled publishing |
Review, reschedule, update, or publish scheduled content.
Tools:
FACEBOOK_GET_SCHEDULED_POSTS -- List scheduled/unpublished posts for a page
page_id (required), fields, limit (max 100)FACEBOOK_RESCHEDULE_POST -- Change the scheduled publish timeFACEBOOK_UPDATE_POST -- Edit caption/text on an existing postFACEBOOK_PUBLISH_SCHEDULED_POST -- Publish a scheduled post immediatelyRetrieve inbox conversations and message threads between users and your Page.
Tool: FACEBOOK_GET_PAGE_CONVERSATIONS
| Parameter | Type | Required | Description |
|---|---|---|---|
page_id |
string | Yes | The Facebook Page ID |
fields |
string | No | Fields to return (default: participants,updated_time,id) |
limit |
integer | No | Conversations to return, max 25 |
Then retrieve full message threads:
Tool: FACEBOOK_GET_CONVERSATION_MESSAGES
| Parameter | Type | Required | Description |
|---|---|---|---|
page_id |
string | Yes | Page ID that owns the conversation |
conversation_id |
string | Yes | Conversation ID in t_ format (e.g., t_3638640842939952) |
fields |
string | No | Default: id,created_time,from,to,message |
limit |
integer | No | Messages to return, max 25 |
Respond to users via Messenger and mark messages as read.
Tools:
FACEBOOK_SEND_MESSAGE -- Send a text message from the Page to a user via MessengerFACEBOOK_MARK_MESSAGE_SEEN -- Mark a user's message as seen by the PageWarning: Both tools cause user-visible side effects. Only call after explicit confirmation.
| Pitfall | Details |
|---|---|
| Scheduling too close to now | FACEBOOK_CREATE_POST with scheduled_publish_time less than ~10 minutes in the future returns HTTP 400 -- enforce a larger buffer for bulk runs |
| Unix UTC timestamps required | scheduled_publish_time must be Unix UTC -- timezone conversion mistakes cause off-by-hours scheduling or validation failures |
| Cursor-based pagination | FACEBOOK_GET_SCHEDULED_POSTS and FACEBOOK_GET_PAGE_CONVERSATIONS return subsets -- follow paging cursors to get complete data |
| Large conversation payloads | Requesting embedded messages in conversations creates huge payloads -- use FACEBOOK_GET_CONVERSATION_MESSAGES for full threads instead |
| Video processing delays | Uploaded videos may remain in processing state -- only schedule via FACEBOOK_CREATE_VIDEO_POST after the upload is usable |
| Cache page IDs | Repeating FACEBOOK_LIST_MANAGED_PAGES calls adds latency -- cache page_id per workspace/run |
| Pages only | This toolkit does not support personal Facebook accounts -- only Facebook Pages |
| Write operations need confirmation | FACEBOOK_SEND_MESSAGE and FACEBOOK_MARK_MESSAGE_SEEN cause user-visible side effects -- only call after explicit user confirmation |
| Tool Slug | Purpose |
|---|---|
FACEBOOK_LIST_MANAGED_PAGES |
List Pages you manage with access tokens |
FACEBOOK_GET_PAGE_DETAILS |
Get detailed info about a specific Page |
FACEBOOK_CREATE_POST |
Create or schedule a text/link post |
FACEBOOK_CREATE_VIDEO_POST |
Create or schedule a video post |
FACEBOOK_GET_SCHEDULED_POSTS |
List scheduled/unpublished posts |
FACEBOOK_RESCHEDULE_POST |
Change scheduled publish time |
FACEBOOK_UPDATE_POST |
Edit an existing post |
FACEBOOK_PUBLISH_SCHEDULED_POST |
Publish a scheduled post immediately |
FACEBOOK_UPLOAD_VIDEO |
Upload a video file to a Page |
FACEBOOK_GET_PAGE_CONVERSATIONS |
List Messenger inbox conversations |
FACEBOOK_GET_CONVERSATION_MESSAGES |
Retrieve messages from a conversation |
FACEBOOK_SEND_MESSAGE |
Send a Messenger message from the Page |
FACEBOOK_MARK_MESSAGE_SEEN |
Mark a message as seen |
FACEBOOK_GET_PAGE_POSTS |
Retrieve posts from a Page feed |
FACEBOOK_GET_USER_PAGES |
List Pages with tasks and tokens |
Powered by Composio