AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Adform Inventory Deals

skill-adform-agentic-skills-adform-inventory-deals · by adform

>-

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-adform-agentic-skills-adform-inventory-deals

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-adform-agentic-skills-adform-inventory-deals)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Adform Inventory Deals? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Adform inventory and deals

Explore marketplace inventory sources, browse and search deals and open auctions, inspect deal groups, and check past traffic. Read-only.

Connection & tooling

Runs on the Adform GraphQL MCP. Use graphql_execute to run queries. Use graphql_search to look up field names; use graphql_introspect for complex nested types. Keep calls sequential (~1–2s apart).


1. Browse marketplace deals

Always paginate. Do not request inventorySources in the same call as marketplaceDeals. The deal id is composite: {inventorySourceId}_{dealId}.

{
  buyerDealListItems(
    pagination: { offset: 0, limit: 50 }
  ) {
    buyerDeals {
      id dealId name type price currencyCode status startDate endDate
      inventorySource { id name }
      advertisers { totalCount allAdvertisers }
      healthIndications { status }
      assignedToLineItemsCount
    }
    totalCount
  }
}

Search deals by keyword

{
  buyerDealListItems(
    filters: [{ fieldName: "buyerDeal.searchPhrase", operation: contains, values: ["fashion"] }]
    pagination: { offset: 0, limit: 50 }
  ) {
    buyerDeals {
      id dealId name type price currencyCode status startDate endDate
      inventorySource { id name }
      healthIndications { status }
    }
    totalCount
  }
}

2. Browse inventory sources

Use pagination only — do not pass filters or sortBy on this query.

{
  inventoryMarketplaceListItems(
    pagination: { offset: 0, limit: 100 }
  ) {
    inventorySources { id name adExchange { id name } channels environments }
    hasMoreItems totalCount
  }
}

3. Search open auctions

Must provide advertiserId or campaignId. Do not pass a sort argument.

{
  searchOpenAuctions(
    advertiserId: "71883"
    limit: 20
  ) {
    results { id name inventorySourceId inventorySourceName country channel bannerTypes sizes }
    next previous totalCount
  }
}

4. Deal groups

List buyer deal groups

{
  buyerDealGroups(
    filters: { advertiserId: "71883" }
    pagination: { offset: 0, limit: 20 }
  ) {
    dealGroups { id name status dealIds }
    totalCount
  }
}

Get deal group detail

{ buyerDealGroup(id: "12345") { id name status dealIds } }

5. Past traffic

Domain past traffic

{
  inventoryMarketplaceDomainPastTraffic(
    domains: ["bild.de", "spiegel.de"]
  ) {
    domain
    trafficCounts { cookies requests }
  }
}

Deal past traffic

{
  inventoryMarketplaceDealPastTraffic(
    deals: [{ inventoryId: 42, dealId: "12345" }]
  ) {
    dealId
    trafficCounts { cookies requests }
  }
}

Inventory source past traffic

{
  inventoryMarketplaceInventoryPastTraffic(inventoryIds: [42, 55]) {
    inventoryId
    trafficCounts { cookies requests }
  }
}

Deal + line item past traffic

{
  dealLineItemPastTraffic(inventorySourceId: "42", dealId: "12345", lineItemId: "99999") {
    levels { key name group availableImpressions }
  }
}

Common patterns

  • Inventory exploration: browse inventory sources → search deals → check past traffic →

note deal IDs for line-item assignment

  • Deal sizing: past traffic to validate volume before targeting
  • Deal groups: list groups, then get detail to see which deal IDs are bundled

Presenting

Show deals in a table with name, type (private/preferred), inventory source, floor price, currency, and status. For past traffic, show cookies and requests per item and flag thin inventory where volume may not support the planned budget.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.