Pause or activate entities (adsap_set_entity_status)
Platform: Meta · Read or write: Write · Plan: All plans · Consumes a task: Yes · Preview supported: Yes
What it does
Pauses or reactivates Meta campaigns, ad sets or ads in one batch, up to 50 at a time. You name the level and the entities, and the copilot applies the change. Ask for a preview to see what would change before the copilot touches anything.
When to use it
- Use it to pause or switch on campaigns, ad sets or ads when you already have their IDs. One call takes 1 to 50 IDs of a single
entity_type. - Get the IDs first from
adsap_list_campaignsoradsap_list_ad_sets. - It supports a preview call. With
dry_runset totrue, Adsap reads each entity’s current status from Meta and changes nothing. - It only sets the status to
PAUSEDorACTIVE. To change a name, budget, schedule or targeting, useadsap_update_entity. ad_account_idis required, even though the entities are named by ID.
Worked example
You ask
“Show me what would happen if I paused these two ad sets in act_1234567890. Do not pause them yet.”
The assistant calls adsap_set_entity_status
{
"entity_type": "adset",
"entity_ids": ["120210000000001", "120210000000003"],
"action": "pause",
"ad_account_id": "act_1234567890",
"dry_run": true
}Adsap returns
The field names are the ones Adsap returns. The values are examples.
{
"ok": true,
"dry_run": true,
"action": "pause",
"target_status": "PAUSED",
"results": [
{
"entity_id": "120210000000001",
"name": "Prospecting US",
"current_status": "ACTIVE",
"effective_status": "ACTIVE",
"would_change_to": "PAUSED",
"would_change": true,
"success": true
},
{
"entity_id": "120210000000003",
"name": "Retargeting US",
"current_status": "PAUSED",
"effective_status": "PAUSED",
"would_change_to": "PAUSED",
"would_change": false,
"success": true
}
],
"total_would_change": 1,
"total_already_at_target": 1,
"total_failed": 0
}How to read it
Each entry in results is one entity, read live from Meta. current_status is what is set today and would_change_to is the status the real call would set. would_change is false when the entity is already there. Here one ad set would be paused and the other is paused already.
An ID that Meta cannot read comes back with success false and an error message, and counts in total_failed. When the preview looks right, the assistant repeats the call with dry_run set to false. That response reports total_updated, total_unchanged and total_failed.
Parameters
Descriptions are shortened from the tool schema. Your assistant sees the full text.
| Name | Type | Required | Description |
|---|---|---|---|
entity_type | one of campaign, adset, ad | Yes | |
entity_ids | array of string | Yes | |
action | one of pause, activate | Yes | |
dry_run | boolean | No | Preview only: the request is validated and the resolved payload returned, nothing is created or changed. |
ad_account_id | string | Yes |
Example prompts
- “Pause every ad set in the Winter Clearance campaign.”
- “Turn the Lookalike 1% ad set back on.”
- “Show me what would happen if I paused these three campaigns, but do not pause them yet.”
Notes
The copilot only reactivates something when you ask for it in so many words.
Related tools
adsap_update_entity: Edit an existing Meta campaign, ad set, or ad: change name, status (PAUSED/ACTIVE), budget, schedule, ad-set targeting, or ad-set spend…
Guide
Read Managing campaigns for the workflow around this tool, and the Tool reference for every tool.
The Meta Ads MCP server page shows how to connect Meta Ads to Claude, ChatGPT or Perplexity.