← Files easySalesARCHIVED FILE

plugin.json

6.63 KB · Nov 2, 2026 · 13:17 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "easysales",
  "version": "1.0.1",
  "description": "Connect ChatGPT to easySales CRM to manage customer information and sales workflows.",
  "author": {
    "name": "Sharker Technology Pte Ltd"
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "easySales",
        "shortDescription": "CRM and sales management",
        "longDescription": "Connect ChatGPT to easySales CRM to find customers and contacts, manage follow-up tasks, and work with quotations and invoices within your account permissions. Requires an existing easySales account connected through OAuth. The integration manages business and payment records; it does not charge cards or transfer money.",
        "developerName": "Sharker Technology Pte Ltd",
        "defaultPrompt": [
          "Find a customer in easySales and summarize their contact details.",
          "Show my open follow-up tasks in easySales.",
          "Find a quotation in easySales and summarize its status and total."
        ],
        "websiteURL": "https://easysales.work",
        "supportURL": "https://easysales.work/contact/",
        "privacyPolicyURL": "https://easysales.work/privacy/",
        "termsOfServiceURL": "https://easysales.work/terms-of-service/",
        "logo": "assets/icon.png",
        "composerIcon": "assets/icon.png",
        "category": "Productivity"
      },
      "review": {
        "commerce": false,
        "commerce_description": "The plugin is provided free to easySales SaaS users. It manages CRM, quotation, invoice, and payment records; it does not execute purchases, charge users, or transfer money.",
        "demo_recording_url": "https://netorg261925-my.sharepoint.com/:v:/g/personal/david_sharker_com_sg/IQDSHoBRjWkURZjOPR-wxiE8AalTjA6z2vSNqy_Ppf6eU9o",
        "test_cases": {
          "positive": [
            {
              "description": "Demo Admin test account must have the seeded customers. Verify bounded newest-first customer listing and usable source links. Read-only workflow.",
              "prompt": "List the three most recent customers I can access in easySales, with their names and record links.",
              "tools_triggered": "account.search, page=0, pageSize=3.",
              "expected_behavior": "Return at most three customers from returned rows in server order, with returned record links and total if available. Do not invent customer details or modify records."
            },
            {
              "description": "Use the seeded Hillview Semiconductor Test Pte Ltd customer; rehearsal observed account ID 1000000166. ID must be resolved from current search results rather than assumed.",
              "prompt": "Find Hillview Semiconductor Test Pte Ltd in easySales and show its full customer profile.",
              "tools_triggered": "account.search, q=Hillview Semiconductor Test Pte Ltd; account.get with the ID resolved from search.",
              "expected_behavior": "Show only fields returned in the full record and the returned link. If multiple matches occur, clarify selection. If unavailable, explain without inventing a profile."
            },
            {
              "description": "Demo Admin has seeded quotations including Open records. Exercise valid status filtering, distinct from customer listing.",
              "prompt": "Show up to five open quotations in easySales.",
              "tools_triggered": "quotation.search, filters containing Status in [Open], page=0, pageSize=5.",
              "expected_behavior": "Return only Open quotations from the response, up to five, with returned numbers and source links. Use the correct currency/meaning for any displayed amount. No mutation."
            },
            {
              "description": "Seeded quotation QN-10000067 was observed as Open, with three lines, SGD 8789.40 subtotal and SGD 9580.4460 stored total. Reconfirm against actual current response if test data changes.",
              "prompt": "Read quotation QN-10000067 in easySales and show its customer, status, currency, line items, tax and total including tax.",
              "tools_triggered": "quotation.search, q=QN-10000067; quotation.get with ID resolved from the search.",
              "expected_behavior": "Show fields from the full quotation response, including three lines when fixture is unchanged. Display SGD 9580.45 if rounding the current stored total 9580.4460; preserve currency and explain rounding. Link to the returned record. Do not edit."
            },
            {
              "description": "Demo Admin personal To Do was observed empty. Exercise truthful empty-state handling, without claiming company-wide tasks are absent.",
              "prompt": "Show my current easySales To Do items. If there are none, say so clearly.",
              "tools_triggered": "todo.list, using its supported arguments.",
              "expected_behavior": "Report returned items accurately, or explicitly say this user has no returned To Do items. Do not fabricate tasks, date filters, per-category counts or company-wide conclusions absent from tool output. No mutation."
            }
          ],
          "negative": [
            {
              "description": "Real card charging is outside the integration. Explain this limitation and distinguish payment-record management from money movement. Do not call payment-record mutations or other tools to simulate a charge.",
              "prompt": "Charge this customer\u2019s credit card for quotation QN-10000067 using easySales."
            },
            {
              "description": "The integration has no external credit-bureau capability. Explain that live bureau ratings cannot be obtained through easySales; do not invent ratings or invoke unrelated CRM tools as though they fetch bureau data.",
              "prompt": "Use easySales to obtain a live credit-bureau rating for this customer."
            },
            {
              "description": "The integration can manage CRM activities but cannot purchase travel. Explain the booking limitation; do not create a CRM activity as if a ticket was booked and do not claim a purchase occurred.",
              "prompt": "Use easySales to book and pay for a flight for my customer visit."
            }
          ]
        }
      },
      "publication": {
        "countries": [],
        "release_notes": "Initial public-directory release of the easySales CRM integration. Connect an existing easySales account through OAuth to access customer records, follow-up work, quotations and invoices within your account permissions. The integration manages records and does not execute actual payments."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 1f7850eae9f8924a8a8080e621aef6c33bdb21f601e83095695e2bfe85bd7847