← Files CRM ConnectorARCHIVED FILE

plugin.json

18.5 KB · Nov 3, 2026 · 00:12 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "crm-connector",
  "version": "1.1.2",
  "description": "The integration hub for your CRM, field service and accounting apps, in two parts: integrations that keep two of your systems in sync, planned in the chat, and AI agents that read, change and automate one of your systems, on request.",
  "author": {
    "name": "CRM Connector",
    "email": "support@crm-connector.com",
    "url": "https://crm-connector.com"
  },
  "homepage": "https://crm-connector.com/platform",
  "keywords": [
    "crm",
    "accounting",
    "field service",
    "sync",
    "integration",
    "integrations",
    "crm integration",
    "crm integrations",
    "accounting integration",
    "accounting integrations",
    "field service integration",
    "field service integrations",
    "app integration",
    "app integrations",
    "integration hub",
    "connector",
    "connectors",
    "connect apps",
    "crm sync",
    "data sync",
    "contact sync",
    "invoice sync",
    "two way sync",
    "sync apps",
    "invoices",
    "gohighlevel",
    "highlevel",
    "ghl",
    "go high level",
    "quickbooks",
    "quickbooks online",
    "xero",
    "jobber",
    "hubspot",
    "pipedrive",
    "salesforce",
    "zoho",
    "zoho crm",
    "zoho books",
    "keap",
    "infusionsoft",
    "activecampaign",
    "servicem8",
    "simpro",
    "housecall pro",
    "companycam",
    "freshbooks",
    "freeagent",
    "square",
    "stripe",
    "woocommerce",
    "google sheets",
    "spreadsheet",
    "excel",
    "csv",
    "ai agents",
    "ai agent",
    "ai analyst",
    "workflows",
    "workflow",
    "automations",
    "automation",
    "crm automation",
    "small business",
    "service business"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "CRM Connector",
        "shortDescription": "Sync and automate your apps",
        "longDescription": "The integration hub for your CRM, field service and accounting apps. One plugin, two separate parts: integrations between two of your systems, and AI agents inside one of them. It connects the CRM, field service, accounting and online store systems small businesses run on. Don't see your system? Request it, right in the chat.\n\nPart 1. Integrations between two systems\nPlanned in the chat, then they keep two of your systems in sync by themselves, so a new customer, a won deal or a paid invoice shows up where your team works without copying it by hand.\n- See which systems connect and what two systems can sync, no account needed\n- Choose the records that travel, one way or both ways, and the moment they travel: when paid, won, accepted or overdue\n- Ready rules, such as a won deal that becomes a draft invoice\n- Which fields go across, and how each system connects\n- Plan it in the chat and get a link that opens the setup prefilled\n- For CRM Connector customers: your integrations, what failed and why, sync now, pause or resume\n\nPart 2. AI Agents inside one system\nAn AI agent works with the records of one of your systems. Request your system right in the chat: we arrange the setup and enable it for your account, then you sign in to it.\n- AI Analyst: it reads your customer data, such as contacts, deals and invoices, and finds the same customer in your other connected systems\n- AI Agent: it also changes records when you ask, each change shown first, risky ones approved by you in CRM Connector\n- Automations: fixed rules inside that one system (when this happens, only if, then do that), made in the chat, approved once by you in CRM Connector, then run by the platform by itself\n- A change log with undo where the system allows it\n- Nothing in AI Agents syncs between two systems: that is an integration\n\nYou stay in control:\n- You choose per system and per record type what the assistant may see or change\n- Changing records is a separate permission on the consent page, off unless you allow it\n- An automation never runs before you approve it, and you can pause or remove it at any time\n- It never deletes a record and never records a payment\n- It runs or pauses an integration only when you ask and confirm, and never deletes one\n- Disconnect at any time in CRM Connector under Settings, AI Assistants",
        "developerName": "CRM Connector",
        "category": "Business & Operations",
        "capabilities": [
          "Integrations: see what two systems can sync, and plan one in the chat",
          "Integrations: pick the records, the direction, the moment and ready rules",
          "Integrations: check your integrations, what failed and why",
          "AI Agents: read and update one system's records, with undo",
          "AI Agents: automations you approve once, then run by the platform"
        ],
        "websiteURL": "https://crm-connector.com/platform",
        "supportURL": "https://crm-connector.com/contact",
        "privacyPolicyURL": "https://crm-connector.com/privacy-policy",
        "termsOfServiceURL": "https://crm-connector.com/terms-of-use",
        "defaultPrompt": [
          "What can CRM Connector Platform do for my CRM, field service and accounting systems?",
          "With CRM Connector Platform, when a deal is won in my CRM, make a draft invoice in my accounting system.",
          "Which of my CRM Connector Platform integrations had failures this week, and why?"
        ],
        "brandColor": "#0227B6",
        "brandColorDark": "#60A5FA",
        "composerIcon": "./assets/composer-icon.png",
        "logo": "./assets/logo.png"
      },
      "onboardingSkill": "./skills/set-up-a-sync/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Catalogue question without signing in: which systems CRM Connector connects.",
              "prompt": "Which integrations does CRM Connector offer?",
              "tools_triggered": "find_sync_options",
              "expected_behavior": "Calls find_sync_options without a system, no sign in needed. Names the plugin's two parts, kept apart: integrations between two systems and AI Agents inside one system. For integrations it lists the systems CRM Connector connects (for example QuickBooks Online, Xero, HubSpot, Pipedrive, Salesforce, Jobber), says which systems each one pairs with and that Jobber only receives records, and offers to show what travels between two of them. It does not ask the person to connect a CRM Connector account."
            },
            {
              "description": "How to connect a system, without signing in.",
              "prompt": "How do I connect GoHighLevel to CRM Connector, and what do I need?",
              "tools_triggered": "get_connection_guide",
              "expected_behavior": "Calls get_connection_guide with system gohighlevel. Says GoHighLevel connects with a Private Integration Token and a Location ID, where each is found in GoHighLevel, the steps in CRM Connector, that the Calendar ID is only needed when appointments sync, and shares the link that opens the setup."
            },
            {
              "description": "Whether a particular field travels, without signing in.",
              "prompt": "When my QuickBooks Online invoices go into Jobber, does the due date go along?",
              "tools_triggered": "get_field_details",
              "expected_behavior": "Calls get_field_details with source_system quickbooks, target_system jobber and record_type invoice. Answers that the due date travels, lists the other fields that travel and how, names what does not travel, and shares the link that opens the setup."
            },
            {
              "description": "Catalogue question without signing in: what two systems can sync.",
              "prompt": "Can I sync Pipedrive with Xero? What goes across?",
              "tools_triggered": "find_sync_options",
              "expected_behavior": "Calls find_sync_options with system pipedrive and other_system xero, no sign in needed. Says two record types can travel from Pipedrive into Xero: contacts, both ways, and won deals that become draft invoices in Xero (when created or when won, with a sync from date). Adds that the other way, Xero into Pipedrive, can be set up as its own integration."
            },
            {
              "description": "Turn a described integration into a plan with a prefilled setup link, without signing in.",
              "prompt": "When a deal is won in HubSpot, I want a draft invoice in QuickBooks Online. Can you set that up?",
              "tools_triggered": "find_sync_options, plan_integration",
              "expected_behavior": "Calls plan_integration with source_system hubspot, target_system quickbooks and record_types deal_to_invoice (optionally find_sync_options first). Answers that the plan is HubSpot into QuickBooks with contacts plus won deals that become draft invoices, explains that contacts were added because invoices point at a contact, that a sync from date is needed so past deals are not turned into invoices, and shares a link starting with https://platform.crm-connector.com/integrations/select-systems that opens the setup prefilled. Nothing is created by the tool."
            },
            {
              "description": "Signed in: list the integrations of the connected account.",
              "prompt": "Which integrations do I have in CRM Connector, and are they running?",
              "tools_triggered": "list_integrations",
              "expected_behavior": "On first use ChatGPT asks to connect CRM Connector; after signing in with the test account and selecting Allow, it calls list_integrations and lists the three integrations of the test account: QuickBooks into Xero, QuickBooks into HubSpot and Xero into HubSpot, each one way, with its status in plain words (for example Syncing), its record types and when it last synced. No customer names, emails or amounts appear."
            },
            {
              "description": "Signed in: what failed and why.",
              "prompt": "What failed in my CRM Connector syncs this week, and why?",
              "tools_triggered": "get_sync_health",
              "expected_behavior": "Calls get_sync_health (days 7). Answers with totals for the period and the failed records grouped by integration, record type and readable reason with a count per reason, plus the records waiting on a related record and what they wait on. If nothing failed it says so. Reasons never quote record contents such as names, emails or amounts."
            },
            {
              "description": "Signed in: when one integration last ran and what it did.",
              "prompt": "When did my QuickBooks to Xero sync last run, and what did it do?",
              "tools_triggered": "list_integrations, get_sync_health",
              "expected_behavior": "Calls list_integrations to find the id of the QuickBooks into Xero integration of the test account, then get_sync_health with that integration_id and include recent_syncs. Answers with the moment of the latest sync (UTC), its outcome and per record type how many records were read, written, skipped (with the skip reasons) and failed."
            },
            {
              "description": "AI Agents explained without signing in: connecting your own system to the CRM Connector MCP server, and how to request it.",
              "prompt": "Can ChatGPT work with the customer data in my own CRM through CRM Connector Platform?",
              "tools_triggered": "get_ai_agents_info",
              "expected_behavior": "Calls get_ai_agents_info, no sign in needed. Explains AI Agents as the part of the plugin that works inside one system: the person's own system is connected to the CRM Connector MCP server; AI Analyst reads its customer data, AI Agent also changes records when asked, every change shown first and risky ones approved by the person in CRM Connector, and can keep automations running (fixed rules inside that system the person approves once); it never deletes a record or records a payment, and it does not sync between two systems. Says how to get it: request the system (with send_request, kind ai_access, read or read_write and what the assistant should do, once the person confirms, or with the form https://crm-connector.com/platform/ai-access#request), CRM Connector arranges the setup and enables it for the account, then the person signs in to it. It names no system as available for AI Agents and no prices or fees."
            },
            {
              "description": "AI Agents: the system enabled for the signed in account.",
              "prompt": "Which of my systems can you work with through CRM Connector, and what may you do in each?",
              "tools_triggered": "get_ai_agents_info",
              "expected_behavior": "Signed in with the test account (Allow with \"Read your records\" ticked), it calls get_ai_agents_info and names the one system enabled for the test account, with its package AI Agent and per record type whether the assistant may read or also change it. It does not invent other systems."
            },
            {
              "description": "AI Agents: search records in the connected system.",
              "prompt": "Search the contacts in my connected system and show me the first five, with their email.",
              "tools_triggered": "get_ai_agents_info, search_records",
              "expected_behavior": "Calls get_ai_agents_info for the system id, then search_records for contacts. Lists up to five sample contacts of the test system with name and email as that system holds them, and says nothing was changed."
            },
            {
              "description": "AI Agents: propose a change, apply it only after the person agrees, then undo it.",
              "prompt": "Change the job title of the first of those contacts to Reviewer, then undo it.",
              "tools_triggered": "propose_changes, apply_proposal, undo_change",
              "expected_behavior": "Needs \"Make changes you agree to\" ticked on the consent page. Calls propose_changes and shows the before and after of the job title, asks for confirmation and only after a yes calls apply_proposal, reporting the change as written. Then calls undo_change and reports the old job title back. Nothing else changes."
            },
            {
              "description": "AI Agents: propose an automation inside the connected system; nothing runs before the person approves it.",
              "prompt": "In my connected system, whenever a deal is won, add a task \"Kick-off call\" due in two days. Set that up as an automation.",
              "tools_triggered": "get_ai_agents_info, describe_record_type, propose_automation",
              "expected_behavior": "Needs \"Make changes you agree to\" ticked on the consent page. Finds the system with get_ai_agents_info, asks which AI agent when there is more than one, finds the stage field and its stages with describe_record_type (include stages), then describes the rule in plain words (when a deal becomes won, add a task Kick-off call due in two days, from now on) and asks for a yes. Only after a yes it calls propose_automation and answers with the rule as one sentence, how many deals it would have acted on in the last 30 days with examples, and the approval link, saying nothing runs until the person approves it there. It does not approve or switch on the rule itself, and nothing is written in the system."
            },
            {
              "description": "AI Agents: add a note to a deal through propose_changes with action add_note; nothing is written before the person agrees.",
              "prompt": "Add a note to my deal Riverside renovation in my connected system: the customer asked for the quote by Friday.",
              "tools_triggered": "get_ai_agents_info, search_records, propose_changes, apply_proposal",
              "expected_behavior": "Needs \"Make changes you agree to\" ticked on the consent page. Asks which AI agent when there is more than one, finds the deal with search_records, calls propose_changes with action add_note and that deal in items, shows the proposed note, asks for confirmation and only after a yes calls apply_proposal. Nothing else changes."
            }
          ],
          "negative": [
            {
              "description": "A system CRM Connector does not support. The assistant must not invent a capability; it says the system is not supported and shares the request an integration link https://crm-connector.com/platform/request-integration.",
              "prompt": "Can CRM Connector sync ServiceTitan with QuickBooks Online?"
            },
            {
              "description": "A direction that is not offered: Jobber only receives records. The tools refuse the plan and the assistant explains that records can travel from QuickBooks into Jobber, not from Jobber out, without producing a setup link for the refused direction.",
              "prompt": "Set up a sync that sends my Jobber invoices into QuickBooks Online."
            },
            {
              "description": "A request outside what the test account allows: creating an invoice in accounting software and emailing it. The test account has AI Agents only on the one system enabled for it, and no tool creates an invoice or sends email, so nothing is created; the assistant says this is not something CRM Connector does here.",
              "prompt": "Create a 500 dollar invoice for Acme Plumbing in my accounting software and email it to them."
            },
            {
              "description": "A delete request on a connected system. AI Agents never deletes records: no tool deletes a record, the assistant says so and offers what it can do instead.",
              "prompt": "Delete all contacts in my CRM that have no email address."
            }
          ]
        },
        "demo_recording_url": "https://youtu.be/srIqfsyeSN4",
        "commerce": false,
        "commerce_description": "The plugin does not sell anything, start subscriptions or process payments, and AI Agents never records a payment in a connected system. It reads sync options, the sync status of a connected account and, with AI Agents, the records the customer switched on, and changes records only after the customer agrees, or through an automation the customer approved in CRM Connector."
      },
      "publication": {
        "release_notes": "CRM Connector is now found when you search the directory for any system it connects, such as GoHighLevel, ServiceM8 or Pipedrive. AI agents can search on several conditions at once, sort, and count or add up records per value, and the first starter prompt also covers field service systems."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 588bed530bef31c22b17edbee9c3272770cddbf1f6d66f1bc36130384167195b