composio-skills/facebook-automation/SKILL.md
Automate Facebook Page management including post creation, scheduling, video uploads, Messenger conversations, and audience engagement via Composio
npx skillsauth add ComposioHQ/awesome-claude-skills Facebook AutomationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 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
tools
Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.
tools
Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.
tools
Automate Zoho Inventory tasks via Rube MCP (Composio): items, orders, warehouses, shipments, and stock management. Always search tools first for current schemas.
tools
Automate Zoho Desk tasks via Rube MCP (Composio): tickets, contacts, agents, departments, and help desk operations. Always search tools first for current schemas.