Facebook

Manage Facebook Pages, posts, comments, messages, and insights via the Facebook Graph API. Use this skill when users want to post content, read engagement metrics, moderate comment…

Jay

@hith3sh

What This Skill Does

Manages Facebook Pages through the Graph API, enabling posting, comment moderation, message handling, and insight retrieval directly from chat. Uses ClawLink for OAuth authentication, eliminating manual API configuration.

Replaces manual Facebook Page management and custom API integrations by providing a chat-driven interface for posting, moderating, and analyzing Page activity.

When to Use It

  • Schedule and publish new posts to a Facebook Page from chat
  • Read and respond to comments on Page posts
  • Send and receive messages through Facebook Page inbox
  • View Page engagement metrics like reach, likes, and shares
  • Moderate comments by hiding, deleting, or replying to specific ones
  • Automate recurring Page updates without logging into Facebook directly

Install

$ openclaw skills install @hith3sh/facebook-pages

Facebook

Facebook

Access Facebook Pages via the Graph API with managed OAuth authentication. Post content, read engagement, manage comments and messages, and view insights from chat.

This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Facebook API access yourself.

Setup in 3 Steps

Step 1: InstallStep 2: Pair AccountStep 3: Connect Facebook
InstallPairApp-specific connection GIF coming soon
Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Facebook

No Account Needed: Public Facebook Data

Read any public Facebook page, post, group or event, search Marketplace, and browse the Meta Ad Library, without connecting a Facebook account. These tools work as soon as the plugin is paired: there is nothing to connect, and each call is paid from ClawLink credit (most cost a fraction of a cent; new accounts get $0.50 free).

ToolWhat it returnsPrice
facebookdata_page_profilePublic Facebook page or profile by URL: name, category, likes, followers, about$0.00282
facebookdata_page_postsRecent public posts of a Facebook page by URL$0.00282
facebookdata_post_commentsComments on a public Facebook post by URL$0.00282
facebookdata_ad_library_searchSearch the Meta Ad Library for active ads by keyword$0.00282
facebookdata_marketplace_searchSearch Facebook Marketplace listings near a point$0.00282
facebookdata_events_searchSearch public Facebook events by keyword$0.00282

Use the connected-account tools above for the user's own Facebook; use these for anyone else's public content. More: Ad Spy, Transcribe Any Video.

How It Works

┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐
│   OpenClaw      │────▶│   ClawLink   │────▶│  Facebook Graph  │
│   (User Chat)   │     │   (OAuth)    │     │      API          │
└─────────────────┘     └──────────────┘     └──────────────────┘
          │                       │                       │
          │  1. Install Plugin    │                       │
          │  2. Pair Device       │                       │
          │  3. Connect Facebook  │                       │
          │                       │  4. Secure Token      │
          │                       │  5. Proxy Requests    │
          │                       │                       │
          ▼                       ▼                       ▼
    ┌──────────┐           ┌──────────┐           ┌──────────┐
    │  SKILL   │           │ Dashboard│           │ Facebook │
 │  File    │           │ Auth     │           │ Business  │
    └──────────┘           └──────────┘           └──────────┘

Install

Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.

openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart

Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Facebook again."

Quick Start

# List integrations
clawlink_list_integrations

# List Facebook tools
clawlink_list_tools --integration facebook

# Search for a specific tool
clawlink_search_tools --query "post" --integration facebook

Authentication

All Facebook tool calls are authenticated automatically by ClawLink using the user's connected Facebook account.

No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Facebook Graph API request on the user's behalf.

Getting Connected

  1. Install the ClawLink plugin (see Install above).
  2. Pair the plugin with clawlink_begin_pairing if it is not configured yet.
  3. Open https://claw-link.dev/dashboard?add=facebook and connect Facebook.
  4. Call clawlink_list_integrations to verify the connection is active.

Connection Management

List Connections

clawlink_list_integrations

Response: Returns all connected integrations. Look for facebook in the list.

Verify Connection

clawlink_list_tools --integration facebook

Response: Returns the live tool catalog for Facebook.

Reconnect

If Facebook tools are missing or the connection shows an error:

  1. Direct the user to https://claw-link.dev/dashboard?add=facebook
  2. After they confirm, call clawlink_list_integrations to verify
  3. Then call clawlink_list_tools --integration facebook

Discovery Workflow

  1. Call clawlink_list_integrations to confirm Facebook is connected.
  2. Call clawlink_list_tools --integration facebook to see the live catalog.
  3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.
  4. If the user describes a capability but the exact tool is unclear, call clawlink_search_tools with a short query and integration facebook.
  5. If no Facebook tools appear, direct the user to https://claw-link.dev/dashboard?add=facebook.

Execution Workflow

┌─────────────────────────────────────────────────────────────┐
│  READ OPERATIONS (Safe)                                     │
│  list → get → search → describe → call                      │
│                                                             │
│  Example: List posts → Get insights → Show results         │
└─────────────────────────────────────────────────────────────┘
                               │
                               ▼
┌─────────────────────────────────────────────────────────────┐
│  WRITE OPERATIONS (Require Confirmation)                    │
│  list → get → describe → preview → confirm → call           │
│                                                             │
│  Example: Describe tool → Preview changes → User approves   │
│           → Execute update                                  │
└─────────────────────────────────────────────────────────────┘
  1. For unfamiliar tools, ambiguous requests, or any write action, call clawlink_describe_tool first.
  2. Use the returned guidance, schema, whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.
  3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.
  4. For writes or anything marked as requiring confirmation, call clawlink_preview_tool first.
  5. Execute with clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.
  6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.

Tool Reference

Pages& Profiles

ToolDescriptionMode
facebook_list_managed_pagesList Pages the user managesRead
facebook_get_page_detailsGet Page metadata and settingsRead
facebook_get_page_rolesGet Page roles and permissionsRead
facebook_update_page_settingsUpdate Page settingsWrite

Posts

ToolDescriptionMode
facebook_get_page_postsGet posts from a PageRead
facebook_get_postGet a specific postRead
facebook_create_postCreate a text or link postWrite
facebook_create_photo_postCreate a photo postWrite
facebook_update_postUpdate an existing postWrite
facebook_delete_postDelete a postWrite
facebook_get_scheduled_postsGet scheduled postsRead
facebook_publish_scheduled_postPublish a scheduled postWrite

Comments

ToolDescriptionMode
facebook_get_commentsGet comments on a postRead
facebook_get_commentGet a specific commentRead
facebook_create_commentCreate a comment on a postWrite
facebook_update_commentUpdate a commentWrite
facebook_delete_commentDelete a commentWrite

Messaging

ToolDescriptionMode
facebook_get_page_conversationsGet Page conversationsRead
facebook_get_conversation_messagesGet messages in a conversationRead
facebook_send_messageSend a message from the PageWrite
facebook_send_media_messageSend media (image/video) messageWrite
facebook_mark_message_seenMark a message as seenWrite

Insights& Analytics

ToolDescriptionMode
facebook_get_page_insightsGet Page analytics and metricsRead
facebook_get_post_insightsGet post-specific insightsRead
facebook_get_post_reactionsGet reactions on a postRead

Photo Albums

ToolDescriptionMode
facebook_create_photo_albumCreate a photo albumWrite
facebook_get_page_photosGet Page photosRead
facebook_upload_photos_batchUpload multiple photosWrite

Code Examples

List managed Pages

clawlink_call_tool --tool "facebook_list_managed_pages" \
  --params '{}'

Get Page posts

clawlink_call_tool --tool "facebook_get_page_posts" \
  --params '{
    "page_id": "YOUR_PAGE_ID",
    "limit": 20
  }'

Create a post

clawlink_call_tool --tool "facebook_create_post" \
  --params '{
    "page_id": "YOUR_PAGE_ID",
    "message": "Hello from ClawLink! This is an automated post."
  }'

Get post insights

clawlink_call_tool --tool "facebook_get_post_insights" \
  --params '{
    "post_id": "YOUR_POST_ID"
  }'

Security & Permissions

  • Connected-account tools are scoped to the connected Facebook account's managed Pages and their permissions.
  • The public-data tools under "No Account Needed" read other people's public Facebook content (profiles, posts, comments) without any connected account. They are read-only, never post or change anything, and each call is paid from the user's ClawLink credit.
  • All write operations require explicit user confirmation. Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.
  • Destructive actions (deleting posts, comments) are marked as high-impact and must be confirmed.
  • Publishing posts affects the Page's public-facing content; confirm all write operations.
  • Messaging operations deliver to real users; confirm before sending.

Notes

  • Facebook Graph API uses cursor-based pagination for large result sets.
  • CDN-based media URLs (from source field) are time-limited; download promptly if long-term access is needed.
  • Rate limits apply to API calls (error codes 4,17, 613); use backoff for high-volume operations.
  • The API version is v23.0 (released May 2025); older versions are deprecated.
  • Some permissions require Facebook app review before use in production.

Error Handling

Status / ErrorMeaning
Tool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration facebook.
Missing connectionFacebook is not connected. Direct the user to https://claw-link.dev/dashboard?add=facebook.
(#404) Page not foundThe Page ID does not exist or is not accessible.
(#200) Permission deniedThe app does not have the required permission.
(#190) Token expiredThe access token has expired. Reconnect Facebook.
Write rejectedUser did not confirm a write action. Always confirm before executing writes.

Troubleshooting: Tools Not Visible

  1. Check that the ClawLink plugin is installed:
    openclaw plugins list
    
  2. If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
  3. If a fresh chat does not help, run:
    openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
    openclaw gateway restart
    
  4. After restart, tell the user to send /new again and retry.

Troubleshooting: Invalid Tool Call

  1. Ensure the integration slug is exactly facebook.
  2. Use clawlink_describe_tool to verify parameter names and types before calling.
  3. For write operations, always call clawlink_preview_tool first.

Resources


Powered by ClawLink — an integration hub for OpenClaw

ClawLink Logo

Top skills in this category

Telegram

@codedao12

OpenClaw skill for designing Telegram Bot API workflows and command-driven conversations using direct HTTPS requests (no SDKs).

2921k

Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest, Dribbble, Discord, Slack, Kick, Twitch, Mastodon, Bluesky, Lemmy, Farcaster, Telegram, Nostr, VK, Medium, Dev.to, Hashnode, WordPress, ListMonk

@nevo-david

Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Goog...

3413k

google-meet

@byungkyu

Google Meet API integration with managed OAuth. Create meeting spaces, list conference records, and manage meeting participants. Use this skill when users want to interact with Google Meet. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Google Meet connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Google Meet action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Google Meet examples; they add no Google Meet capability - Google Meet is not an event source, a trigger cannot read Google Meet data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

1519k

Adaptive Reasoning

@enzoricciulli

Automatically assess task complexity and adjust reasoning level. Triggers on every user message to evaluate whether extended thinking (reasoning mode) would improve response quality. Use this as a pre-processing step before answering complex questions.

1114k

klaviyo

@byungkyu

Klaviyo API integration with managed OAuth. Access profiles, lists, segments, campaigns, flows, events, metrics, templates, catalogs, webhooks, tags, coupons, images, forms, reviews, and account settings. Use this skill when users want to manage email marketing, customer data, or integrate with Klaviyo workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Klaviyo connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Klaviyo action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Klaviyo examples; they add no Klaviyo capability - Klaviyo is not an event source, a trigger cannot read Klaviyo data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

818k