---
title: Facebook API Integration on Truto
slug: facebook
category: Marketing Automation
canonical: "https://truto.one/integrations/detail/facebook/"
---

# Facebook API Integration on Truto



**Category:** Marketing Automation  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 22 tools for Facebook that AI agents can call directly.

- **facebook_pages_list_user_pages** — List Facebook Pages a user can perform tasks on, including page access tokens and task permissions for each Page. Returns: id, name, category, category_list, access_token, tasks. Required: user_id.
- **get_single_facebook_page_by_id** — Get details about a specific Facebook Page by id, with the fields parameter controlling which Page details are returned. Returns: id, name, about, attire, bio, location, parking, hours, emails, website, fan_count. Required: id.
- **update_a_facebook_page_by_id** — Update details about a Facebook Page by id, such as the about text. Returns: id. Required: id.
- **facebook_pages_search** — Search for Facebook Pages by keyword or search term. Returns: id, name, location, link, is_eligible_for_branded_content, is_unclaimed, verification_status. Required: q.
- **facebook_pages_get_settings** — Get all settings for a Facebook Page. Returns: setting, value. Required: page_id.
- **facebook_pages_update_settings** — Update a setting for a Facebook Page by setting the option parameter. Returns: psid_to_block. Required: page_id, option.
- **facebook_pages_list_reviews** — Get reviews for a Facebook Page including reviewer name, recommendation type, and review text. Returns: created_time, recommendation_type, review_text, reviewer. Required: page_id.
- **facebook_pages_list_blocked** — List people blocked from a Facebook Page. Returns: id, name. Required: page_id.
- **facebook_pages_block_person** — Block a person from commenting on a Facebook Page by sending their Page-scoped ID. Returns a confirmation object with the blocked user's Page-scoped ID as a dynamic key set to true. Required: page_id, user.
- **facebook_pages_list_tagged** — List posts where a Facebook Page is tagged or mentioned. Returns: id, message, created_time. Required: page_id.
- **list_all_facebook_pages** — List Facebook Pages on which the authenticated user can perform tasks, including Page access tokens and task assignments. Returns: id, name, category, category_list, access_token, tasks.
- **facebook_pages_list_roles** — List people who can perform tasks on a Facebook Page along with their assigned tasks. Returns: id, name, tasks. Required: page_id.
- **list_all_facebook_page_posts** — List Facebook Page posts from a Page's feed. Returns: id, message, created_time. Required: page_id.
- **create_a_facebook_page_post** — Create a post on a Facebook Page by publishing to the Page's feed. Returns: id. Required: page_id. Scheduled posts must be between 10 minutes and 30 days from the request time.
- **delete_a_facebook_page_post_by_id** — Delete a Facebook Page post by id. Returns: id. Required: id.
- **create_a_facebook_page_photo** — Publish a photo to a Facebook Page. Returns: id, post_id. Required: page_id, url.
- **list_all_facebook_comments** — List comments on a Facebook Page post. Returns each comment's id, message, created_time, and from (commentor name and PSID). Required: page_post_id.
- **create_a_facebook_comment** — Create a comment on a Facebook Page post as the Page. Returns: id. Required: page_post_id, message. If the Page is unpublished, commenting is not allowed.
- **list_all_facebook_page_insights** — List Facebook Page insights metrics for a specified Page, filtered by metric name and optional date range. Returns: name, period, values, title, description, id. Required: page_id, metric. Public Page metrics are stored for 2 years; unpublished Page metrics for only 5 days.
- **get_single_facebook_page_insight_by_id** — Get a single Facebook Page insights metric by metric name. Returns the data array with each entry including name, period, values, title, description, and id, plus a paging object. Required: page_id, id (the metric name). Public Page metric data is stored for 2 years; unpublished Pages for 5 days.
- **create_a_facebook_subscribed_app** — Install an app on a Facebook Page by subscribing it to Page webhook fields. Returns: success. Required: page_id.
- **list_all_facebook_subscribed_apps** — List apps installed on a Facebook Page that have real-time update subscriptions. Returns: id, name, category, link. Required: page_id.

## How it works

1. **Link your customer's Facebook account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Facebook.** The Proxy API is a 1-to-1 mapping of the Facebook API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Power omnichannel publishing to Facebook Pages** — Let marketers draft, schedule, and publish text and photo posts to their Facebook Pages directly from your SaaS, without your team writing OAuth flows or handling Page access token refreshes.
- **Turn Facebook comments and mentions into support tickets** — Ingest new comments, tagged posts, and reviews via subscribed webhooks so helpdesk platforms can create tickets and let agents reply as the brand without leaving the app.
- **Sync business profile data across multi-location Pages** — Enable local SEO and listings tools to push hours, about, and profile updates across dozens or hundreds of franchise Pages in one workflow, keeping brand data consistent everywhere.
- **Aggregate reviews and Page insights for reporting** — Pull recommendations, review text, and Page Insights metrics into BI or reputation dashboards to calculate sentiment, prove marketing ROI, and alert managers to negative feedback.
- **Automate moderation and brand safety** — Give community managers one-click actions in your product to block abusive commenters and audit blocked users across Pages, protecting brand reputation at scale.

## What you can build

- **Multi-Page publisher with scheduling** — Compose once and publish or schedule posts and photos across every Page a user manages using create_a_facebook_page_post and create_a_facebook_page_photo.
- **Real-time comment inbox** — Subscribe Pages to webhooks via create_a_facebook_subscribed_app and stream new comments into a unified inbox where agents reply with create_a_facebook_comment.
- **Reviews and reputation dashboard** — Pull recommendations and review text with facebook_pages_list_reviews to score sentiment, trigger alerts, and surface trends per location.
- **Bulk profile and settings sync** — Update Page metadata and settings across hundreds of locations using update_a_facebook_page_by_id and facebook_pages_update_settings from a single control panel.
- **Insights-driven reporting** — Query page-level metrics with list_all_facebook_page_insights and get_single_facebook_page_insight_by_id to build custom performance reports and export PDFs.
- **Moderation and block management** — Review blocked users with facebook_pages_list_blocked and take instant action via facebook_pages_block_person directly from your moderation UI.

## FAQs

### How does authentication work for Facebook Pages?

Truto handles the Facebook OAuth flow end-to-end. Once a user connects, you can list the Pages they manage via facebook_pages_list_user_pages, and Truto manages Page access tokens and refresh behind the scenes so you don't have to.

### Can we receive real-time events instead of polling?

Yes. Use create_a_facebook_subscribed_app to subscribe a Page to your app, and Facebook will send webhook payloads for events like new comments, posts, and reviews. You can inspect active subscriptions with list_all_facebook_subscribed_apps.

### Are there limits on scheduling posts?

Facebook requires scheduled posts to be queued between 10 minutes and 30 days from the time of the API call. Any create_a_facebook_page_post request outside that window will be rejected.

### How far back can we pull Page Insights data?

Facebook retains Insights data for published Pages for up to 2 years, while unpublished Pages only retain data for 5 days. Plan historical backfills accordingly when using list_all_facebook_page_insights.

### Can we update business profile data across many Pages at once?

Yes. update_a_facebook_page_by_id lets you write fields like about, hours, and location, and facebook_pages_update_settings adjusts Page-level settings. You can loop across all connected Pages retrieved from list_all_facebook_pages to run bulk updates.

### What community management actions are supported?

You can read and reply to comments (list_all_facebook_comments, create_a_facebook_comment), monitor brand mentions via facebook_pages_list_tagged, list Page roles, and moderate users with facebook_pages_list_blocked and facebook_pages_block_person.

## Related reading

- [Connect Facebook to ChatGPT: Manage Page Content and Interactions](https://truto.one/blog/connect-facebook-to-chatgpt-manage-page-content-and-interactions/) — Learn how to connect Facebook to ChatGPT using a managed MCP server. Automate Page posts, moderate comments, and extract insights without integration boilerplate.
- [Connect Facebook to Claude: Analyze Page Metrics and Insights](https://truto.one/blog/connect-facebook-to-claude-analyze-page-metrics-and-insights/) — Learn how to connect Facebook to Claude using a managed MCP server. Automate page insights, post publishing, and comment moderation with AI tool calling.
- [Connect Facebook to AI Agents: Automate Page Posts and Moderation](https://truto.one/blog/connect-facebook-to-ai-agents-automate-page-posts-and-moderation/) — Learn how to securely connect Facebook to AI agents using Truto's /tools endpoint. Fetch LLM-ready tools to automate Page posts, moderation, and insights.
