Mautic n8n integrationAutomate Mautic with n8n.
Every contact, company and segment in Mautic can move on its own. The Mautic n8n integration ships two nodes: the Mautic node and its 20 operations across 6 resources, and the Mautic Trigger, which receives the events of your instance through a webhook.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Mautic n8n integration actually cover?
Mautic is open source marketing automation: lead generation, contact scoring, segmentation and campaigns, running on an instance you host. The Mautic n8n integration puts that instance behind two nodes. The Mautic node carries 20 operations spread over 6 resources, from contacts and companies to segments, campaigns and emails. The Mautic Trigger listens to the instance through a webhook, an URL that Mautic calls when an event happens.
First scenario, signups that land in the right segment. A form on a site built with Wordpress sends its reply to n8n, contact.create writes the person into Mautic with an email and a first name, then contactSegment.add files them under the segment that matches the form. Nobody exports a CSV on Friday evening.
Second scenario, scoring that follows what people actually do. A product event reaches the workflow, contact.editContactPoint adds or removes points on that contact, and campaignContact.add pushes the ones above the threshold into a campaign. The same run can log the move to Google Sheets for the sales team.
Third scenario, emails that leave from Mautic but are decided elsewhere. contact.sendEmail sends a campaign email already built in Mautic to one contact, segmentEmail.send sends a segment email to a whole list. Teams arriving from Mailchimp often keep this split: the design stays in the marketing tool, the timing moves into the workflow.
The node covers 6 resources. Everything else in the Mautic API goes through the HTTP Request node, which calls any endpoint while reusing the same Mautic credential, the login saved once in n8n, through its predefined authentication. That is the way out when an operation is missing, and it asks for no second setup.
Two limits are worth knowing before you build. Several operations do not mark their identifier as required, Company ID or Contact ID for instance, while the call aims at nothing without it, so treat them as mandatory. And the trigger has no wildcard: the events it listens to are ticked one by one in Event Names or IDs, or passed as IDs with an expression. The n8n review covers what the platform is good at, and the n8n training walks through building these workflows step by step.
How do you connect Mautic to n8n?
- 01
Enable the API in Mautic
Nothing works until the API is switched on. In Mautic, open Settings > Configuration, then API Settings, set API enabled? to Yes and save. This single setting governs both authentication methods and brings out the API Credentials menu that OAuth2 needs.
- 02
Pick basic auth or OAuth2
Basic auth is the short path: the credential asks for your instance URL, a Username and a Password, and Mautic wants Enable HTTP basic auth? set to Yes under Configuration > API Settings. OAuth2 asks for a Client ID, a Client Secret and the same base URL, generated when you create new API credentials.
- 03
Create the client and save the credential
For OAuth2, go to Configuration > Settings, open API Credentials, choose Create new client, select OAuth 2 as the Authorization Protocol and name it
n8n integration. Copy the OAuth Callback URL from n8n into the Mautic Redirect URI field, apply, then paste the Client ID and the Client Secret back into n8n.
What starts a workflow from Mautic ?
Mautic Trigger is the node that starts a workflow when Mautic calls n8n. Activate the workflow: n8n gives you the webhook URL to register in Mautic, and every call becomes an execution.
What you see in n8n
Configuration notes
01Configure the Mautic Trigger
The trigger node registers a webhook, an URL that Mautic calls by itself each time a selected event happens. n8n registers that URL when the workflow is activated, and every event lands within seconds: nothing queries the instance on a timer.
Key parameters
- Event Names or IDs: required, and the only setting the trigger really needs. Tick the events in the multi select list, or pass their IDs with an expression, the
{{ $json.field }}formula that reads a value from the incoming item. - Events Order: DESC or ASC, the reading direction when Mautic queues several events and delivers them in one call.
02Follow Up With the Mautic Node
A trigger on its own only says that something happened. The useful part starts right after, when the Mautic node picks the thread back up: contact.get reads the full record, contact.editContactPoint moves the score, contactSegment.add files the contact somewhere else. Each of those operations takes its Contact ID from the item the trigger produced, through an expression, so nothing is typed by hand.
What can the Mautic node do?
The Mautic node exposes 20 operations across 6 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Many | Update | Delete | Add | Remove | Edit Contact Points | Edit Do Not Contact List | Send | Send Email |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Campaign Contact | ✓ | ✓ | |||||||||
| Company | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| Company Contact | ✓ | ✓ | |||||||||
| Contact | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Contact Segment | ✓ | ✓ | |||||||||
| Segment Email | ✓ |
Operations index
Campaign Contact
2 operationsAdd a campaign contact
campaignContact.addWhat you see in n8n
Notes & use cases
Puts a contact that already exists in Mautic into one of its campaigns, and the steps of that campaign start running for this person.
Key parameters
- Contact ID: the identifier of the contact inside Mautic, most often passed with an expression such as
{{ $json.id }}from the node that just created or read it. - Campaign Name or ID: required as well. Campaigns show up in a dropdown, and an expression supplies the ID when the campaign depends on the item being processed.
Remove a campaign contact
campaignContact.removeWhat you see in n8n
Notes & use cases
Ends a contact's membership in a campaign. The contact stays in the instance with its history, only the campaign stops running its steps for them.
Key parameters
- Contact ID: who leaves. A workflow usually carries this value from an earlier step instead of a manual entry.
- Campaign Name or ID: which campaign they leave, picked in the list or resolved by expression.
Company
5 operationsCreate a company
company.createWhat you see in n8n
Notes & use cases
A company record appears in Mautic, ready to gather the contacts who work there. No field is marked required, so fill Company Name unless unnamed records are your thing.
Key parameters
- Company Name: the name the company is known by in Mautic.
- Additional Fields: 12 optional entries, among them Company Email, Phone, Website, Industry Name or ID, Annual Revenue and Number of Employees, plus Custom Fields for what your instance defines itself.
- Simplify: on, n8n returns a trimmed version of the response instead of the raw API payload.
Delete a company
company.deleteWhat you see in n8n
Notes & use cases
Removes one company from the instance. n8n does not flag Company ID as required here, yet the operation has no target without it.
Key parameters
- Company ID: the ID of the company to delete, usually carried over from a lookup or from a list of duplicates.
- Simplify: keeps the returned record short when the workflow only needs a confirmation.
Get a company
company.getWhat you see in n8n
Notes & use cases
Reads a single company and hands its data to the next node. Nothing is written back, which makes it the safe operation to test a credential with.
Key parameters
- Company ID: the record to read. An expression keeps it dynamic when the ID comes from the previous item.
- Simplify: the short response is usually enough, so switch it off only when a later node needs a field the simplified version drops.
Get many companies
company.getAllWhat you see in n8n
Notes & use cases
The listing operation for companies: one item per company, ready to loop over in the rest of the workflow.
Key parameters
- Return All: switched on, n8n walks the pages of the Mautic API until every company is returned; switched off, Limit caps how many companies come back.
- Search: a string or a Mautic search command, to filter the companies before they reach n8n rather than after.
- Order By Name or ID and Order Direction: the column to sort on, and asc or desc.
Update a company
company.updateWhat you see in n8n
Notes & use cases
Writes new values onto a company that already exists. Only the fields filled in the node travel to Mautic, the rest of the record is left alone.
Key parameters
- Company ID: the company to update, taken from a previous
company.getAllor from your own database. - Update Fields: 13 entries, the same ground as creation plus Company Name, so a rename is a single call.
- Overwrite With Blank: on, empty values are written to the fields; off, they are skipped, which protects data already in place.
Company Contact
2 operationsAdd a company contact
companyContact.addWhat you see in n8n
Notes & use cases
Two IDs, one link: the contact is attached to the company, which is how Mautic knows who works where.
Key parameters
- Contact ID: the ID of the contact to attach.
- Company ID: the ID of the company. Neither field is marked required in the interface, so both come from earlier nodes in practice.
contact.create and company.create, this operation ties the two fresh records together in the same run.Remove a company contact
companyContact.removeWhat you see in n8n
Notes & use cases
The link goes away, both records stay. That matters when a relationship changes and the history should not.
Key parameters
- Contact ID: the person to detach.
- Company ID: the company they are detached from, given as an ID and never as a name.
Contact
8 operationsCreate a contact
contact.createWhat you see in n8n
Notes & use cases
Creates the contact in Mautic and returns it. Two ways to fill it in: field by field, or as a raw JSON body when the data already arrives shaped.
Key parameters
- Email, First Name, Last Name: the identity fields, filled from the incoming item.
- Primary Company Name or ID: links the new contact to a company straight away.
- JSON Parameters and Body: switch the first on and the contact parameters travel as JSON.
- Additional Fields: 23 entries, including Tag Names or IDs, Stage Name or ID, B2B or B2C, Prospect or Customer and Custom Fields.
Delete a contact
contact.deleteWhat you see in n8n
Notes & use cases
Erases a contact from Mautic. The node asks for no confirmation, so a wrong ID deletes the wrong person.
Key parameters
- Contact ID: the only field that matters here, and the one to double check before the workflow is activated.
Edit a contact's points
contact.editContactPointWhat you see in n8n
Notes & use cases
Mautic scores contacts with points, and this operation moves that score up or down from a workflow, on the signals your own tools produce.
Key parameters
- Contact ID: whose score changes.
- Action: add or remove, the direction of the change.
- Points: how many points that action applies.
Add/remove contacts from/to the do not contact list
contact.editDoNotContactListWhat you see in n8n
Notes & use cases
Flags a contact as not to be contacted on a given channel, or lifts that flag. Consent lives in Mautic, and this operation is how a workflow respects it.
Key parameters
- Channel: required, email or sms.
- Action: add puts the contact on the list, remove takes them off.
- Contact ID: the contact concerned.
- Reason To Do Not Contact: Unsubscribed, Bounced or Manual, with Comments for the detail a colleague will read six months later.
Get a contact
contact.getWhat you see in n8n
Notes & use cases
Fetches one contact and its fields. This is the usual first step after an event tells the workflow that someone did something.
Key parameters
- Contact ID: the contact to read, generally an expression pointing at the identifier the previous node carries.
- Options: Minimal returns the entity without its extra lists, and RAW Data returns the full API response instead of the field values alone.
Get many contacts
contact.getAllWhat you see in n8n
Notes & use cases
Returns the contacts of the instance as a list of items. Most exports and most audits of a Mautic base start here.
Key parameters
- Return All: on, n8n follows the pagination of the API to the end; off, Limit decides how many contacts come back.
- Search: a Mautic search command narrows the list, which beats filtering thousands of items downstream.
- Published Only: keeps only the entities currently published.
Send email to a contact
contact.sendEmailWhat you see in n8n
Notes & use cases
Sends a campaign email that already exists in Mautic to a single contact. The email stays the one the marketing team built; the workflow only decides who gets it and when.
Key parameters
- Campaign Email Name or ID: required, chosen among the campaign emails of the instance or resolved by expression.
- Contact ID: required as well, the single recipient of that send.
Update a contact
contact.updateWhat you see in n8n
Notes & use cases
Updates an existing contact. Update Fields is the widest collection of the node, 31 entries, so most enrichment work ends up here.
Key parameters
- Contact ID: the contact to modify.
- Update Fields: identity fields plus Tag Names or IDs, Stage Name or ID, Owner ID, Has Purchased, Last Active and Custom Fields, among others.
- JSON Parameters: on, the contact parameters travel in Body as JSON, which suits a payload already built upstream.
Contact Segment
2 operationsAdd a contact to a segment
contactSegment.addWhat you see in n8n
Notes & use cases
Files a contact into a segment. Segments are the lists Mautic sends to, so this operation turns a decision taken in a workflow into an audience.
Key parameters
- Contact ID: required, the contact joining the list.
- Segment Name or ID: required, picked among the segments of the instance or given as an ID with an expression, handy when the segment depends on a field of the item.
Remove a contact from a segment
contactSegment.removeWhat you see in n8n
Notes & use cases
Takes the contact out of the list. Running it before an add keeps the same person from sitting in two competing segments at once.
Key parameters
- Contact ID: required, the contact to pull out.
- Segment Name or ID: required, the segment they leave.
Segment Email
1 operationSend an email to a segment
segmentEmail.sendWhat you see in n8n
Notes & use cases
One field, one send: the segment email goes out to the whole list it targets. This is the batch counterpart of the single contact send.
Key parameters
- Segment Email Name or ID: required, and the only parameter. Choose the segment email from the list, or pass its ID with an expression when the send is decided upstream.
Need help automating Mautic with n8n?
A person reads every message.

