How to let an AI assistant change a live ad account safely
What the gateway will and will not do to a live account, and how the preview and confirm cycle works.
Both readings are on this page.
For you
What the answer looks like, and what to type to get it.
The way this normally goesLink to this section
- Give someone the account password and hope.
- Or do everything yourself, and be the bottleneck.
The way it goes with an assistantLink to this section
- Give the assistant an account it may reach, on a plan that allows writes.
- Every change previews first and applies nothing.
- You read the preview and confirm.
- Creation is always paused, and deletion does not exist.
Prompts to start fromLink to this section
Trying it without riskLink to this section
Pause campaign X, but show me the preview first.
What exactly would change if I cut this budget to 40 EUR?
Create a paused campaign for the autumn range, and tell me what you set.Tools this usesLink to this section
| Tool | Why |
|---|---|
describe_tool | Read the schema before composing a write. Every write carries a confirm parameter. |
google_ | Called without confirm, it returns the change it would make. |
run_tool | Reaches a write that was not announced. It runs the same plan check and account allowlist, so it is not a way around anything. |
What it will not doLink to this section
- A created campaign is always PAUSED. There is no parameter to create it active.
- Deleting, duplicating, retargeting and editing creative are not exposed at all.
- An amount above one million units of currency is refused rather than sent, because that is what a double conversion looks like.
- A refused call does not consume quota.
For your agent
The tool sequence, the parameters that matter, and what will be refused.
Both readings as Markdown: /guides/safe-writes.md
This job reads several sources, across 3 tool calls. It changes the account, so it needs a plan with writes and an explicit confirm on each change.
SequenceLink to this section
| Step | Tool | Purpose |
|---|---|---|
| 1 | describe_tool | Read the schema before composing a write. Every write carries a confirm parameter. |
| 2 | google_ | Called without confirm, it returns the change it would make. |
| 3 | run_tool | Reaches a write that was not announced. It runs the same plan check and account allowlist, so it is not a way around anything. |
Constraints that will refuse youLink to this section
- Only the ad accounts the account owner ticked are reachable. Call
list_accountsfirst rather than guessing an identifier. - A created campaign is always PAUSED. There is no parameter to create it active.
- Deleting, duplicating, retargeting and editing creative are not exposed at all.
- An amount above one million units of currency is refused rather than sent, because that is what a double conversion looks like.
- A refused call does not consume quota.
What the person is likely to askLink to this section
Pause campaign X, but show me the preview first.
What exactly would change if I cut this budget to 40 EUR?
Create a paused campaign for the autumn range, and tell me what you set.