WP-CRM System Integration
Create a WP-CRM System contact when a form is submitted, with an optional linked opportunity.
Action type: wp_crm_system
Handler: Core_Forms\Integrations\IntegrationHandlers::wp_crm_system
Source: src/integrations/class-integration-handlers.php (registered in src/integrations/class-integration-manager.php)
Requirements
The WP-CRM System plugin must be active on the same site. The action only appears in the Add Action list when the WPCRM_System_Create class is available.
Setup
- Install and activate WP-CRM System.
- In WordPress, edit your form > Actions tab > Add Action > Create WP-CRM System Lead.
- Map the contact fields, and optionally set a phase, an assignee, and opportunity details.
Settings Reference
| Setting | Required | Default | Description |
|---|---|---|---|
| Yes | [email] |
Contact email address | |
| First name | No | [first_name] |
Contact first name |
| Last name | No | [last_name] |
Contact last name |
| Phone | No | [phone] |
Contact phone number |
| Contact phase/category | No | -- | WP-CRM System phase/category term for the contact |
| Assignee user ID | No | -- | WordPress user ID the contact (and opportunity) is assigned to |
| Opportunity title | No | -- | When set, an opportunity with this title is also created |
| Opportunity value | No | -- | Monetary value stored on the created opportunity |
Every text setting supports Core Forms data variables such as [email] or [any_field_name].
Opportunities
If Opportunity title is filled in, the action creates a WP-CRM System opportunity in addition to the contact:
- Linked to the newly created contact
- Value: the resolved Opportunity value (defaults to 0)
- Assigned to the Assignee user ID
- Additional info:
Core Forms submission #{id}for traceability
Leave the title empty to create only the contact.
How It Works
- Builds the contact record from email, first name, last name, and phone. The additional-info field is stamped with
Core Forms submission #{id}. - Calls
WPCRM_System_Create::contacts()inupdate-createmode with the phase and assignee, publishing the contact immediately. - If an opportunity title is set, calls
WPCRM_System_Create::opportunities()with the contact link, value, and assignee. - Logs the contact ID and opportunity 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 duplicate contacts or opportunities.
Troubleshooting
- "WP-CRM System could not create the contact": the create call returned no ID. Check that the Email setting resolves to a value and that WP-CRM System is up to date.
- Wrong owner: the assignee must be a numeric WordPress user ID, not a username. Find it under Users > All Users.
- No opportunity created: the opportunity is only created when Opportunity title is non-empty after data variables are resolved.
See also: Integrations overview, Jetpack CRM, Groundhogg.