Operator workflow

Agent approve_action / reject_action: Safe Write Workflow

Published September 29, 2026 · AdsCove Product & Engineering

Short answer

When an agent calls a tool that would mutate ads or Shopify, AdsCove often returns a pending execution (with execution_id and before/after). You—or a standing consent policy you set—review it, then call approve_action to run it or reject_action to discard it. Concept model: approval-gated ad changes; this page is the approve/reject how-to.

What you will see

  • execution_id — the UUID you pass to approve or reject.
  • requested_change / before-after — which account and fields would change.
  • idempotency_key — prevents duplicate submission of the same write.
  • An expiry window (often ~72 hours)—after that, re-run the tool.

Recommended sequence

  1. Read first — list_connections, reports, Shopify context; confirm the agent is on the right accounts.
  2. Draft the write — create/update pages, product SEO, pause ad objects, etc.; the tool returns pending.
  3. Summarize in plain language — what changes, which shop/ad account, before/after, and whether paid spend is involved.
  4. approve_action — only after consent, pass execution_id (optional approval_context_token).
  5. reject_action — if the plan is wrong, the account is wrong, or you changed your mind: reject and have the agent re-plan.
  6. Verify — public URL / admin fields / ad status match the intent.

Standing consent vs per-action confirm

Some operators (for example standing SEO full-auto publish) authorize the agent to call approve_action inside a defined scope. Paid spend, OAuth reconnects, and brand-risk claims should still stop for a human. Without standing authority, the agent must get your clear consent before approve.

Common mistakes

  • Approving without reading before/after.
  • Treating paid budget changes like harmless SEO page edits.
  • Reusing an expired execution_id.
  • Pasting secrets or platform tokens into chat.

FAQ

What does approve_action need?

At minimum execution_id (UUID). Some flows also pass approval_context_token. Do not invent IDs.

Can I approve after I reject?

Usually no. After reject, have the agent re-call the write tool to get a new pending execution.

Can I approve only in the console?

Yes. The AdsCove Activity page can approve/reject; agent tools and the console share the same approval record.

How does this relate to dry_run / review?

dry_run / review let you inspect the plan; the live mutation still needs approve_action (or the console equivalent).

Related guides