Skip to main content
Use the call_adcp_agent tool to execute these tasks against any AdCP sales agent.

Task Overview

Typical Workflow

  1. Discover products: get_products with a natural language brief
  2. Review formats: list_creative_formats to understand creative requirements
  3. Create campaign: create_media_buy with selected products and budget
  4. Upload creatives: sync_creatives to add creative assets
  5. Monitor delivery: get_media_buy_delivery to track performance

Task Reference

get_products

Discover advertising products using natural language briefs.
Key fields:
  • brief (string): Natural language description of campaign requirements
  • brand_manifest (object): Brand context - can be { "url": "https://..." } or inline manifest
  • filters (object, optional): Filter by channels, budget, delivery_type, format_types
Response contains:
  • products: Array of matching products with product_id, name, description, pricing_options
  • Each product includes format_ids (supported creative formats) and targeting (available targeting)

list_authorized_properties

Get the list of publisher properties this agent can sell.
No parameters required. Response contains:
  • publisher_domains: Array of domain strings the agent is authorized to sell

list_creative_formats

View supported creative specifications.
Key fields:
  • format_types (array, optional): Filter to specific format categories
Response contains:
  • formats: Array of format specifications with dimensions, requirements, and asset schemas

create_media_buy

Create an advertising campaign from selected products.
Key fields:
  • buyer_ref (string, required): Your unique identifier for this campaign
  • brand_manifest (object, required): Brand identity - URL or inline manifest
  • packages (array, required): Products to purchase, each with:
    • buyer_ref: Your identifier for this package
    • product_id: From get_products response
    • pricing_option_id: From product’s pricing_options
    • budget: Amount in dollars
    • bid_price: Required for auction pricing
    • targeting_overlay: Additional targeting constraints
    • creative_ids or creatives: Creative assignments
  • start_time (object, required): { "type": "asap" } or { "type": "scheduled", "datetime": "..." }
  • end_time (string, required): ISO 8601 datetime
Response contains:
  • media_buy_id: The created campaign identifier
  • status: Current state (often pending for async approval)
  • packages: Created packages with their IDs

update_media_buy

Modify an existing campaign.
Key fields:
  • media_buy_id (string, required): The campaign to update
  • updates (object): Changes to apply - budget_change, end_time, status, targeting, etc.

sync_creatives

Upload and manage creative assets.
Key fields:
  • creatives (array, required): Creative assets to sync
    • creative_id: Your unique identifier
    • format_id: Object with agent_url and id from format specifications
    • assets: Asset content (video, image, html, etc.)
  • assignments (object, optional): Map creative_id to package IDs
  • dry_run (boolean): Preview changes without applying
  • delete_missing (boolean): Archive creatives not in this sync

list_creatives

Query the creative library with filtering.

get_media_buy_delivery

Retrieve performance metrics for a campaign.
Response contains:
  • delivery: Aggregated metrics (impressions, spend, clicks, etc.)
  • by_package: Breakdown by package
  • timeseries: Data points over time if granularity specified

Key Concepts

Brand Manifest

Brand context can be provided in two ways: URL reference (recommended):
Inline manifest:

Format IDs

Creative format identifiers are structured objects:
The agent_url specifies which creative agent defines the format. Use https://creative.adcontextprotocol.org for standard IAB formats.

Pricing Options

Products include pricing_options array. Each option has:
  • pricing_option_id: Use this in create_media_buy
  • pricing_model: “cpm”, “cpm-auction”, “flat-fee”, etc.
  • price: Base price (for fixed pricing)
  • floor: Minimum bid (for auction)
For auction pricing, include bid_price in your package.

Asynchronous Operations

Operations like create_media_buy and sync_creatives may require human approval. The response includes:
  • status: "pending" - Operation awaiting approval
  • task_id - For tracking async progress
Poll or use webhooks to check completion status.

Error Handling

Common error patterns:
  • 400 Bad Request: Invalid parameters - check required fields
  • 401 Unauthorized: Invalid or missing authentication token
  • 404 Not Found: Invalid product_id, media_buy_id, or creative_id
  • 422 Validation Error: Schema validation failure - check field types
Error responses include: