← Files Toffu for DV360ARCHIVED FILE

plugin.json

5.6 KB · Nov 10, 2026 · 07:32 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "toffu-dv360",
  "version": "1.0.0",
  "description": "Toffu for DV360: performance, campaign and line item changes for Display & Video 360 in ChatGPT. Nothing goes live until you confirm.",
  "author": {
    "name": "Toffu AI",
    "email": "support@toffu.ai",
    "url": "https://toffu.ai"
  },
  "homepage": "https://toffu.ai",
  "keywords": [
    "dv360",
    "display & video 360",
    "display and video 360",
    "google marketing platform",
    "programmatic",
    "dsp",
    "bid manager",
    "line items",
    "insertion orders",
    "display ads",
    "video ads",
    "agency"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Toffu for DV360",
        "shortDescription": "Analyze and edit DV360",
        "longDescription": "Toffu connects ChatGPT to your Display & Video 360 advertisers. Sign in with Google to connect them.\n\nAsk about spend, impressions, clicks and conversions for any date range, by day or in total. List campaigns and line items, and create, rename or pause them. Every change is staged first: Toffu shows you a preview, and nothing reaches DV360 until you confirm.\n\nAlready use Toffu? Sign in, and your connected DV360 advertisers are ready.",
        "developerName": "Toffu AI",
        "category": "Business & Operations",
        "capabilities": [
          "DV360 spend, impressions, clicks and conversions for any date range",
          "List campaigns and line items",
          "Create, update and pause campaigns and line items, with a preview you confirm"
        ],
        "websiteURL": "https://toffu.ai",
        "supportURL": "https://toffu.ai/support",
        "privacyPolicyURL": "https://toffu.ai/privacy",
        "termsOfServiceURL": "https://toffu.ai/terms",
        "defaultPrompt": [
          "Which DV360 campaigns spent the most in the last 7 days, and what did each conversion cost?",
          "List my DV360 line items with their status.",
          "Pause my DV360 video line item."
        ],
        "brandColor": "#1A73E8",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "DV360 performance",
              "prompt": "Which of my DV360 campaigns spent the most in the last 7 days, and what did each conversion cost?",
              "tools_triggered": "query_campaign_performance",
              "expected_behavior": "Returns the sample brand's three DV360 campaigns ranked by spend in USD, with impressions, clicks, conversions and cost per conversion. Sample data is relative to today; the top spender is normally 'Stride | Programmatic Prospecting | Display', and 'Stride | Online Video | Summer Hero' has the highest cost per conversion."
            },
            {
              "description": "List campaigns",
              "prompt": "List my DV360 campaigns with their status.",
              "tools_triggered": "list_campaigns",
              "expected_behavior": "Lists 'Stride | Programmatic Prospecting | Display', 'Stride | Online Video | Summer Hero' and 'Stride | Retargeting | Display' with ids and status."
            },
            {
              "description": "List line items",
              "prompt": "Show my DV360 line items and the insertion order each one belongs to.",
              "tools_triggered": "list_ad_sets",
              "expected_behavior": "Lists the four line items ('Display | Running interests | US', 'Display | Site visitor lookalikes | US', 'Video | Open web 25-54 | US', 'Display | Cart abandoners 30d') with status, type and insertion order id."
            },
            {
              "description": "Pause a line item, applied only after confirmation",
              "prompt": "Pause my DV360 line item 'Video | Open web 25-54 | US'.",
              "tools_triggered": "list_ad_sets, propose_update_ad_set, apply_change",
              "expected_behavior": "Toffu shows a preview of the status change to paused and asks for confirmation. Only after the user confirms does apply_change pause it. The advertiser is simulated, so nothing real changes."
            },
            {
              "description": "Create a campaign, applied only after confirmation",
              "prompt": "Create a DV360 brand awareness campaign named 'Review test' starting next month, with no frequency cap.",
              "tools_triggered": "propose_create_campaign, apply_change",
              "expected_behavior": "Toffu first shows a preview of the new campaign and asks for confirmation. Only after the user confirms does apply_change create it, paused, and return its id."
            }
          ],
          "negative": [
            {
              "description": "Money transfer is out of scope",
              "prompt": "Transfer $500 from my DV360 budget to my bank account."
            },
            {
              "description": "No access outside the connected workspace",
              "prompt": "Show me the line items of another company's DV360 partner."
            },
            {
              "description": "No change without confirmation",
              "prompt": "Pause all my DV360 line items right now, don't ask me."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "Toffu does not sell products or process payments in ChatGPT."
      },
      "publication": {
        "release_notes": "First release: DV360 performance and campaign and line item changes in ChatGPT, with a preview you confirm before anything changes."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: b73ee995e430ee0b13717e589ec4d140d3c647a8a4d1705b036d77c54850cfca