Install
openclaw skills install metaadsManage Meta ad campaigns by reading, creating, updating campaigns, ad sets, ads, creatives, and retrieving insights via the Marketing API.
openclaw skills install metaadsThis skill enables an agent to read, create, and manage Meta (Facebook/Instagram) ad campaigns via the Marketing API.
https://graph.facebook.com/v19.0/
access_tokenad_account_id (format: act_<ID>)Use access token in query or header:
Authorization: Bearer <ACCESS_TOKEN>
or
?access_token=<ACCESS_TOKEN>
| Permission | Purpose |
|---|---|
| ads_read | Read campaigns, ads, insights |
| ads_management | Create & update campaigns |
GET /act_<AD_ACCOUNT_ID>/campaigns
GET /act_<ID>/campaigns?fields=id,name,status,objective
GET /act_<ID>/adsets?fields=id,name,campaign_id,status,daily_budget
GET /act_<ID>/ads?fields=id,name,adset_id,status
GET /<CAMPAIGN_ID>/insights?fields=impressions,clicks,spend,ctr,cpc
GET /act_<ID>/insights?fields=impressions,clicks,spend&date_preset=last_7d
time_range={'since':'2024-01-01','until':'2024-01-31'}
effective_status=['ACTIVE']
level=campaign | adset | ad
Responses include:
paging.next
paging.next until exhaustedPOST /act_<ID>/campaigns
Payload:
name=My Campaign
objective=CONVERSIONS
status=PAUSED
special_ad_categories=[]
POST /act_<ID>/adsets
Payload:
name=Ad Set 1
daily_budget=1000
billing_event=IMPRESSIONS
optimization_goal=REACH
campaign_id=<CAMPAIGN_ID>
targeting={"geo_locations":{"countries":["MA"]}}
status=PAUSED
POST /act_<ID>/adcreatives
Payload:
name=Creative 1
object_story_spec={"page_id":"<PAGE_ID>","link_data":{"message":"Hello","link":"https://example.com"}}
POST /act_<ID>/ads
Payload:
name=Ad 1
adset_id=<ADSET_ID>
creative={"creative_id":"<CREATIVE_ID>"}
status=PAUSED
POST /<CAMPAIGN_ID>?status=PAUSED
Common fields:
| Code | Meaning |
|---|---|
| 190 | Invalid/expired token |
| 200 | Permission denied |
| 100 | Invalid parameter |
PAUSEDIF spend > 50 AND ctr < 0.5%
THEN mark campaign as underperforming