Resources · n8n integration

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

Why automate

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.

Connect

How do you connect Mautic to n8n?

  1. 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.

  2. 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.

  3. 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.

Triggers

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 TriggerThe 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.

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.
When to use it
whenever the reaction has to follow what happens inside Mautic rather than a clock. The credential is the same one the Mautic node uses, basic auth or OAuth2, so there is nothing new to create.
02Follow Up With the Mautic NodeA 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.

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.

When to use it
as soon as the reaction needs data the event does not carry, or an action written back into Mautic. A workflow that reads, decides, then writes stays in one place, which is easier to debug than three half automations spread across tools.
Use cases
receive the event, read the contact, then route it to the campaign that matches its stage.
Actions

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.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteAddRemoveEdit Contact PointsEdit Do Not Contact ListSendSend Email
Campaign Contact✓✓
Company✓✓✓✓✓
Company Contact✓✓
Contact✓✓✓✓✓✓✓✓
Contact Segment✓✓
Segment Email✓

Campaign Contact

2 operations
01

Add a campaign contact

campaignContact.add

What 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.
Use cases
a demo request arrives, and the contact joins the onboarding campaign without anyone opening the Mautic interface.
02

Remove a campaign contact

campaignContact.remove

What 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.
Use cases
a deal is signed in the CRM, so the prospect drops out of the nurture campaign before the next email is queued.

Company

5 operations
03

Create a company

company.create

What 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.
Use cases
a signup from a business address arrives, the company is created first so the contact can be attached to it in the next node.
04

Delete a company

company.delete

What 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.
Use cases
an import created the same company three times, and a cleanup workflow deletes the extra IDs one by one.
05

Get a company

company.get

What 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.
Use cases
check that a company exists before attaching a new contact to it, and branch to a creation step when it does not.
06

Get many companies

company.getAll

What 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.
Use cases
a nightly export that copies the company base into a spreadsheet the sales team already reads.
07

Update a company

company.update

What 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.getAll or 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.
Use cases
an enrichment step returns a website and a headcount, and the company record is updated in the same run.

Company Contact

2 operations
08

Add a company contact

companyContact.add

What 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.
Use cases
right after contact.create and company.create, this operation ties the two fresh records together in the same run.
09

Remove a company contact

companyContact.remove

What 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.
Use cases
a contact answers a form with a new employer, so the old link is removed before the new one is created.

Contact

8 operations
10

Create a contact

contact.create

What 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.
Use cases
a form on the site posts to a Webhook node, and every reply becomes a tagged contact.
11

Delete a contact

contact.delete

What 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.
Use cases
an erasure request lands in a shared mailbox, the workflow finds the contact, deletes it, and writes the ID to an audit log.
12

Edit a contact's points

contact.editContactPoint

What 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.
Use cases
a product event says a trial account invited a teammate, the contact gains 5 points and crosses the threshold that starts a sales campaign.
13

Add/remove contacts from/to the do not contact list

contact.editDoNotContactList

What 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.
Use cases
a hard bounce reported by the sending platform adds the address to the list with the Bounced reason.
14

Get a contact

contact.get

What 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.
Use cases
read the contact, then let an If node decide whether the rest of the workflow runs at all.
15

Get many contacts

contact.getAll

What 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.
Use cases
a monthly check that lists the contacts with no company attached and sends the count to the marketing channel.
16

Send email to a contact

contact.sendEmail

What 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.
Use cases
an order is paid in the shop, and the confirmation email designed in Mautic leaves for that customer alone.
17

Update a contact

contact.update

What 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.
Use cases
a purchase event sets Has Purchased and moves the stage in one call, right after the payment webhook.

Contact Segment

2 operations
18

Add a contact to a segment

contactSegment.add

What 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.
Use cases
a webinar registration sends every attendee into the segment that will receive the replay.
19

Remove a contact from a segment

contactSegment.remove

What 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.
Use cases
a customer who just bought leaves the prospect segment, so the next campaign email never reaches them.

Segment Email

1 operation
20

Send an email to a segment

segmentEmail.send

What 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.
Use cases
a Schedule node fires on Tuesday morning, and the weekly letter prepared in Mautic leaves without anyone clicking send.
Need help

Need help automating Mautic with n8n?

A person reads every message.

FAQ

Mautic and n8n, common questions

01Is the Mautic n8n integration free?
Yes on the n8n side. The Mautic node and the Mautic Trigger ship with n8n, so there is nothing to install and no extra cost, whether the workflow runs on n8n Cloud or on a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow behaves the same in both places, so one built on a laptop moves to Cloud without touching the nodes. What Mautic itself costs depends on how you run it, and this page leaves that question aside. The 20 operations and the webhook trigger are all available the moment the credential is saved.
02What credentials does the Mautic node need?
Two methods, basic auth or OAuth2, and in both cases the API has to be enabled first in Mautic, under Settings > Configuration > API Settings. Basic auth asks for the instance URL, a Username and a Password, plus Enable HTTP basic auth? set to Yes on that same screen. OAuth2 asks for a Client ID, a Client Secret and the same base URL, generated when you create a new client under Configuration > Settings > API Credentials, with the OAuth Callback URL from n8n pasted into the Redirect URI field. The credential is created once in the Credentials menu, and both nodes then offer it in their dropdown.
03What are the limits of the Mautic node?
It depends on what you need. The node exposes 20 operations over 6 resources: contacts, companies, the link between them, segments, campaigns and segment emails. Anything else in the Mautic API goes through the HTTP Request node, which reuses the same Mautic credential with its predefined authentication. Listing operations stop at Limit until Return All is switched on, and Return All then chains the pages of the API to the end. One detail catches people out: Contact ID and Company ID are not flagged as required in the interface, even though the operation does nothing without them.
04Does the Mautic Trigger react in real time?
Yes. The Mautic Trigger works by webhook: n8n registers an URL with the instance when the workflow is activated, Mautic calls that URL when a selected event fires, and the run starts within seconds. There is no polling interval to set and no delay to make up for. The events are chosen in Event Names or IDs, a required field, and there is no wildcard option to catch everything at once. When Mautic queues several events and sends them in a single call, Events Order decides whether they are read from the newest to the oldest, DESC, or the other way round, ASC.
05n8n or Make for Mautic?
It depends on where the data has to live. Mautic is usually self-hosted, and n8n accepts the same ground: self-hosting with Docker or npm, or n8n Cloud when hosting is not your problem to solve. Make has no self-hosting option and is billed per operation, which changes the arithmetic as soon as a workflow loops over a large contact base. The visual logic differs too: Make chains modules one after the other, n8n draws a graph with branches. Neither is wrong. Pick on hosting, on control over the data, and on the cost model.