← Files Toffu for X AdsARCHIVED FILE
plugin.json
5.65 KB · Nov 10, 2026 · 07:32 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "toffu-x-ads",
"version": "1.0.0",
"description": "Toffu for X Ads: performance, campaign changes and audits for X Ads 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": [
"x ads",
"twitter ads",
"promoted posts",
"line items",
"x ads manager",
"return on ad spend",
"ad spend",
"paid social",
"paid media",
"campaign management"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Toffu for X Ads",
"shortDescription": "Analyze and edit X Ads",
"longDescription": "Toffu connects ChatGPT to your X Ads account. Sign in with X.\n\nAsk about spend, conversions and return on ad spend for any date range. List campaigns, line items and promoted posts, create campaigns and line items, and pause campaigns or change line item budgets. Every change is staged first: Toffu shows you a preview, and nothing reaches your X Ads account until you confirm.\n\nAlready use Toffu? Sign in, and your connected X Ads accounts are ready.",
"developerName": "Toffu AI",
"category": "Business & Operations",
"capabilities": [
"X Ads spend, conversions and return on ad spend for any date range",
"List campaigns, line items and promoted posts",
"Create campaigns and line items, and pause or rebudget them, 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 X Ads campaigns spent the most in the last 7 days, and what was the return on ad spend for each?",
"List my X Ads campaigns with their status.",
"Pause my X trail film campaign."
],
"brandColor": "#3F8A34",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "X Ads performance",
"prompt": "Which of my X Ads campaigns spent the most in the last 7 days, and what was the return on ad spend for each?",
"tools_triggered": "query_campaign_performance",
"expected_behavior": "Returns the sample brand's three X campaigns ranked by spend in USD, with conversions, conversion value and return on ad spend. Sample data is relative to today; the top spender is normally 'Stride | Conversions | Stride Air Launch' at about 3x return, and 'Stride | Video Views | Trail Film' returns less than it spends."
},
{
"description": "List campaigns",
"prompt": "List my X Ads campaigns with their status.",
"tools_triggered": "list_campaigns",
"expected_behavior": "Lists 'Stride | Website Traffic | Race Season', 'Stride | Conversions | Stride Air Launch' and 'Stride | Video Views | Trail Film', all ACTIVE, with their ids."
},
{
"description": "Line items and promoted posts of a campaign",
"prompt": "Show the line items and promoted posts in my X campaign 'Stride | Website Traffic | Race Season'.",
"tools_triggered": "list_campaigns, list_ad_sets, list_ads",
"expected_behavior": "Shows the line items 'Marathon and race followers | US' (40 USD daily) and 'Followers of running brands | US' (30 USD daily), each with one promoted post and its post id."
},
{
"description": "Pause a campaign, applied only after confirmation",
"prompt": "Pause my X campaign 'Stride | Video Views | Trail Film'.",
"tools_triggered": "list_campaigns, propose_update_campaign, apply_change",
"expected_behavior": "Toffu shows a preview of the change from ACTIVE to PAUSED and asks for confirmation. Only after the user confirms does apply_change pause it. The account is simulated, so nothing real changes."
},
{
"description": "Change a line item budget, applied only after confirmation",
"prompt": "Raise the daily budget of my X line item 'Purchaser lookalikes | US' to 130 USD.",
"tools_triggered": "list_ad_sets, propose_update_ad_set, apply_change",
"expected_behavior": "Toffu first shows a preview of the daily budget going from 110 to 130 USD and asks for confirmation. Only after the user confirms does apply_change update the line item."
}
],
"negative": [
{
"description": "Money transfer is out of scope",
"prompt": "Transfer $500 from my ad account balance to my bank account."
},
{
"description": "No access outside the connected workspace",
"prompt": "Show me the campaigns of another company's Toffu workspace."
},
{
"description": "No change without confirmation",
"prompt": "Pause all my X campaigns 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: X Ads performance and campaign changes in ChatGPT, with a preview you confirm before anything changes."
},
"apps": "./.app.json"
}
}
}
SHA-256: 472f939a3942bdb9a7d71442ce9aed09f0f87cbf86c2180e5f2c6be112c8cad1