Labsco
ComposioHQ logo

Facebook Automation

โ˜… 66,917

by ComposioHQ ยท part of ComposioHQ/awesome-claude-skills

Automate Facebook Page management including post creation, scheduling, video uploads, Messenger conversations, and audience engagement via Composio

๐Ÿงฉ One of 7 skills in the ComposioHQ/awesome-claude-skills package โ€” works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates โ€” you don't need to read it to use the skill, but it's here to audit before installing.

Facebook Automation

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


Core Workflows

1. Discover Managed Pages

List all Facebook Pages you manage to get page IDs and access tokens for subsequent operations.

Tool: FACEBOOK_LIST_MANAGED_PAGES

ParameterTypeRequiredDescription
fieldsstringNoComma-separated fields (default: id,name,access_token,category,tasks,about,link,picture)
limitintegerNoMax pages per request (default: 25)
user_idstringNoUser ID (default: me)

Always run this first to cache page_id values. Avoid repeating discovery calls -- cache the results.


2. Create & Schedule Posts

Publish or schedule text posts with optional links on a Facebook Page.

Tool: FACEBOOK_CREATE_POST

ParameterTypeRequiredDescription
page_idstringYesNumeric Page ID from managed pages
messagestringYesText content of the post
publishedbooleanNotrue to publish immediately, false for draft/scheduled (default: true)
scheduled_publish_timeintegerNoUnix UTC timestamp; must be at least 10 minutes in the future
linkstringNoURL to include in the post
targetingobjectNoAudience targeting specifications

When scheduling: Set published=false and provide scheduled_publish_time as a Unix UTC timestamp.


3. Create & Schedule Video Posts

Upload and schedule video content on a Facebook Page.

Tool: FACEBOOK_CREATE_VIDEO_POST

ParameterTypeRequiredDescription
page_idstringYesNumeric Page ID
file_urlstringConditionalURL of the video file (provide file_url or video)
videoobjectConditionalLocal file upload with name, mimetype, s3key
titlestringNoVideo title
descriptionstringNoVideo description
publishedbooleanNoPublish immediately (default: true)
scheduled_publish_timeintegerNoUnix timestamp for scheduled publishing

4. Manage Scheduled Posts

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 time
  • FACEBOOK_UPDATE_POST -- Edit caption/text on an existing post
  • FACEBOOK_PUBLISH_SCHEDULED_POST -- Publish a scheduled post immediately

5. Read Page Messenger Conversations

Retrieve inbox conversations and message threads between users and your Page.

Tool: FACEBOOK_GET_PAGE_CONVERSATIONS

ParameterTypeRequiredDescription
page_idstringYesThe Facebook Page ID
fieldsstringNoFields to return (default: participants,updated_time,id)
limitintegerNoConversations to return, max 25

Then retrieve full message threads:

Tool: FACEBOOK_GET_CONVERSATION_MESSAGES

ParameterTypeRequiredDescription
page_idstringYesPage ID that owns the conversation
conversation_idstringYesConversation ID in t_ format (e.g., t_3638640842939952)
fieldsstringNoDefault: id,created_time,from,to,message
limitintegerNoMessages to return, max 25

6. Send Messages & Mark as Seen

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 Messenger
  • FACEBOOK_MARK_MESSAGE_SEEN -- Mark a user's message as seen by the Page

Warning: Both tools cause user-visible side effects. Only call after explicit confirmation.


Known Pitfalls

PitfallDetails
Scheduling too close to nowFACEBOOK_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 requiredscheduled_publish_time must be Unix UTC -- timezone conversion mistakes cause off-by-hours scheduling or validation failures
Cursor-based paginationFACEBOOK_GET_SCHEDULED_POSTS and FACEBOOK_GET_PAGE_CONVERSATIONS return subsets -- follow paging cursors to get complete data
Large conversation payloadsRequesting embedded messages in conversations creates huge payloads -- use FACEBOOK_GET_CONVERSATION_MESSAGES for full threads instead
Video processing delaysUploaded videos may remain in processing state -- only schedule via FACEBOOK_CREATE_VIDEO_POST after the upload is usable
Cache page IDsRepeating FACEBOOK_LIST_MANAGED_PAGES calls adds latency -- cache page_id per workspace/run
Pages onlyThis toolkit does not support personal Facebook accounts -- only Facebook Pages
Write operations need confirmationFACEBOOK_SEND_MESSAGE and FACEBOOK_MARK_MESSAGE_SEEN cause user-visible side effects -- only call after explicit user confirmation

Quick Reference

Tool SlugPurpose
FACEBOOK_LIST_MANAGED_PAGESList Pages you manage with access tokens
FACEBOOK_GET_PAGE_DETAILSGet detailed info about a specific Page
FACEBOOK_CREATE_POSTCreate or schedule a text/link post
FACEBOOK_CREATE_VIDEO_POSTCreate or schedule a video post
FACEBOOK_GET_SCHEDULED_POSTSList scheduled/unpublished posts
FACEBOOK_RESCHEDULE_POSTChange scheduled publish time
FACEBOOK_UPDATE_POSTEdit an existing post
FACEBOOK_PUBLISH_SCHEDULED_POSTPublish a scheduled post immediately
FACEBOOK_UPLOAD_VIDEOUpload a video file to a Page
FACEBOOK_GET_PAGE_CONVERSATIONSList Messenger inbox conversations
FACEBOOK_GET_CONVERSATION_MESSAGESRetrieve messages from a conversation
FACEBOOK_SEND_MESSAGESend a Messenger message from the Page
FACEBOOK_MARK_MESSAGE_SEENMark a message as seen
FACEBOOK_GET_PAGE_POSTSRetrieve posts from a Page feed
FACEBOOK_GET_USER_PAGESList Pages with tasks and tokens

Powered by Composio