Facebook Automation

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

16 stars

Best use case

Facebook Automation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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

Teams using Facebook Automation should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/facebook-automation/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/content-media/facebook-automation/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/facebook-automation/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Facebook Automation Compares

Feature / AgentFacebook AutomationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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](https://composio.dev/toolkits/facebook)

---

## Setup

1. Connect your Facebook account through the Composio MCP server at `https://rube.app/mcp`
2. The agent will prompt you with an authentication link if no active connection exists
3. Once connected, all `FACEBOOK_*` tools become available for execution
4. **Note:** This toolkit supports Facebook Pages only, not personal Facebook accounts

---

## 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`

| 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.

---

### 2. Create & Schedule Posts
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.

---

### 3. Create & Schedule Video Posts
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 |

---

### 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`

| 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 |

---

### 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

| 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 |

---

## Quick Reference

| 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](https://composio.dev)*

Related Skills

maintainx-automation

16
from diegosouzapw/awesome-omni-skill

Automate Maintainx tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailsoftly-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailsoftly tasks via Rube MCP (Composio). Always search tools first for current schemas.

mails-so-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mails So tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailersend-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailersend tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailcoach-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailcoach tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailcheck-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailcheck tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailboxlayer-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailboxlayer tasks via Rube MCP (Composio). Always search tools first for current schemas.

mailbluster-automation

16
from diegosouzapw/awesome-omni-skill

Automate Mailbluster tasks via Rube MCP (Composio). Always search tools first for current schemas.

Lemlist Automation

16
from diegosouzapw/awesome-omni-skill

Automate Lemlist multichannel outreach -- manage campaigns, enroll leads, add personalization variables, export campaign data, and handle unsubscribes via the Composio MCP integration.

kontent-ai-automation

16
from diegosouzapw/awesome-omni-skill

Automate Kontent AI tasks via Rube MCP (Composio). Always search tools first for current schemas.

iqair-airvisual-automation

16
from diegosouzapw/awesome-omni-skill

Automate Iqair Airvisual tasks via Rube MCP (Composio). Always search tools first for current schemas.

ipdata-co-automation

16
from diegosouzapw/awesome-omni-skill

Automate Ipdata co tasks via Rube MCP (Composio). Always search tools first for current schemas.