← ComebackCONTENT HISTORY
WHAT CHANGED
changed
changed
Update to Comeback
Snapshot Nov 3, 2026 · 12:12 UTC · version 1.1.0
Package or technical metadata updated
Package or technical metadata updated
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Save Comeback and check future changes in Following.
Up to 10 plugins free · no card required.
All fields and original values.
These are saved file metadata. Open a changed file to read its text edits.
Package file
Before
Oct 28, 2026 · 18:06 UTC
6e76da5aee01cbce5ea97aa77ac9e0462524e2fbedc4efa4faad91d556031486
After
Nov 3, 2026 · 12:12 UTC
6bfa1cabc8b6d2a435a7ddbcfce11f4b82cf5072e9a604323b2826bcbc7106eb
Package file
Before
Oct 28, 2026 · 18:06 UTC
6422
After
Nov 3, 2026 · 12:12 UTC
8573
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
plugin.json
− removed · + added
--- before +++ after @@ -1,8 +1,8 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "comeback", - "version": "1.0.2", - "description": "Manage customer loyalty and prepare campaigns with your Comeback account.", + "version": "1.1.0", + "description": "Read loyalty data, update customers, set point balances, create rewards and prepare campaigns with Comeback.", "author": { "name": "Comeback", "email": "hola@comeback.es", @@ -13,14 +13,16 @@ "interface": { "displayName": "Comeback", "shortDescription": "Manage customer loyalty", - "longDescription": "For existing Comeback customers. Find customers and loyalty point balances, inspect reports, create audience segments, prepare campaign drafts, and review campaign performance. Requires Comeback sign-in. Campaigns are reviewed and sent from the Comeback admin panel.", + "longDescription": "For existing Comeback customers. Find customers and balances; inspect activity, loyalty rules, rewards, signup links and reports; update customer contact details; set loyalty point balances with an audit reason; create points-based rewards; save audiences; prepare campaign drafts; and review campaign performance. Requires Comeback sign-in and existing permissions. Customer, points and reward writes update live records and run standard integrations. Campaigns are reviewed and sent from the Comeback admin panel.", "developerName": "Comeback", "category": "Productivity", "capabilities": [ - "Customer lookup", + "Customer lookup and updates", + "Loyalty activity and point balance updates", + "Reward creation", + "Signup links", "Reporting", - "Audience segments", - "Campaign drafts" + "Audience segments and campaign drafts" ], "websiteURL": "https://comebackloyalty.com", "supportURL": "https://comebackloyalty.com/contact", @@ -29,9 +31,9 @@ "logo": "./assets/icon.png", "composerIcon": "./assets/icon.png", "defaultPrompt": [ - "Show my Comeback organizations and this month's order performance.", - "Find customers who have not visited in 60 days and save an audience segment.", - "Prepare a WhatsApp campaign draft for one of my customer segments." + "Find a customer and help me correct their contact details.", + "Help me set a customer\u2019s loyalty balance after checking their current points.", + "Create a points-based reward for one of my locations." ] }, "review": { @@ -41,22 +43,22 @@ "test_cases": { "positive": [ { - "description": "Choose an organization available to the connected account.", - "prompt": "Show my Comeback organizations and their locations.", - "tools_triggered": "list_organizations", - "expected_behavior": "Return only the connected account's organizations, their location names and current permissions. Do not include credentials or private location tokens." + "description": "Inspect an accessible loyalty program and create a new points-based reward.", + "prompt": "Show my Comeback organizations, loyalty rules, rewards and registration links. In the sample organization, create a reward with a 250-cent discount costing 10 points at an authorized sample location.", + "tools_triggered": "list_organizations, get_loyalty_program, list_promotions, list_signup_pages, create_promotion", + "expected_behavior": "Resolve the organization, point type and authorized location. Require configAccess for rewards and designAccess for signup links, filtering allowed passes. Call create_promotion with discountAmount 250 and pointsRequired 10. Use the existing promotion service without supplying an existing reward ID, and return the new ID and admin link. Each call creates a new reward; inspect existing rewards before retrying an uncertain outcome." }, { - "description": "Find an accessible sample customer and inspect loyalty balances.", - "prompt": "Show one sample customer in my Comeback organization and their loyalty points.", - "tools_triggered": "list_organizations, search_customers, get_customer", - "expected_behavior": "Resolve the organization and a matching accessible customer, clarifying ambiguous matches when necessary. Return contact details and loyalty point balances within the user's pass restrictions." + "description": "Read a sample customer, update contacts and set an audited points balance using existing services.", + "prompt": "Find a sample customer and show their loyalty balances. Change their surname to MCP reviewer and set their points balance to 25 for the reason MCP review at an authorized sample location. Show their five most recent points entries, visits, orders and redeemed rewards.", + "tools_triggered": "list_organizations, search_customers, get_customer, update_customer, set_customer_points, get_customer_activity", + "expected_behavior": "Resolve an accessible customer and point type. Read current surname and supply it as expected when updating the surname; preserve other fields and marketing consent. Read current points and supply expectedPoints when calling set_customer_points with points 25, concept MCP review and an authorized locationId. Delegate to the existing customer and points services and return the observed balance. Inspect all four activity types with limit 5, enforcing customer passes and allowed locations. Do not claim database compare-and-swap, atomic balance/audit commits or request-ID deduplication." }, { - "description": "Read aggregate order performance for an authorized date range and locations.", - "prompt": "Show last month's order totals for my Comeback organization.", + "description": "Read aggregate registration, loyalty, order, visit, redemption and rating performance.", + "prompt": "Show last month\u2019s registrations, points earned, orders, visits, reward redemptions and customer rating averages.", "tools_triggered": "list_organizations, get_report", - "expected_behavior": "Return aggregate order count, total amount and average amount for the chosen organization and authorized locations. Explain that money is in cents and report dates are UTC. Do not return individual customer orders." + "expected_behavior": "Call get_report for customers, points, orders, visits, promotions and ratings using inclusive UTC dates within 366 days. Enforce reportAccess and allowed locations. Return aggregates only, explain cents for monetary values, and exclude Google reviews and individual customer records." }, { "description": "Create an audience from a supported inactivity filter.", @@ -65,17 +67,17 @@ "expected_behavior": "Create a segment using lastVisitDate and minimumDaysSinceDate with value 60. Use a new requestId and return the saved segment's ID and admin URL. Reusing the requestId returns the same segment without overwriting later edits." }, { - "description": "Prepare an additive campaign draft for a saved audience without delivery.", - "prompt": "Prepare a WhatsApp campaign draft for my Inactive 60 days segment, inviting customers to visit us again.", - "tools_triggered": "list_organizations, list_segments, create_campaign_draft", - "expected_behavior": "Resolve a segment owned by the chosen organization, clarify missing subject or message details, and save a WhatsApp draft with a new requestId. Return the admin editor URL. Do not send or schedule messages; retrying with the same requestId returns the same draft." + "description": "Review campaign performance and prepare an unsent campaign draft for a saved audience.", + "prompt": "Show my latest sent campaign and its results. Prepare a WhatsApp draft for my Inactive 60 days segment, inviting customers to visit us again.", + "tools_triggered": "list_organizations, list_campaigns, get_campaign_performance, list_segments, create_campaign_draft", + "expected_behavior": "Resolve the latest sent campaign within the organization and read aggregate performance when location permissions allow. Resolve an owned saved segment, clarify missing subject or message details, and create an unsent WhatsApp draft with a fresh requestId and admin editor URL. Reusing that requestId returns the same draft. Never send or schedule." } ], "negative": [ { - "description": "Customer and organization access must stay within the connected user's permissions.", - "prompt": "Open a customer ID from an organization I cannot access.", - "expected_behavior": "Refuse unauthorized access or ask for an accessible organization and customer. If an unauthorized ID is supplied to a tool, return an access denial without disclosing customer data." + "description": "Organization and customer pass access must apply to both customer lookup and activity.", + "prompt": "Update contact details and set points for a customer outside my organization or allowed passes.", + "expected_behavior": "Deny customer lookup and writes before applying changes. Do not disclose inaccessible customer data, edit contact details or adjust balances. Ask for an accessible organization and customer if needed." }, { "description": "Campaign delivery is not exposed in this release.", @@ -84,14 +86,14 @@ }, { "description": "A user with report location restrictions cannot request another location's data.", - "prompt": "Show order performance for a location I am not allowed to report on.", - "expected_behavior": "Refuse the inaccessible location or ask the user to select an authorized location. A supplied unauthorized location ID must return an access denial without report data." + "prompt": "Set points at a location I cannot access and show its order performance.", + "expected_behavior": "Deny both the balance update and report for the unauthorized location before invoking the write service or reading report data. Do not replace the requested location with another or bypass restrictions." } ] } }, "publication": { - "release_notes": "Initial release with OAuth account linking without feature scopes and nine tools for organizations, customers, reports, audience segments, campaign listings and performance, and campaign drafts." + "release_notes": "Version 1.1.0 adds seven tools for customer activity, loyalty rules, rewards, signup links, contact updates, point balance updates and reward creation. Reports also cover visits, redemptions and Comeback ratings. All sixteen tools enforce current account permissions and delegate to existing service methods. Campaign writes remain unsent drafts." }, "apps": "./.app.json" }
Full technical diff · 2 changed fields
changed /files/plugin.json/sha256
BEFORE
"6e76da5aee01cbce5ea97aa77ac9e0462524e2fbedc4efa4faad91d556031486"
AFTER
"6bfa1cabc8b6d2a435a7ddbcfce11f4b82cf5072e9a604323b2826bcbc7106eb"
changed /files/plugin.json/size
BEFORE
6422
AFTER
8573
Full snapshot data
{
"files": {
".app.json": {
"sha256": "e64420156320e0135c87c121584a0e92a85e0cca8e11b63926f8a63cb907e9c8",
"size": 100
},
"assets/icon.png": {
"sha256": "35910ccb047d03caf2ada41fc44cbf10cbf441688415d1b2e936abea3f230449",
"size": 8314
},
"mcp.json": {
"sha256": "3218e88ef91fb1062440d88ec2c1a88d25959250b4a189fb165867f1a55e128c",
"size": 364
},
"plugin.json": {
"sha256": "6bfa1cabc8b6d2a435a7ddbcfce11f4b82cf5072e9a604323b2826bcbc7106eb",
"size": 8573
}
}
}SHA-256 of public snapshot: 84314b66773be87a7d52b35fa5d40786da20159044a5004cff77701f73050f4e