FluentCRM Integration: Contacts, Tags, and Lists
Krom Automation Pro connects to FluentCRM, the self-hosted email marketing CRM for WordPress. Unlike external CRM platforms, FluentCRM lives entirely on your site — which means Krom Automation connects to it directly using FluentCRM’s native PHP API, with no API key, no OAuth flow, and no external service calls.
You get five triggers and five actions covering the full contact lifecycle: creation, tagging, list membership, and removal.
Requirements #
- Krom Automation Pro installed and activated
- FluentCRM installed and active on the same WordPress site
No configuration is needed. Krom Automation detects FluentCRM automatically when it is active.
Available triggers #
Contact Created
Fires when a new contact is created in FluentCRM from any source — a form submission, a WooCommerce purchase, a WordPress registration, a manual import, or any other method that creates a FluentCRM contact.
| Data field | Description |
|---|---|
contact_id | FluentCRM contact ID |
email | Contact email address |
first_name | Contact first name |
last_name | Contact last name |
full_name | Contact full name |
phone | Contact phone number |
status | Contact status (subscribed, unsubscribed, etc.) |
contact_type | Contact type |
source | How the contact was created |
user_id | WordPress user ID (if the contact is linked to a WordPress user) |
total_points | FluentCRM contact points |
life_time_value | Contact lifetime value |
created_at | Date the contact was created |
Common use: Sending a welcome email from Krom Automation when a new FluentCRM contact is created, triggering a WordPress action like assigning a user role when someone enters the CRM.
Tag Added to Contact
Fires when one or more tags are added to a FluentCRM contact.
| Data field | Description |
|---|---|
contact_id | FluentCRM contact ID |
email | Contact email address |
first_name | First name |
last_name | Last name |
full_name | Full name |
status | Contact status |
user_id | WordPress user ID |
tag_ids | IDs of the tags that were added |
tag_names | Comma-separated names of the tags added |
tag_count | Number of tags added |
created_at | Timestamp |
Common use: Granting WordPress access when a specific tag is applied — for example, upgrading a user’s role or enrolling them in a LearnDash course when a “premium member” tag is added in FluentCRM.
Tag Removed from Contact
Fires when one or more tags are removed from a FluentCRM contact.
| Data field | Description |
|---|---|
contact_id | FluentCRM contact ID |
email | Contact email address |
first_name | First name |
last_name | Last name |
full_name | Full name |
status | Contact status |
user_id | WordPress user ID |
tag_ids | IDs of the tags that were removed |
tag_names | Comma-separated names of the tags removed |
tag_count | Number of tags removed |
Common use: Revoking WordPress access when a tag is removed — for example, downgrading a user’s role or unenrolling them from a LearnDash course when a tag is removed in FluentCRM.
Contact Added to List
Fires when a FluentCRM contact is subscribed to one or more lists.
| Data field | Description |
|---|---|
contact_id | FluentCRM contact ID |
email | Contact email address |
first_name | First name |
last_name | Last name |
full_name | Full name |
status | Contact status |
contact_type | Contact type |
user_id | WordPress user ID |
list_ids | IDs of the lists the contact was added to |
list_names | Comma-separated names of the lists |
list_count | Number of lists added to |
Common use: Triggering a welcome sequence in Krom Automation when a contact joins a specific list, or granting content access when someone joins a VIP list.
Contact Removed from List
Fires when a FluentCRM contact is removed from one or more lists.
| Data field | Description |
|---|---|
contact_id | FluentCRM contact ID |
email | Contact email address |
first_name | First name |
last_name | Last name |
full_name | Full name |
status | Contact status |
user_id | WordPress user ID |
list_ids | IDs of the lists the contact was removed from |
list_names | Comma-separated names of the lists |
list_count | Number of lists removed from |
Common use: Triggering a win-back campaign or revoking content access when a contact leaves a list.
Available actions #
Create or Update Contact
Creates a new FluentCRM contact or updates an existing one matched by email address. This is an upsert — safe to call on contacts who may already exist in FluentCRM.
| Field | Required | Description |
|---|---|---|
email | Yes | Contact email address. Use the appropriate merge tag from your trigger. |
first_name | No | First name. |
last_name | No | Last name. |
phone | No | Phone number. |
status | No | Contact status: subscribed, unsubscribed, pending, or bounced. Defaults to subscribed. |
tags | No | Comma-separated tag names to apply. Tags are created automatically if they don’t exist. |
lists | No | Comma-separated list names to subscribe the contact to. |
Add Tags to Contact
Adds one or more tags to a FluentCRM contact identified by email address.
| Field | Required | Description |
|---|---|---|
email | Yes | Contact email address. |
tags | Yes | Comma-separated tag names to add. Tags are created if they don’t exist. |
Remove Tags from Contact
Removes one or more tags from a FluentCRM contact.
| Field | Required | Description |
|---|---|---|
email | Yes | Contact email address. |
tags | Yes | Comma-separated tag names to remove. |
Subscribe to List
Adds a FluentCRM contact to one or more lists.
| Field | Required | Description |
|---|---|---|
email | Yes | Contact email address. |
lists | Yes | Comma-separated list names to subscribe the contact to. |
Unsubscribe from List
Removes a FluentCRM contact from one or more lists.
| Field | Required | Description |
|---|---|---|
email | Yes | Contact email address. |
lists | Yes | Comma-separated list names to remove the contact from. |
Setting up your first FluentCRM workflow #
- Go to Krom Automation > Workflows and click Add New Workflow.
- Choose your trigger. For syncing WordPress events to FluentCRM, use triggers like User Registered, WooCommerce Order Completed, or LearnDash Course Completed. For reacting to FluentCRM events, choose one of the five FluentCRM triggers.
- Add a FluentCRM action — start with Create or Update Contact if you’re pushing data into FluentCRM for the first time in this workflow.
- Map your email merge tag and any name or tag fields.
- Simulate and activate.
Screenshot: Krom Automation canvas with a WooCommerce Order Completed trigger connected to a FluentCRM Create or Update Contact action, followed by a FluentCRM Add Tags to Contact action.
Screenshot: FluentCRM Tag Added to Contact trigger connected to a LearnDash Enroll in Course action — showing the tag-based access grant pattern.
Real-world automation examples #
Sync WooCommerce purchases to FluentCRM Trigger: WooCommerce Order Completed Action 1: FluentCRM Create or Update Contact using {{customer.email}}, {{customer.first_name}}, {{customer.last_name}}, with a customer tag and your customers list. Action 2: FluentCRM Add Tags to Contact with a product-specific tag.
Grant LearnDash access when a tag is added Trigger: FluentCRM Tag Added to Contact (use a condition on tag_names contains course-access) Action: LearnDash Enroll in Course using {{user_id}} and your course ID.
Revoke LearnDash access when a tag is removed Trigger: FluentCRM Tag Removed from Contact (condition on tag_names contains course-access) Action: LearnDash Unenroll from Course using {{user_id}} and the course ID.
Welcome email on list join Trigger: FluentCRM Contact Added to List (condition on list_names contains newsletter) Action: Krom Automation Send Email to {{email}} with a personalised welcome message.
Win-back campaign on list removal Trigger: FluentCRM Contact Removed from List Action 1: Send Email with a re-engagement offer Action 2 (7-day delay): Send Email with a special return incentive.
Sync new user registrations to FluentCRM Trigger: User Registered Action: FluentCRM Create or Update Contact using {{user_email}}, {{first_name}}, {{last_name}}, with a wordpress-user tag.
Pre-built templates #
Install these from Krom Automation > Templates:
| Template | What it does |
|---|---|
fcrm-lead-capture-welcome | Welcome email when a new FluentCRM contact is created |
fcrm-list-join-onboarding | Onboarding sequence when a contact joins a list |
fcrm-list-removed-winback | Win-back flow when a contact is removed from a list |
fcrm-tag-based-access-grant | Grants LearnDash or MemberPress access when a tag is added |
fcrm-tag-removed-access-revoke | Revokes access when a tag is removed |
fcrm-woo-purchase-sync | Syncs WooCommerce purchase data to FluentCRM |
Troubleshooting on FluentCRM integration #
FluentCRM triggers or actions aren’t appearing. Confirm FluentCRM is installed and active. Krom Automation detects it automatically — if it’s not appearing, deactivate and reactivate Krom Automation Pro to force a fresh detection.
The Create or Update Contact action is creating duplicate contacts. FluentCRM matches contacts by email address for the upsert. Duplicates usually mean the email address being passed differs slightly between executions — for example, different capitalisation or a trailing space in the merge tag value. Check the execution log to see the exact email string being passed.
The Tag Added trigger is firing for the wrong tags. Add a condition on tag_names contains your specific tag name to restrict the trigger to the tag you intend. Without this condition, the trigger fires whenever any tag is added to any FluentCRM contact.