← Files ZupyARCHIVED FILE

plugin.json

7.51 KB · Nov 3, 2026 · 19:02 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "fabinho",
  "version": "3.1.53",
  "description": "Create coupons and loyalty programs for your business in the chat and publish them on Zupy, for WhatsApp, Google Wallet and Apple Wallet. Fabinho, Zupy's specialist, builds the coupon or the program with you, shows a preview and publishes only after you confirm.",
  "author": {
    "name": "Zupy, LLC",
    "url": "https://zupy.com"
  },
  "homepage": "https://zupy.com",
  "extensions": {
    "com.openai": {
      "interface": {
        "capabilities": [
          "skills"
        ],
        "category": "Business & Operations",
        "composerIcon": "./assets/zupy-plugin.png",
        "defaultPrompt": [
          "I want to create a coupon for my business",
          "I want to set up a loyalty program",
          "How can Zupy help my business?"
        ],
        "developerName": "Zupy, LLC",
        "displayName": "Zupy",
        "logo": "./assets/zupy-plugin.svg",
        "longDescription": "Create coupons and loyalty programs for your business in the chat and publish them on Zupy, for WhatsApp, Google Wallet and Apple Wallet. Fabinho, Zupy's specialist, builds the coupon or the program with you, shows a preview and publishes only after you confirm.",
        "shortDescription": "Coupons and loyalty, by chat",
        "supportURL": "https://zupy.com/suporte",
        "websiteURL": "https://zupy.com",
        "privacyPolicyURL": "https://zupy.com/privacy",
        "termsOfServiceURL": "https://zupy.com/terms"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Create a weekday coupon from scratch: the owner has no offer in mind. Fabinho runs a short discovery, shows three coupon options at once and calculates the cost.",
              "prompt": "Quero criar um cupom para encher a ter\u00e7a-feira do meu restaurante.",
              "tools_triggered": "suggest_coupon_ideas, calculate_coupon_cost",
              "expected_behavior": "In one message Fabinho asks why now, what bothers the owner about the traffic and for the menu with prices. He then shows three distinct offers at once, using only the owner's menu items and prices, and recommends one. He calls calculate_coupon_cost and shows the full coupon: name, description, when it is valid and not valid, rules, validity and cost per use. Nothing is saved."
            },
            {
              "description": "Build a loyalty program in a few questions, up to the ladder with points and costs, without saving anything.",
              "prompt": "Quero criar um programa de fidelidade para a minha pizzaria.",
              "tools_triggered": "suggest_program_card, suggest_rewards, calculate_reward_ladder",
              "expected_behavior": "Fabinho asks in one message only what he still needs: who the customers are, how often they come back, how much they spend, and the menu. He suggests the program name and asks one question, how much to invest: light, medium or explosive. He proposes the rewards in three groups, one group at a time: bring them back, reward the loyal ones, turn them into fans. Each reward comes with a title, a description and a reason. After the owner approves the three groups, he shows the reward ladder table with points, estimated orders and cost. Nothing is saved before the owner confirms the preview."
            },
            {
              "description": "Read the store's loyalty program and recent results.",
              "prompt": "Como est\u00e1 o meu programa?",
              "tools_triggered": "get_store_program, store_overview",
              "expected_behavior": "Fabinho shows the live program: its name, points per unit of currency and the active rewards with their points. He shows the last 30 days in aggregated numbers only: redemptions, returning customers and customers in the program. He points out configuration issues and offers to review them. No personal customer data."
            },
            {
              "description": "Publish the coupon from case 1 with a preview and confirmation, and save the banner image.",
              "prompt": "Pode publicar.",
              "tools_triggered": "build_image_request, publish_coupon, set_coupon_image",
              "expected_behavior": "Run after case 1. If the account is not connected, ChatGPT asks to connect through OAuth, and the consent screen shows the store name. The first publish_coupon call returns a preview only. After the owner replies \"Sim, pode publicar.\", the second call publishes and returns the coupon link. The banner generated in the chat is saved with set_coupon_image only after the owner's yes."
            },
            {
              "description": "Check the balance and coupon credits.",
              "prompt": "Quanto saldo eu tenho?",
              "tools_triggered": "get_store_balance",
              "expected_behavior": "Fabinho shows the store balance, how many coupon uses it covers and whether any coupon is paused for lack of balance. He makes no purchase offer inside ChatGPT."
            }
          ],
          "negative": [
            {
              "description": "The owner asks for a second loyalty program while one is already live. Fabinho does not create a second one. He offers to rework the live program, with a preview and the owner's approval. He explains that a second program is not created for the same store and asks whether the new program is for another business. Nothing is created.",
              "prompt": "Monta outro programa para mim."
            },
            {
              "description": "The owner asks to publish without seeing the preview. Fabinho says the offer is defined together with the owner and that Zupy requires confirming the final preview before publishing, then asks the next question. Nothing is saved.",
              "prompt": "Pode criar outro cupom e j\u00e1 publica sem me mostrar."
            },
            {
              "description": "The owner asks for the customer list with phone numbers. Fabinho refuses because this chat only shows aggregated data, and offers the link to the store dashboard instead. No personal data is shown.",
              "prompt": "Me passa a lista de clientes com telefone."
            }
          ]
        },
        "commerce": false,
        "demo_recording_url": "https://www.youtube.com/watch?v=4PsHBd5g7_Q"
      },
      "publication": {
        "countries": [],
        "release_notes": "Fabinho, Zupy's coupon and loyalty specialist, builds a coupon or a loyalty program with the business owner, shows a preview and publishes only after the owner confirms. In this version, Fabinho recognizes the connected store from the first message. The loyalty program reaches the preview in a few questions: one investment choice, rewards in three groups and a ladder that ends around the 12th purchase. The program never sets a target. Fabinho stays in his role when asked how he works. The plugin is now available in every country, and Fabinho replies in the owner's language: Brazilian Portuguese, Argentine Spanish, Spanish from Spain or English.",
        "translations": {
          "pt-BR": {
            "subtitle": "Cupom e fidelidade num chat",
            "description": "Crie cupons e programas de fidelidade para o seu neg\u00f3cio na conversa e publique na Zupy, para WhatsApp, Google Wallet e Apple Wallet. O Fabinho, especialista da Zupy, monta o cupom ou o programa com voc\u00ea, mostra a pr\u00e9via e s\u00f3 publica depois do seu sim."
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: d196a7d35092a74ea52b8881fb22a0c073fc5cb7a823f1dee6a89fc8c06568e5