← Files Adzviser Microsoft AdsARCHIVED FILE

.codex-plugin/plugin.json

16.5 KB · Nov 11, 2026 · 06:09 UTC

↓ Download file

{
  "author": {
    "name": "Adzviser LLC"
  },
  "description": "Explore your Microsoft Advertising data with Adzviser. Ask questions in plain language to understand advertising spend, clicks, impressions, and conversions from your connected accounts.\n\nCompare performance across date ranges, review campaigns and keywords, and see results by device. Follow daily trends and calculate reporting summaries from returned data, keeping amounts in their reported currencies. Adzviser is an independent service and is not affiliated with or endorsed by Microsoft.",
  "interface": {
    "capabilities": [],
    "category": "Data & Analytics",
    "defaultPrompt": [
      "How much did I spend on Microsoft Ads last week?",
      "Generate a monthly Microsoft Ads performance report covering the last 30 days",
      "Show me my Microsoft Ads keyword performance for the last 14 days"
    ],
    "developerName": "Adzviser LLC",
    "displayName": "Adzviser Microsoft Ads",
    "longDescription": "Explore your Microsoft Advertising data with Adzviser. Ask questions in plain language to understand advertising spend, clicks, impressions, and conversions from your connected accounts.\n\nCompare performance across date ranges, review campaigns and keywords, and see results by device. Follow daily trends and calculate reporting summaries from returned data, keeping amounts in their reported currencies. Adzviser is an independent service and is not affiliated with or endorsed by Microsoft.",
    "privacyPolicyURL": "https://docs.adzviser.com/privacy",
    "shortDescription": "Talk to your Bing Ads data",
    "supportURL": "https://adzviser.com/contact-us",
    "termsOfServiceURL": "https://docs.adzviser.com/terms",
    "websiteURL": "https://adzviser.com",
    "logo": "./assets/adzviser-directory-light.png",
    "composerIcon": "./assets/adzviser-directory-light.png"
  },
  "name": "app-6aa3b20dd9fc8191ad1ea4f46e9e2808",
  "skills": "./skills",
  "version": "1.0.0",
  "extensions": {
    "com.openai": {
      "interface": {
        "capabilities": [],
        "category": "Data & Analytics",
        "defaultPrompt": [
          "How much did I spend on Microsoft Ads last week?",
          "Generate a monthly Microsoft Ads performance report covering the last 30 days",
          "Show me my Microsoft Ads keyword performance for the last 14 days"
        ],
        "developerName": "Adzviser LLC",
        "displayName": "Adzviser Microsoft Ads",
        "longDescription": "Explore your Microsoft Advertising data with Adzviser. Ask questions in plain language to understand advertising spend, clicks, impressions, and conversions from your connected accounts.\n\nCompare performance across date ranges, review campaigns and keywords, and see results by device. Follow daily trends and calculate reporting summaries from returned data, keeping amounts in their reported currencies. Adzviser is an independent service and is not affiliated with or endorsed by Microsoft.",
        "privacyPolicyURL": "https://docs.adzviser.com/privacy",
        "shortDescription": "Talk to your Bing Ads data",
        "supportURL": "https://adzviser.com/contact-us",
        "termsOfServiceURL": "https://docs.adzviser.com/terms",
        "websiteURL": "https://adzviser.com",
        "logo": "./assets/adzviser-directory-light.png",
        "composerIcon": "./assets/adzviser-directory-light.png"
      },
      "publication": {
        "countries": [],
        "release_notes": "Explore Microsoft Ads spend, clicks, and impressions. Compare reporting periods, review campaign and device performance, and follow daily trends in conversation."
      },
      "review": {
        "prompts": [
          "How much did we spend on Microsoft Ads, and how many impressions and clicks did we get, in August 2026 in Demo?",
          "Show Microsoft Ads spend, impressions, and clicks by campaign for August 2026 in Demo.",
          "How did our Microsoft Ads spend, impressions, and clicks break down by device in August 2026 in Demo?",
          "Compare Microsoft Ads spend, impressions, and clicks in August 2026 with July 2026 in Demo.",
          "Show daily Microsoft Ads spend, impressions, and clicks for August 2026 in Demo."
        ],
        "test_cases": {
          "positive": [
            {
              "description": "Overall advertising performance. Use a fresh Data Mode conversation with reviewer access to Demo, containing Adzviser LLC - Expert. The campaigns are suspended, so use the fixed historical period August 1\u201331, 2026; the comparison also uses July 1\u201331, 2026. These periods were verified to contain activity. Do not recalculate them from the current date. Expected answers must come from live returned rows, not stored numeric answers.",
              "prompt": "How much did we spend on Microsoft Ads, and how many impressions and clicks did we get, in August 2026 in Demo?",
              "tools_triggered": "list_workspace, list_metrics_and_breakdowns_bing_ads, retrieve_reporting_data",
              "expected_behavior": "Call list_workspace and select Demo, then list_metrics_and_breakdowns_bing_ads for exact field names. Call retrieve_reporting_data with workspace_name=Demo and only assorted_requests.bing_ads_request. Inspect model-visible reportingData, every returned report table, and note_of_assumption. Use the header row to identify columns and actual returned values for answers. Keep currencies separate; Cost is advertising spend, not a currency-converted value. Do not add duplicated rows from different report tables together. Explain authorization errors, missing access, incomplete coverage, or empty reports rather than converting them into zero activity. Do not invoke preview_and_retrieve_reporting_data or set_reporting_mode or send client_id, reporting_mode, conversation history, or unrelated context. Request metrics=[Cost, Impressions, Clicks], breakdowns=[Currency code], date_ranges=[[\"2026-08-01\", \"2026-08-31\"]], with no time_granularity. Report totals by currency from the account-level table. State the actual start and end dates. Do not substitute a keyword or campaign subtotal for the account report. Keep the fixed calendar dates specified in the prompt, even if the review occurs later. This historical fixture should return nonempty reporting rows; if it does not, report the access or retrieval problem rather than silently selecting another period."
            },
            {
              "description": "Campaign performance. Use a fresh Data Mode conversation with reviewer access to Demo, containing Adzviser LLC - Expert. The campaigns are suspended, so use the fixed historical period August 1\u201331, 2026; the comparison also uses July 1\u201331, 2026. These periods were verified to contain activity. Do not recalculate them from the current date. Expected answers must come from live returned rows, not stored numeric answers.",
              "prompt": "Show Microsoft Ads spend, impressions, and clicks by campaign for August 2026 in Demo.",
              "tools_triggered": "list_workspace, list_metrics_and_breakdowns_bing_ads, retrieve_reporting_data",
              "expected_behavior": "Call list_workspace and select Demo, then list_metrics_and_breakdowns_bing_ads for exact field names. Call retrieve_reporting_data with workspace_name=Demo and only assorted_requests.bing_ads_request. Inspect model-visible reportingData, every returned report table, and note_of_assumption. Use the header row to identify columns and actual returned values for answers. Keep currencies separate; Cost is advertising spend, not a currency-converted value. Do not add duplicated rows from different report tables together. Explain authorization errors, missing access, incomplete coverage, or empty reports rather than converting them into zero activity. Do not invoke preview_and_retrieve_reporting_data or set_reporting_mode or send client_id, reporting_mode, conversation history, or unrelated context. Request metrics=[Cost, Impressions, Clicks], breakdowns=[Campaign ID, Campaign name, Currency code], date_ranges=[[\"2026-08-01\", \"2026-08-31\"]], with no time_granularity. Show each returned campaign with its ID, name, currency, and metrics. Sort by Cost descending within each currency. Preserve separate campaigns even if their names match; do not invent missing campaigns. Keep the fixed calendar dates specified in the prompt, even if the review occurs later. This historical fixture should return nonempty reporting rows; if it does not, report the access or retrieval problem rather than silently selecting another period."
            },
            {
              "description": "Device performance. Use a fresh Data Mode conversation with reviewer access to Demo, containing Adzviser LLC - Expert. The campaigns are suspended, so use the fixed historical period August 1\u201331, 2026; the comparison also uses July 1\u201331, 2026. These periods were verified to contain activity. Do not recalculate them from the current date. Expected answers must come from live returned rows, not stored numeric answers.",
              "prompt": "How did our Microsoft Ads spend, impressions, and clicks break down by device in August 2026 in Demo?",
              "tools_triggered": "list_workspace, list_metrics_and_breakdowns_bing_ads, retrieve_reporting_data",
              "expected_behavior": "Call list_workspace and select Demo, then list_metrics_and_breakdowns_bing_ads for exact field names. Call retrieve_reporting_data with workspace_name=Demo and only assorted_requests.bing_ads_request. Inspect model-visible reportingData, every returned report table, and note_of_assumption. Use the header row to identify columns and actual returned values for answers. Keep currencies separate; Cost is advertising spend, not a currency-converted value. Do not add duplicated rows from different report tables together. Explain authorization errors, missing access, incomplete coverage, or empty reports rather than converting them into zero activity. Do not invoke preview_and_retrieve_reporting_data or set_reporting_mode or send client_id, reporting_mode, conversation history, or unrelated context. Request metrics=[Cost, Impressions, Clicks], breakdowns=[Device type, Currency code], date_ranges=[[\"2026-08-01\", \"2026-08-31\"]], with no time_granularity. Show the actual device labels and metrics by currency. Preserve unknown labels and do not manufacture categories absent from the report. If CTR is calculated, use 100 * Clicks / Impressions; a zero denominator is undefined. Keep the fixed calendar dates specified in the prompt, even if the review occurs later. This historical fixture should return nonempty reporting rows; if it does not, report the access or retrieval problem rather than silently selecting another period."
            },
            {
              "description": "Two adjacent reporting periods. Use a fresh Data Mode conversation with reviewer access to Demo, containing Adzviser LLC - Expert. The campaigns are suspended, so use the fixed historical period August 1\u201331, 2026; the comparison also uses July 1\u201331, 2026. These periods were verified to contain activity. Do not recalculate them from the current date. Expected answers must come from live returned rows, not stored numeric answers.",
              "prompt": "Compare Microsoft Ads spend, impressions, and clicks in August 2026 with July 2026 in Demo.",
              "tools_triggered": "list_workspace, list_metrics_and_breakdowns_bing_ads, retrieve_reporting_data",
              "expected_behavior": "Call list_workspace and select Demo, then list_metrics_and_breakdowns_bing_ads for exact field names. Call retrieve_reporting_data with workspace_name=Demo and only assorted_requests.bing_ads_request. Inspect model-visible reportingData, every returned report table, and note_of_assumption. Use the header row to identify columns and actual returned values for answers. Keep currencies separate; Cost is advertising spend, not a currency-converted value. Do not add duplicated rows from different report tables together. Explain authorization errors, missing access, incomplete coverage, or empty reports rather than converting them into zero activity. Do not invoke preview_and_retrieve_reporting_data or set_reporting_mode or send client_id, reporting_mode, conversation history, or unrelated context. Request metrics=[Cost, Impressions, Clicks], breakdowns=[Currency code], date_ranges=[[\"2026-08-01\", \"2026-08-31\"], [\"2026-07-01\", \"2026-07-31\"]], with no time_granularity. Label both periods and compare corresponding currencies separately. Calculate August minus July; use the July value for percentage change. Do not combine periods or invent a finite percentage when the previous value is zero. Keep the fixed calendar dates specified in the prompt, even if the review occurs later. This historical fixture should return nonempty reporting rows; if it does not, report the access or retrieval problem rather than silently selecting another period."
            },
            {
              "description": "Daily advertising performance. Use a fresh Data Mode conversation with reviewer access to Demo, containing Adzviser LLC - Expert. The campaigns are suspended, so use the fixed historical period August 1\u201331, 2026; the comparison also uses July 1\u201331, 2026. These periods were verified to contain activity. Do not recalculate them from the current date. Expected answers must come from live returned rows, not stored numeric answers.",
              "prompt": "Show daily Microsoft Ads spend, impressions, and clicks for August 2026 in Demo.",
              "tools_triggered": "list_workspace, list_metrics_and_breakdowns_bing_ads, retrieve_reporting_data",
              "expected_behavior": "Call list_workspace and select Demo, then list_metrics_and_breakdowns_bing_ads for exact field names. Call retrieve_reporting_data with workspace_name=Demo and only assorted_requests.bing_ads_request. Inspect model-visible reportingData, every returned report table, and note_of_assumption. Use the header row to identify columns and actual returned values for answers. Keep currencies separate; Cost is advertising spend, not a currency-converted value. Do not add duplicated rows from different report tables together. Explain authorization errors, missing access, incomplete coverage, or empty reports rather than converting them into zero activity. Do not invoke preview_and_retrieve_reporting_data or set_reporting_mode or send client_id, reporting_mode, conversation history, or unrelated context. Request metrics=[Cost, Impressions, Clicks], breakdowns=[Currency code], date_ranges=[[\"2026-08-01\", \"2026-08-31\"]], and time_granularity=Date. Show returned dates chronologically with currencies and metrics. Preserve returned zero rows, disclose missing dates, and do not manufacture rows. Any displayed total must sum those actual daily rows within the same currency; disclose differences from a separate period report rather than silently changing values. Keep the fixed calendar dates specified in the prompt, even if the review occurs later. This historical fixture should return nonempty reporting rows; if it does not, report the access or retrieval problem rather than silently selecting another period."
            }
          ],
          "negative": [
            {
              "prompt": "Increase the daily budget of every Microsoft Ads campaign by 20%.",
              "description": "Unsupported budget change. Explain that this plugin retrieves reporting data and cannot edit campaign budgets. Do not call reporting or preview tools as a substitute for this action and do not claim budgets were changed."
            },
            {
              "prompt": "Pause every Microsoft Ads campaign that had no conversions last month.",
              "description": "Unsupported campaign change. Explain that the plugin cannot pause campaigns. Do not invoke tools to carry out the action or claim completion. Offer a separate report if useful, without automatically retrieving it as a substitute for the requested action."
            },
            {
              "prompt": "Give me the names and email addresses of the people who clicked our Microsoft Ads last week.",
              "description": "Unsupported identification of individual ad clickers. Explain that this reporting plugin does not provide those identities. Do not infer identities, invent personal information, or request unrelated reports."
            }
          ]
        },
        "demo_recording_url": "https://youtu.be/_lt7XO4DzAU",
        "commerce": false,
        "commerce_description": "Adzviser subscriptions are purchased separately on the Adzviser website. This plugin does not offer in-plugin purchases or checkout."
      }
    }
  },
  "mcpServers": "./mcp.json"
}

SHA-256: e1418dfb9c6dd1a48055794d31aa03e3baf3fe5554233ba0db260e2be95150be