Jetpack CRM Integration
Create a Jetpack CRM contact when a form is submitted, with optional status, tags, and a logged transaction.
Action type: jetpack_crm
Handler: Core_Forms\Integrations\IntegrationHandlers::jetpack_crm
Source: src/integrations/class-integration-handlers.php (registered in src/integrations/class-integration-manager.php)
Requirements
The Jetpack CRM plugin must be active on the same site. The action only appears in the Add Action list when zbs_addUpdateCustomer() (or the legacy zeroBS_addUpdateCustomer()) exists. Both the current and legacy function names are supported.
Setup
- Install and activate Jetpack CRM.
- In WordPress, edit your form > Actions tab > Add Action > Create Jetpack CRM Contact.
- Map the contact fields and optionally set a status, tags, and a transaction amount.
Settings Reference
| Setting | Required | Default | Description |
|---|---|---|---|
| Yes | [email] |
Contact email (zbsc_email) |
|
| First name | No | [first_name] |
Contact first name (zbsc_fname) |
| Last name | No | [last_name] |
Contact last name (zbsc_lname) |
| Phone | No | [phone] |
Contact mobile number (zbsc_mobtel) |
| Status | No | Lead |
Jetpack CRM contact status (e.g. Lead, Customer) |
| Optional transaction amount | No | -- | When set, a completed transaction for this amount is also recorded |
| Tag map | No | -- | Comma-separated Jetpack CRM tag names |
Every text setting supports Core Forms data variables such as [email] or [any_field_name].
Transactions
If Optional transaction amount is filled in (a number or a data variable such as [amount]), the action records a transaction against the new contact:
- Order ID:
cf-{submission_id} - Status:
Succeeded - Total: the resolved amount
- Item: the form title
- Date: the submission time
This is useful for order or booking forms where each submission represents revenue.
How It Works
- Builds the Jetpack CRM contact payload (
zbsc_*fields) plus the tag list. - Calls
zbs_addUpdateCustomer()to create the contact. - If a transaction amount is set and
zeroBS_addUpdateTransaction()exists, records the transaction linked to the contact. - Logs the contact ID and transaction ID in the action log.
Idempotency
The action claims a run key of sha256(submission ID | action type | resolved settings) before executing, so re-processing a submission never creates a duplicate contact or transaction.
Troubleshooting
- "Jetpack CRM contact API is unavailable": Jetpack CRM was deactivated after the action was saved, or an incompatible version is installed.
- "Jetpack CRM could not create the contact": the create call returned no ID -- usually an empty or invalid email. Verify the Email setting resolves to a real address.
- Tags not showing: the Tag map takes tag names, comma-separated. Empty entries are ignored.
- No transaction created: the transaction requires both a non-empty amount and the
zeroBS_addUpdateTransaction()function from Jetpack CRM.
See also: Integrations overview, Groundhogg, WP-CRM System.