Meta Pages
list_meta_pagesLists the Facebook Pages managed by the connected Meta user (id, name, category). The page_id required when creating ads is selected from here.
ALWAYS pass account_id when you are building ads for a specific ad account: only then can this tool tell you which Pages that ad account is actually allowed to advertise for (Meta's own promote_pages), returned as ad_account_pages with assigned_to_ad_account on every entry. A Page appearing in the flat list does NOT mean the ad account can use it — the user's personal Page role and the ad account's asset assignment are two different things, and Ads Manager shows the former. An empty ad_account_pages means Meta could not DISCOVER an assigned Page — it does NOT mean ads cannot be built, and it is NOT a connector fault. Verified live on 2026-09-22: with promote_pages empty, passing page_id explicitly created a WhatsApp messaging ad set without any error. So when ad_account_pages is empty, pick the Page from the pages list and pass page_id directly to create_meta_adset / create_meta_link_ad FIRST. Do not send the user to Meta Business Settings on the strength of this empty list; only treat it as a real asset-assignment problem if Meta itself rejects the explicit page_id. A Page missing here is not an access loss on our side.
If the list comes back empty this tool also reports WHY: a missing pages_show_list permission looks identical to "no pages" otherwise.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||