Part of the CRM ecosystem · 14 projects
crm_eca helps manage customer relationships by automating tasks and workflows. It allows you to create rules that trigger actions based on specific events, streamlining your business processes.
CRM ECA connects CRM to ECA: events, conditions, and actions for user–contact mapping, contact methods, and relationships. Plugins appear in the ECA modeller under the CRM category.
Generic insert, update, delete, load, and set-field on crm_contact, crm_contact_method, crm_relationship, and crm_user_contact_mapping already come from eca_content. This module does not reimplement those. It adds CRM-specific lifecycle events and operations that entity CRUD events cannot cover.
Features
Events
- User-contact mapping requested — fires on an unsaved mapping inside CRM
ensureContactForUser(), before insert (when entity insert is too late). - User mapped / unmapped — after a mapping entity is inserted or deleted.
- Contact method primary changed — primary email, telephone, or address added or removed.
- Relationship became inactive — published status cleared or
end_dateset.
Conditions
- User has a mapped person contact
- Contact is mapped to a user
- Contact bundle (person, organization, household, or any site contact type)
- Two contacts share a relationship of a given type (optional active-only)
- Email or telephone already exists as a contact method (site-wide lookup)
Every condition can be negated. User and contact fields accept a token name, a bracketed token, or a numeric ID.
Actions
- Load mapped contact or mapped user
- Map a user to a person contact, ensure a contact for a user, or unmap (mapping entity only; the contact is not deleted)
- Add email, telephone, or address methods (optional primary)
- Find the unique person contact by email
- Create a relationship (type, contacts A and B, optional dates) with CRM validation
Map user to contact fails when a mapping already exists or the contact is not a person, so webhook-style models can error and retry instead of silently skipping.
Tokens
Events and actions set canonical tokens such as [crm_contact], [crm_mapped_user], [crm_user_contact_mapping], [crm_contact_method], [crm_relationship], [crm_primary_email], and [crm_primary_telephone].
Access
Actions run as the same account ECA already uses. Mapping create, ensure, and unmap require administer crm. Add-method actions require update access on the contact. Create relationship respects CRM create access for that type. Models that run as anonymous (for example webhooks) should switch user with eca_user before write actions.
Requirements
Documentation
Module documentation covers events, conditions, actions, tokens, and access in detail.
Ask your assistant about CRM ECA: Event - Condition - Action
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
More in the CRM ecosystem
Most installed first
Activity
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 1.0.0-alpha1 | Pre-release | 11 | Sep 5, 2026 | ||
| 1.0.x-dev | Dev | Aug 27, 2026 |