Skip to main content
When a buyer transacts against your storefront, you decide how much a human reviews before anything reaches your ad server. Two storefront settings control it, and both default to manual — so out of the box, you review before buyers go live.

The two settings

SettingControlsValues
creativeApprovalBuyer-submitted creatives (sync_creatives)auto or manual (default manual)
mediaBuyApprovalBuyer-submitted media buys (create_media_buy)auto or manual (default manual)
Each is storefront-wide and set independently. Configure them by asking Murph to set your approval settings, or with PUT /api/v2/storefront. The mode (auto vs manual) is separate from what your acceptance policy says — the policy is the content you judge against; the setting is whether a human judges at all.
Approval settings apply only to ad-server-backed storefronts (your Google Ad Manager, FreeWheel, or SpringServe inventory). Storefronts that route to an external sales agent or a linked storefront pass through — there’s no review queue in front of someone else’s agent.

The lowest-risk posture: review everything

The safest setup — and the default — is both settings manual: nothing a buyer submits reaches your ad server until you’ve approved it. The approval gate runs before any ad-server write, so no order or line item is created upstream while an item is pending. One honest nuance:
  • creativeApproval: manual holds every creative. Each one lands in your queue as pending_review.
  • mediaBuyApproval: manual is policy-gated, not a blanket hold. A media buy the evaluator judges clearly on-policy is auto-forwarded; everything else queues. So if you want a human to see every buy, keep it manual and make sure your acceptance policy doesn’t pre-clear buys you’d want to eyeball. Until you’ve written an acceptance policy, manual is the right default.

How you review what’s queued

Pending items wait for your decision — approved forwards the item to the underlying sales agent; rejected carries your reason back to the buyer. You act on the queue three ways:
  • The Approvals widget in chat — your main work surface. It shows both queues (creatives and media buys) with a pre-screen verdict, and you approve or reject inline. Ask Murph to open it (“show me what’s waiting on me”).
  • Ask Murph — “what needs my approval?” lists the pending media buys and creatives; Murph pulls the details before any decision.
  • RESTGET /api/v2/storefront/media-buy-approvals?status=pending and GET /api/v2/storefront/creative-reviews?status=pending, decided via their respective decide endpoints.
See Media-buy approvals and Creative reviews for the per-queue mechanics and buyer-facing callbacks.

How you find out something is waiting

Today, pending review is a queue you check, not an alert that’s pushed to you. When a buyer submits a creative or media buy for review, it appears in your Approvals widget and Murph’s pending list right away — but it does not send you an in-app notification, email, or Slack message. So to stay on top of human-in-the-loop review, open the Approvals widget or ask Murph “what’s waiting on me?” Your storefront notifications (the feed, email, and any Slack you’ve connected) fire for decision outcomes and storefront-health events — not for a buyer simply submitting something that needs your review.
Proactive alerts for newly-pending review (a notification when a buyer submits, and a “you have items waiting” nudge) are not available yet — they’re tracked as a planned improvement. For now, treat the queue as something you check.

What’s not configurable yet

Approval is storefront-wide auto-or-manual today. Per-buyer rules, dollar thresholds, and other selective-approval policies are on the roadmap, not yet shipped — so don’t rely on “auto-approve buyers I trust, review the rest” being available now.

Media-buy approvals

The pending media-buy queue and decide endpoints

Creative reviews

The pending creative queue and decide endpoints

Ad-server access

What reaches your ad server — and how approval gates it

Notifications

What does (and doesn’t) generate a notification