Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Facebook Page management including post creation, scheduling, video uploads, Messenger conversations, and audience engagement via Composio
.claude/skills/composiohq-facebook-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 572% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 74% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 298% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 34% | 0% |
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/mcpFACEBOOK_* 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 pagepage_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
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,076 | 3,929 | -23% | 1 | 1 | 0% | 1,032 | 2,244 | +117% | 0 | 0 | — |
case-02 | fail→fail | 7,940 | 2,297 | -71% | 1 | 1 | 0% | 1,572 | 2,197 | +40% | 0 | 0 | — |
case-03 | fail→fail | 7,068 | 3,371 | -52% | 1 | 1 | 0% | 1,385 | 2,204 | +59% | 0 | 0 | — |
case-04 | pass→pass | 5,713 | 6,000 | +5% | 1 | 1 | 0% | 1,010 | 2,989 | +196% | 0 | 0 | — |
case-05 | fail→fail | 4,062 | 4,940 | +22% | 1 | 1 | 0% | 686 | 2,425 | +253% | 0 | 0 | — |
case-11 | fail→pass | 10,151 | 3,271 | -68% | 1 | 1 | 0% | 1,830 | 2,498 | +37% | 0 | 0 | — |
case-06 | fail→fail | 3,182 | 5,062 | +59% | 1 | 1 | 0% | 440 | 2,272 | +416% | 0 | 0 | — |
case-07 | fail→pass | 2,526 | 2,026 | -20% | 1 | 1 | 0% | 330 | 2,219 | +572% | 0 | 0 | — |
case-08 | fail→pass | 10,154 | 6,556 | -35% | 1 | 1 | 0% | 1,727 | 3,004 | +74% | 0 | 0 | — |
case-09 | fail→pass | 5,182 | 7,362 | +42% | 1 | 1 | 0% | 773 | 3,075 | +298% | 0 | 0 | — |
case-10 | fail→pass | 12,225 | 6,945 | -43% | 1 | 1 | 0% | 2,478 | 3,316 | +34% | 0 | 0 | — |
case-12 | fail→pass | 4,775 | 2,519 | -47% | 1 | 1 | 0% | 867 | 2,437 | +181% | 0 | 0 | — |
case-13 | fail→pass | 7,198 | 2,151 | -70% | 1 | 1 | 0% | 1,200 | 2,317 | +93% | 0 | 0 | — |
case-14 | fail→pass | 5,522 | 2,263 | -59% | 1 | 1 | 0% | 1,042 | 2,305 | +121% | 0 | 0 | — |
case-15 | fail→pass | 9,993 | 5,182 | -48% | 1 | 1 | 0% | 2,154 | 2,927 | +36% | 0 | 0 | — |
case-16 | pass→pass | 8,970 | 3,662 | -59% | 1 | 1 | 0% | 1,502 | 2,561 | +71% | 0 | 0 | — |
case-17 | pass→pass | 7,733 | 3,956 | -49% | 1 | 1 | 0% | 1,487 | 2,659 | +79% | 0 | 0 | — |
case-18 | fail→pass | 9,683 | 9,387 | -3% | 1 | 1 | 0% | 1,863 | 2,982 | +60% | 0 | 0 | — |
case-19 | pass→pass | 5,194 | 1,978 | -62% | 1 | 1 | 0% | 980 | 2,229 | +127% | 0 | 0 | — |
case-20 | fail→pass | 6,160 | 1,739 | -72% | 1 | 1 | 0% | 1,168 | 2,258 | +93% | 0 | 0 | — |
case-21 | fail→pass | 7,250 | 1,541 | -79% | 1 | 1 | 0% | 1,330 | 2,190 | +65% | 0 | 0 | — |
case-22 | fail→pass | 8,914 | 2,465 | -72% | 1 | 1 | 0% | 1,414 | 2,348 | +66% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 18 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.