Facebook

Learn how to use Facebook with Composio

Overview

SLUG: FACEBOOK

Description

Facebook is a social media and advertising platform used by individuals and businesses to connect, share content, and promote products or services

Authentication Details

client_id
stringRequired
client_secret
stringRequired
full
stringDefaults to https://graph.facebook.comRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to email,public_profile,user_friends,user_photos,user_posts,user_videos,pages_show_list,pages_read_engagement,pages_manage_posts,pages_manage_engagement,pages_read_user_content,pages_manage_metadata,pages_manage_ads,pages_manage_cta,pages_manage_instant_articles,pages_messaging,pages_messaging_subscriptions,pages_messaging_phone_number,pages_messaging_payments,business_management,ads_management,ads_read,catalog_management,leads_retrieval
bearer_token
string

Connecting to Facebook

Create an auth config

Use the dashboard to create an auth config for the Facebook toolkit. This allows you to connect multiple Facebook accounts to Composio for agents to use.

1

Select App

Navigate to Facebook.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Facebook Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4facebook_auth_config_id = "ac_YOUR_FACEBOOK_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Facebook: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, facebook_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Facebook toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["FACEBOOK"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Add Photos to Album

Description

Adds photos to an existing facebook album. note: currently adds one photo at a time. for true batch upload, use facebook's batch api endpoint directly.

Action Parameters

album_id
stringRequired
photo_urls
array
photos
array
published
booleanDefaults to True

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Comment

Description

Creates a comment on a facebook post or replies to an existing comment.

Action Parameters

attachment_id
string
attachment_share_url
string
attachment_url
string
message
stringRequired
object_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Photo Album

Description

Creates a new photo album on a facebook page.

Action Parameters

location
string
message
string
name
stringRequired
page_id
stringRequired
privacy
object

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Photo Post

Description

Creates a photo post on a facebook page.

Action Parameters

backdated_time
integer
backdated_time_granularity
string
message
string
page_id
stringRequired
photo
object
published
booleanDefaults to True
scheduled_publish_time
integer
url
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Post

Description

Creates a new post on a facebook page.

Action Parameters

link
string
message
stringRequired
page_id
stringRequired
published
booleanDefaults to True
scheduled_publish_time
integer
targeting
object

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Video Post

Description

Creates a video post on a facebook page.

Action Parameters

description
string
file_url
string
page_id
stringRequired
published
booleanDefaults to True
scheduled_publish_time
integer
targeting
object
title
string
video
object

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Comments

Description

Retrieves comments from a facebook post or comment (for replies).

Action Parameters

fields
stringDefaults to id,message,created_time,from,attachment,comment_count,like_count,is_hidden
filter
string
limit
integerDefaults to 25
object_id
stringRequired
order
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Conversation Messages

Description

Retrieves messages from a specific conversation.

Action Parameters

conversation_id
stringRequired
fields
stringDefaults to messages{id,created_time,from,to,message}
limit
integerDefaults to 25

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Conversations

Description

Retrieves a list of conversations between users and the page.

Action Parameters

fields
stringDefaults to participants,updated_time,id
limit
integerDefaults to 25
page_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Posts

Description

Retrieves posts from a facebook page.

Action Parameters

fields
stringDefaults to id,message,created_time,updated_time,permalink_url,attachments
limit
integerDefaults to 25
page_id
stringRequired
since
string
until
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Post

Description

Retrieves details of a specific facebook post.

Action Parameters

fields
stringDefaults to id,message,created_time,updated_time,permalink_url,from,attachments,likes.summary(true),shares
post_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Like Post or Comment

Description

Likes a facebook post or comment.

Action Parameters

object_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Media Message

Description

Sends a media message (image, video, audio, or file) from the page to a user.

Action Parameters

is_reusable
boolean
media_type
stringRequired
media_url
stringRequired
messaging_type
stringDefaults to RESPONSE
page_id
stringRequired
recipient_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Message

Description

Sends a text message from the page to a user via messenger.

Action Parameters

message_text
stringRequired
messaging_type
stringDefaults to RESPONSE
page_id
stringRequired
recipient_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Unlike Post or Comment

Description

Removes a like from a facebook post or comment.

Action Parameters

object_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload Photo

Description

Uploads a photo file directly to a facebook page. supports local file upload up to 10mb.

Action Parameters

caption
string
page_id
stringRequired
photo
object
published
booleanDefaults to True
scheduled_publish_time
integer
tags
array
targeting
object
url
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload Photos Batch

Description

Uploads multiple photo files in batch to a facebook page or album. uses facebook's batch api for efficient multi-photo upload. maximum 50 photos per batch.

Action Parameters

album_id
string
page_id
stringRequired
photo_urls
array
photos
array
published
booleanDefaults to True

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload Video

Description

Uploads a video file directly to a facebook page. supports local file upload. for large videos (>100mb), uses resumable upload.

Action Parameters

content_tags
array
custom_labels
array
description
string
page_id
stringRequired
published
booleanDefaults to True
scheduled_publish_time
integer
targeting
object
title
string
video
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Add Reaction

Description

Adds a specific reaction (like, love, wow, etc.) to a facebook post or comment.

Action Parameters

object_id
stringRequired
type
stringDefaults to LIKE

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Assign Page Task

Description

Assigns tasks/roles to a user for a specific facebook page.

Action Parameters

page_id
stringRequired
tasks
arrayRequired
user
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Comment

Description

Deletes a facebook comment.

Action Parameters

comment_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Post

Description

Deletes a facebook page post.

Action Parameters

post_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Comment

Description

Retrieves details of a specific facebook comment.

Action Parameters

comment_id
stringRequired
fields
stringDefaults to id,message,created_time,from,attachment,comment_count,like_count,is_hidden,parent

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Message Details

Description

Retrieves details of a specific message sent or received by the page.

Action Parameters

fields
stringDefaults to id,created_time,from,to,message
message_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Details

Description

Fetches details about a specific facebook page.

Action Parameters

fields
stringDefaults to id,name,about,category,description,fan_count,followers_count,website
page_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Insights

Description

Retrieves analytics and insights for a facebook page.

Action Parameters

metrics
stringDefaults to page_impressions,page_engaged_users,page_fans,page_fan_adds,page_fan_removes,page_views_total,page_posts_impressions,page_actions_post_reactions_total
page_id
stringRequired
period
stringDefaults to day
since
string
until
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Photos

Description

Retrieves photos from a facebook page.

Action Parameters

fields
stringDefaults to id,created_time,name,picture,source,album,height,width,link
limit
integerDefaults to 25
page_id
stringRequired
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Roles

Description

Retrieves a list of people and their tasks/roles on a facebook page.

Action Parameters

page_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Page Videos

Description

Retrieves videos from a facebook page.

Action Parameters

fields
stringDefaults to id,created_time,description,title,length,source,picture,views,likes.summary(true)
limit
integerDefaults to 25
page_id
stringRequired
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Post Insights

Description

Retrieves analytics and insights for a specific facebook post.

Action Parameters

metrics
stringDefaults to post_impressions,post_engaged_users,post_clicks,post_reactions_by_type_total,post_engaged_fan,post_video_views,post_video_avg_time_watched
period
string
post_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Post Reactions

Description

Retrieves reactions (like, love, wow, etc.) for a facebook post.

Action Parameters

limit
integerDefaults to 25
post_id
stringRequired
summary
booleanDefaults to True
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Scheduled Posts

Description

Retrieves scheduled and unpublished posts for a facebook page.

Action Parameters

fields
stringDefaults to id,message,created_time,scheduled_publish_time,is_published
limit
integerDefaults to 25
page_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Pages

Description

Retrieves a list of pages the user manages, including tasks and access tokens.

Action Parameters

fields
stringDefaults to id,name,access_token,tasks
user_id
stringDefaults to me

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Mark Message Seen

Description

Marks a user's message as seen by the page.

Action Parameters

page_id
stringRequired
recipient_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Publish Scheduled Post

Description

Publishes a previously scheduled or unpublished facebook post immediately.

Action Parameters

post_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Remove Page Task

Description

Removes a user's tasks/access from a specific facebook page.

Action Parameters

page_id
stringRequired
user
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Reschedule Post

Description

Changes the scheduled publish time of an unpublished facebook post.

Action Parameters

post_id
stringRequired
scheduled_publish_time
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Toggle Typing Indicator

Description

Shows or hides the typing indicator for a user in messenger.

Action Parameters

page_id
stringRequired
recipient_id
stringRequired
typing_on
booleanRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Comment

Description

Updates an existing facebook comment.

Action Parameters

comment_id
stringRequired
is_hidden
boolean
message
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Page Settings

Description

Updates settings for a specific facebook page.

Action Parameters

about
string
description
string
emails
array
general_info
string
page_id
stringRequired
phone
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Post

Description

Updates an existing facebook page post.

Action Parameters

message
string
og_action_type_id
string
og_icon_id
string
og_object_id
string
og_phrase
string
og_suggestion_mechanism
string
post_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired