Technical documentation for GrowthCRM — a self-hosted CRM for WordPress with contacts/leads, a Kanban deal pipeline, notes, email history, visitor tracking and lead scoring. Covers how it works, the data model, capabilities, the REST API (lead ingest & tracking), and the AI / MCP abilities.

Version: 0.1.0  |  Requires: WordPress 6.0+, PHP 8.0+  |  Text domain: growth-crm

1. Overview

GrowthCRM is managed from the WordPress admin (Contacts, Deals, Pipeline board, Reports, Settings). It captures leads via a REST endpoint, tracks on-site behaviour to compute a lead score, and moves deals through a configurable Kanban pipeline. Won deals can be handed off to GrowthProjects. Data is stored in dedicated tables; automation is exposed through the WordPress Abilities API (optionally over MCP).

2. Installation & setup

  1. Activate the plugin. It creates its tables, seeds a default pipeline, generates an API key, and grants the manage_growth_crm capability to administrators.
  2. Open GrowthCRM in the admin menu to manage contacts, deals and the pipeline board.
  3. To capture leads or track visitors from an external site or form, use the REST endpoints below with the generated API key (see Settings).

3. Data model

Tables use the site prefix + gc_:

TableStores
gc_contactsContacts / leads (name, company, email, source, wp_user_id, visitor_token, lead_score)
gc_stagesPipeline stages (Kanban columns; won/lost flags, color, order)
gc_dealsDeals / opportunities (title, contact, stage, value, currency, owner, expected close, won/lost)
gc_notesInternal notes on a deal
gc_emailsEmail history attached to a deal / contact
gc_activitiesTracked behaviour events feeding the lead score
gc_event_logAudit trail of changes

4. Capabilities

A single capability, manage_growth_crm, grants full access to the plugin and is added to the Administrator role on activation. Grant it to other roles to let them use the CRM.

5. REST API

Namespace: growthcrm/v1  —  base URL /wp-json/growthcrm/v1. Two endpoints are designed for external capture and authenticate with the plugin’s API key (from Settings) rather than a WordPress login:

MethodRoutePurpose
POST/leadsIngest a lead (create/update a contact) from a form or external site.
POST/eventsRecord a tracking event (page view / action) that feeds the lead score.

The Kanban board endpoints (used by the admin UI) require the manage_growth_crm capability. Keep your API key secret; rotate it from Settings if exposed.

Example — ingest a lead:

curl -X POST https://example.com/wp-json/growthcrm/v1/leads \
  -H "X-API-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane Doe","email":"jane@acme.com","company":"Acme","source":"contact-form"}'

6. Built-in services

  • Lead scorer — converts tracked activities into a numeric lead_score per contact.
  • Mailer — sends and logs transactional emails against a deal / contact.
  • Projects bridge — hands a won deal off to GrowthProjects to spin up delivery work.

7. AI abilities & MCP

GrowthCRM registers tools on the WordPress Abilities API, grouped into five categories:

CategoryOperations
ContactsRead, create, update, delete contacts / leads.
DealsRead, create, update, move between stages, and close (win/lose) deals.
PipelineRead pipeline stages (Kanban columns).
NotesRead and create deal notes.
DiagnosticsPipeline summary and lead-score rankings.

Abilities declare typed JSON schemas and are capability-gated by manage_growth_crm. Those flagged MCP-public are exposed as callable MCP tools through the WordPress Abilities MCP adapter, so an assistant can qualify leads, update deals and report on the pipeline. Destructive abilities are excluded from the MCP surface by default; capability and MCP visibility are configurable per ability or category in the plugin’s Abilities settings.


Back to GrowthCRM product page  |  All docs

Scroll to Top