Search all guides

Reference · Tools

Mautic integration

Manage contacts, companies, campaigns, and email dispatch within the Mautic open-source marketing automation platform.

Action Communication v1

The Mautic node manages contacts, companies, segments and campaigns and can send email through a Mautic instance. A typical build is syncing customers into Mautic, assigning them to a segment, and letting a campaign take over from there.

Works as
Action
Tool name
mautic
Operations
20 — Create , Delete , Get , Get Many , Update and 15 more
Parameters
55
Outputs
Output, Error
Credentials
Mautic API
Official docs
Mautic docs devdocs.mautic.org

What you can build with Mautic

  • Create a new contact in Mautic.
  • Update a company in Mautic.
  • Add a contact to a segment.
  • Send a campaign email to a contact.
  • List all contacts from Mautic.

Overview

Mautic is an open-source marketing automation platform. This tool manages contacts, companies, campaigns, segments, and email sending via the Mautic REST API. Authenticates via HTTP Basic against the user/password configured on the Mautic instance (OAuth2 is not supported because Mautic is self-hosted with no centralized provider URL). Provides CRUD operations for contacts and companies, plus segment/campaign membership management and email dispatch.

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Mautic API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Campaign ContactcampaignContact
Companycompany
Company ContactcompanyContact
Contactcontact
Contact SegmentcontactSegment
Segment EmailsegmentEmail

Operations

OperationValueDescription
CreatecreateCreate a new company
DeletedeleteDelete a company
GetgetGet data of a company
Get ManygetAllGet data of many companies
UpdateupdateUpdate a company
CreatecreateCreate a new contact
DeletedeleteDelete a contact
Edit Contact PointseditContactPointEdit contact’s points
Edit Do Not Contact ListeditDoNotContactListAdd/remove from DNC list
GetgetGet data of a contact
Get ManygetAllGet data of many contacts
Send EmailsendEmailSend email to contact
UpdateupdateUpdate a contact
AddaddAdd contact to a segment
RemoveremoveRemove contact from a segment
AddaddAdd contact to a campaign
RemoveremoveRemove contact from a campaign
AddaddAdd contact to a company
RemoveremoveRemove a contact from a company
SendsendSend an email to a segment

The operation list is scoped to the resource you pick, which is why create, delete, get, getAll, update, add and remove each appear more than once.

Parameters

Campaign Contact: Add

ParameterTypeRequiredDefaultDescription
Contact IDstringYes—
Campaign IDstringYes—The ID of the campaign. Find in Mautic: Campaigns > select campaign > note the ID.

Campaign Contact: Remove

ParameterTypeRequiredDefaultDescription
Contact IDstringYes—
Campaign IDstringYes—The ID of the campaign. Find in Mautic: Campaigns > select campaign > note the ID.

Company: Create

ParameterTypeRequiredDefaultDescription
Company NamestringNo—The name of the company to create.
SimplifybooleanNotrueWhether to return a simplified version of the response.
Additional FieldscollectionNo{}
Options: B2B, Prospect, 1, asc
— AddressfixedCollectionNo{}
— — Address Line 1stringNo—
— — Address Line 2stringNo—
— — CitystringNo—
— — StatestringNo—
— — CountrystringNo—
— — Zip CodestringNo—
— Annual RevenuenumberNo0
— Company EmailstringNo—
— Custom FieldsfixedCollectionNo{}
— — Field IDstringNo—The alias of the company custom field.
— — Field ValuestringNo—
— DescriptionstringNo—
— FaxstringNo—
— IndustrystringNo—Industry name. Find available values in Mautic: Settings > Custom Fields > companyindustry.
— Is PublishedbooleanNofalse
— Number of EmployeesnumberNo0
— Overwrite With BlankbooleanNofalseWhether empty values are set to fields.
— PhonestringNo—
— WebsitestringNo—

Company: Delete

ParameterTypeRequiredDefaultDescription
Company IDstringNo—
SimplifybooleanNotrue

Company: Get

ParameterTypeRequiredDefaultDescription
Company IDstringNo—
SimplifybooleanNotrue

Company: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalse
LimitnumberNo30(shown when Return All is false)
SimplifybooleanNotrue
Additional FieldscollectionNo{}
Options: B2B, Prospect, 1, asc
— Order DirectionoptionsNo—
Options: asc, desc
— Order BystringNo—Column to sort by (company field alias).
— SearchstringNo—

Company: Update

ParameterTypeRequiredDefaultDescription
Company IDstringNo—The ID of the company to update.
SimplifybooleanNotrue
Update FieldscollectionNo{}
Options: B2B, Prospect
— AddressfixedCollectionNo{}
— — Address Line 1stringNo—
— — Address Line 2stringNo—
— — CitystringNo—
— — StatestringNo—
— — CountrystringNo—
— — Zip CodestringNo—
— Annual RevenuenumberNo0
— Company EmailstringNo—
— Company NamestringNo—
— Custom FieldsfixedCollectionNo{}
— — Field IDstringNo—
— — Field ValuestringNo—
— DescriptionstringNo—
— FaxstringNo—
— IndustrystringNo—
— Is PublishedbooleanNofalse
— Number of EmployeesnumberNo0
— Overwrite With BlankbooleanNofalse
— PhonestringNo—
— WebsitestringNo—

Company Contact: Add

ParameterTypeRequiredDefaultDescription
Contact IDstringNo—
Company IDstringNo—

Company Contact: Remove

ParameterTypeRequiredDefaultDescription
Contact IDstringNo—
Company IDstringNo—

Contact: Create

ParameterTypeRequiredDefaultDescription
JSON ParametersbooleanNofalseWhether to pass contact data as a raw JSON body.
EmailstringNo—Email address of the contact. (shown when JSON Parameters is false)
First NamestringNo—(shown when JSON Parameters is false)
Last NamestringNo—(shown when JSON Parameters is false)
Primary CompanystringNo—Company name or ID. Find in Mautic: Companies > select company > note the name or ID. (shown when JSON Parameters is false)
PositionstringNo—(shown when JSON Parameters is false)
TitlestringNo—(shown when JSON Parameters is false)
Body (JSON)jsonNo—Raw JSON body with contact field data. (shown when JSON Parameters is true)
Additional FieldscollectionNo{}
Options: B2B, Prospect, 1, asc
— AddressfixedCollectionNo{}
— — Address Line 1stringNo—
— — Address Line 2stringNo—
— — CitystringNo—
— — StatestringNo—
— — CountrystringNo—
— — Zip CodestringNo—
— B2B or B2CoptionsNo—
Options: B2B, B2C
— CRM IDstringNo—
— Custom FieldsfixedCollectionNo{}
— — Field IDstringNo—The alias of the custom field. Find in Mautic: Settings > Custom Fields.
— — Field ValuestringNo—
— FaxstringNo—
— Has PurchasedbooleanNofalse
— IP AddressstringNo—IP address to associate with the contact.
— Last ActivestringNo—Date/time in UTC (e.g. 2024-01-15T10:30:00).
— MobilestringNo—
— Owner IDstringNo—ID of a Mautic user to assign this contact to.
— PhonestringNo—
— Prospect or CustomeroptionsNo—
Options: Prospect, Customer
— SandboxbooleanNofalse
— StagestringNo—Stage ID. Find in Mautic: Stages > note the ID.
— TagsstringNo—Comma-separated tag names.
— Social MediafixedCollectionNo{}
— — FacebookstringNo—
— — FoursquarestringNo—
— — InstagramstringNo—
— — LinkedInstringNo—
— — SkypestringNo—
— — TwitterstringNo—
— WebsitestringNo—
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.

Contact: Delete

ParameterTypeRequiredDefaultDescription
Contact IDstringNo—
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.

Contact: Edit Contact Points

ParameterTypeRequiredDefaultDescription
Contact IDstringNo—
ActionoptionsNoadd
Options: add, remove
PointsnumberNo0
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.

Contact: Edit Do Not Contact List

ParameterTypeRequiredDefaultDescription
Contact IDstringNo—
ActionoptionsNoadd
Options: add, remove
ChanneloptionsYesemail
Options: email, sms
Additional FieldscollectionNo{}
Options: B2B, Prospect, 1, asc
— Reason To Do Not ContactoptionsNo3
Options: 1, 2, 3
— CommentsstringNo—A text describing details of Do Not Contact entry.
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.

Contact: Get

ParameterTypeRequiredDefaultDescription
Contact IDstringNo—
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.

Contact: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo30Max number of results to return. (shown when Return All is false)
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.

Contact: Send Email

ParameterTypeRequiredDefaultDescription
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.
Campaign Email IDstringYes—ID of the campaign/template email to send. Find in Mautic: Channels > Emails > select template email > note the ID.
Contact IDstringYes—

Contact: Update

ParameterTypeRequiredDefaultDescription
Contact IDstringNo—The ID of the contact to update.
JSON ParametersbooleanNofalseWhether to pass update data as a raw JSON body.
Update FieldscollectionNo{}
Options: B2B, Prospect
— Body (JSON)jsonNo—Raw JSON body with contact fields to update.
— AddressfixedCollectionNo{}
— — Address Line 1stringNo—
— — Address Line 2stringNo—
— — CitystringNo—
— — StatestringNo—
— — CountrystringNo—
— — Zip CodestringNo—
— B2B or B2CoptionsNo—
Options: B2B, B2C
— CRM IDstringNo—
— Custom FieldsfixedCollectionNo{}
— — Field IDstringNo—The alias of the custom field.
— — Field ValuestringNo—
— EmailstringNo—
— FaxstringNo—
— First NamestringNo—
— Has PurchasedbooleanNofalse
— IP AddressstringNo—
— Last ActivestringNo—
— Last NamestringNo—
— MobilestringNo—
— Owner IDstringNo—
— PhonestringNo—
— PositionstringNo—
— Primary CompanystringNo—Company name or ID.
— Prospect or CustomeroptionsNo—
Options: Prospect, Customer
— SandboxbooleanNofalse
— StagestringNo—
— TagsstringNo—
— TitlestringNo—
— Social MediafixedCollectionNo{}
— — FacebookstringNo—
— — FoursquarestringNo—
— — InstagramstringNo—
— — LinkedInstringNo—
— — SkypestringNo—
— — TwitterstringNo—
— WebsitestringNo—
OptionscollectionNo{}(hidden when Operation is sendEmail, editDoNotContactList, editContactPoint)
Options: asc
— SearchstringNo—String or search command to filter entities by.
— Order BystringNo—Column to sort by (will be converted to snake_case).
— Order By DiroptionsNo—
Options: asc, desc
— Published OnlybooleanNofalseWhether to return currently published entities.
— MinimalbooleanNofalseWhether to return array of entities without additional lists.
— RAW DatabooleanNotrueIf true, return the raw response with all data. If false, return only field values.

Contact Segment: Add

ParameterTypeRequiredDefaultDescription
Contact IDstringYes—
Segment IDstringYes—The ID of the segment. Find in Mautic: Segments > select segment > note the ID.

Contact Segment: Remove

ParameterTypeRequiredDefaultDescription
Contact IDstringYes—
Segment IDstringYes—The ID of the segment. Find in Mautic: Segments > select segment > note the ID.

Segment Email: Send

ParameterTypeRequiredDefaultDescription
Segment Email IDstringYes—ID of the segment (list) email. Find in Mautic: Channels > Emails > filter by Segment type > note the ID.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The Mautic API response is merged into the item JSON at the top level, so the fields the input item already carried pass through unchanged and binary data is forwarded.

OperationOutput items
contact / getAllFans out — one output item per contact returned
company / getAllFans out — one output item per company returned
Every other operationOne item per input item, carrying the record or status Mautic returned

The two getAll operations are the only ones that change the item count, so no Split Out node is needed after them. Return All pages through the whole result set; otherwise Limit caps it at up to 30 records per call.

Simplify and RAW Data change the shape of the record you get back. With Simplify on (the company operations’ default), the response is flattened to the record’s field values instead of the full API envelope. On the contact operations the equivalent switch is Options → RAW Data: leave it on for the full response, turn it off to receive field values only. Run the node once and inspect an output item to confirm which shape your settings produce before writing downstream expressions.

Example Configuration

Create a contact from individual fields:

{
  "type": "mautic",
  "parameters": {
    "resource": "contact",
    "operation": "create",
    "jsonParameters": false,
    "email": "john.doe@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "company": "Acme Corp",
    "position": "Manager",
    "additionalFields": {
      "phone": "555-1234",
      "website": "https://johndoe.com",
      "tags": "lead,qualified",
      "socialMediaUi": {
        "socialMediaValues": [
          {
            "facebook": "johndoe",
            "twitter": "@johndoe",
            "linkedIn": "john-doe"
          }
        ]
      }
    }
  }
}

Create a contact from a raw JSON body instead — note that Body (JSON) is a JSON string:

{
  "type": "mautic",
  "parameters": {
    "resource": "contact",
    "operation": "create",
    "jsonParameters": true,
    "bodyJson": "{\"email\": \"jane.smith@example.com\", \"firstName\": \"Jane\", \"lastName\": \"Smith\", \"company\": \"Tech Solutions\", \"phone\": \"555-5678\"}"
  }
}

Update a contact, including a custom field:

{
  "type": "mautic",
  "parameters": {
    "resource": "contact",
    "operation": "update",
    "contactId": "{{ $json.contactId }}",
    "updateFields": {
      "email": "newemail@example.com",
      "firstName": "UpdatedFirst",
      "phone": "555-9999",
      "customFieldsUi": {
        "customFieldValues": [
          {
            "fieldId": "custom_field_1",
            "fieldValue": "Updated Value"
          }
        ]
      }
    }
  }
}

Add a contact to the Do Not Contact list for email:

{
  "type": "mautic",
  "parameters": {
    "resource": "contact",
    "operation": "editDoNotContactList",
    "contactId": "123",
    "action": "add",
    "channel": "email",
    "additionalFields": {
      "reason": "3",
      "comments": "User requested removal"
    }
  }
}

Award engagement points to a contact:

{
  "type": "mautic",
  "parameters": {
    "resource": "contact",
    "operation": "editContactPoint",
    "contactId": "123",
    "action": "add",
    "points": 50
  }
}

List contacts matching a search, newest field order first:

{
  "type": "mautic",
  "parameters": {
    "resource": "contact",
    "operation": "getAll",
    "returnAll": false,
    "limit": 30,
    "options": {
      "search": "john",
      "orderBy": "email",
      "orderByDir": "asc",
      "publishedOnly": true,
      "minimal": false,
      "rawData": true
    }
  }
}

Send a template email to one contact:

{
  "type": "mautic",
  "parameters": {
    "resource": "contact",
    "operation": "sendEmail",
    "contactId": "123",
    "campaignEmailId": "456"
  }
}

Create a company with an address and full response:

{
  "type": "mautic",
  "parameters": {
    "resource": "company",
    "operation": "create",
    "name": "New Company Inc",
    "simple": false,
    "additionalFields": {
      "companyEmail": "info@newcompany.com",
      "phone": "555-0123",
      "website": "https://newcompany.com",
      "industry": "Technology",
      "annualRevenue": 1000000,
      "numberOfEmpoyees": 50,
      "addressUi": {
        "addressValues": [
          {
            "address1": "123 Main St",
            "city": "Anytown",
            "state": "CA",
            "country": "USA",
            "zipCode": "12345"
          }
        ]
      }
    }
  }
}

Update a company:

{
  "type": "mautic",
  "parameters": {
    "resource": "company",
    "operation": "update",
    "companyId": "789",
    "simple": true,
    "updateFields": {
      "name": "Updated Company Name",
      "companyEmail": "updated@company.com",
      "phone": "555-7890",
      "annualRevenue": 1500000
    }
  }
}

Add a contact to a segment:

{
  "type": "mautic",
  "parameters": {
    "resource": "contactSegment",
    "operation": "add",
    "contactId": "123",
    "segmentId": "456"
  }
}

Add a contact to a campaign:

{
  "type": "mautic",
  "parameters": {
    "resource": "campaignContact",
    "operation": "add",
    "contactId": "123",
    "campaignId": "789"
  }
}

Associate a contact with a company:

{
  "type": "mautic",
  "parameters": {
    "resource": "companyContact",
    "operation": "add",
    "contactId": "123",
    "companyId": "456"
  }
}

Send a segment email:

{
  "type": "mautic",
  "parameters": {
    "resource": "segmentEmail",
    "operation": "send",
    "segmentEmailId": "789"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

This tool manages contacts, companies, campaigns, segments, and email sending within the Mautic marketing automation platform. It is ideal for creating, updating, and deleting contacts and companies, managing their segment and campaign memberships, and dispatching emails to contacts or segments. The tool produces updated Mautic records, email dispatches, and lists of contacts or companies.

Data Management Best Practices

  • Use simple: true for basic operations to reduce response payload
  • Set appropriate limit values for getAll operations
  • Use rawData: true in options for complete data responses
  • Leverage customFieldsUi for custom field management
  • Use additionalFields collections for extended contact/company data

Key Notes

  • Limit tops out at 30. Both Get Many operations accept 1–30; ask for more by turning Return All on instead.
  • Body (JSON) must be a JSON string. A raw object is rejected as invalid JSON — quote and escape it, or leave JSON Parameters off and use the individual fields.
  • Two emails, two IDs. Contact: Send Email wants a campaign/template email ID; Segment Email: Send wants a segment (list) email ID. Mautic lists both under Channels > Emails, distinguished by type.
  • Options is not shown for every contact operation. Send Email, Edit Do Not Contact List and Edit Contact Points do not accept it.

Frequently asked questions

Why am I only getting 30 records back?

Limit tops out at 30 on the Get All operations, so a larger audience has to be paged through rather than fetched in one call.

How do I reduce the size of responses?

Use `simple: true` for basic operations to trim the payload, and set sensible limits on getAll. Use `rawData: true` in options only when you genuinely need the complete response.

How do custom fields work?

Through `customFieldsUi` for custom field management, with `additionalFields` collections carrying extended contact and company data.

How do I react to activity in Mautic?

Use the Mautic Trigger, which fires on contact changes, form submissions, email interactions, page hits and point changes.

Build with Mautic

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Mautic API credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.