A campaign brief used to take weeks of emails to become booked media. A buyer agent structures the brief, queries fifty seller agents at once, gets products back in one comparable schema, negotiates in parallel and books through your approval. We build these agents for agencies and brands, and we build the controls that make them safe to hand a budget.

Brief to booked media, end to end
The buyer orchestrates everything. Discovery runs through AdCP's get_products as a conversation, with a context id carrying refinements like "only guaranteed packages with completion rate above 80%". Negotiation is four numbers in code (target price, max price, step size, round cap) closing dozens of parallel negotiations in seconds. The media buy runs AdCP's five phases and fourteen tasks, or AAMP's booking paths (OpenDirect 2.1 and the Deals API's quote-then-book), whose reference implementation already pulls deal IDs from PubMatic, Index Exchange and Magnite. The creative workflow is seven buyer-orchestrated phases, from list_creative_formats through build_creative (generate from brief, transform sizes, or retrieve from library) to per-seller approval tracking, grounded in your brand.json so generated creative is on-message instead of scraped-site guesswork.
Human control and number safety
An agent handling client money answers to more than a prompt. Buyer-side approval gates hold at four fixed stages (plan review, booking, creative, pacing), and the flow persists and pauses until a person decides. Every number is verified against source before a trader sees it: proposed prices inside the seller's quoted floor and ceiling, package budgets summing exactly to the brief total, financing fees matching the funding agent's quote. As Damian Naglak puts it in his agentic buying series: the model does the thinking, the wrapper does the bookkeeping.
Governance is protocol-level. AdCP's governance service is deliberately not an LLM: budgets and authority levels are pre-registered with sync_plans, check_governance runs before every buy from both sides ("neither side grades its own homework"), and audit logs carry the full decision history. AAMP's append-only state log answers finance's "who approved this rate" with timestamps, actors and reasons.
The two problems we engineer for on day one
Cross-seller frequency capping. One agent can buy from fifty sellers in seconds; none of them can stop the same person from seeing your ad fifty times. The protocol fields (AdCP's suppress and max_impressions, IAB's frequencycount/frequencyinterval) cap within a single seller's ad server only. Damian's frequency capping series lays out the working buy-side fix we implement: count centrally where all sellers' impressions already converge (your measurement), then push suppression lists to each seller via sync_audiences, on a cycle tuned to the id-matching and activation-lag realities.
Prompt injection in negotiation. Buyer and seller agents are language models exchanging strings, each holding a number it must not reveal. Damian has documented the attack, including a real in-the-wild case where a scam page carried roughly two dozen hidden instructions aimed at an ad-review AI. Our buyer agents never let the model hold your ceiling.
Both standards, one buying core
AdCP 3.1 (June 2026) is additive and production-minded: version pinning, a health flag with an impairments[] list that names the broken dependency and its fix instead of a mystery delivery drop, optimization goals bindable to vendor metrics (DV, IAS, Adelaide, Lumen) with final rows you can invoice against, and stricter auth. AAMP 2.0 spans six deal types up to Linear TV, and hands accepted deals to the auction as OpenRTB Deal IDs, where ARTF containers activate and adjust them per bid request. AdCP does not replace OpenRTB; one create_media_buy drives thousands of bid requests. We build buyer agents with one buying core that speaks both protocols, because your sellers will arrive on either.
Built on production agent engineering
The agent machinery underneath (tool design, evals against golden datasets, memory, Langfuse monitoring, token-cost control) is our AI agent development practice, already running agents in production at Bedrock Platform. For the strategy and workflow-automation layer around the buyer agent, see what we build for agencies and our AI agents for agencies and brands. The sell side of this protocol pair is our Seller Agent practice.
