Reference · Tools

Mautic

Interact with 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.

Node type
Action
Parameters
55
Outputs
Output, Error
Credentials
Mautic API

Mautic

Manage contacts, companies, campaigns, and emails in 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.

Category: Communication
Tool Name: mautic
Version: 1

Appearance: Icon: si-mautic | Color: #4E5E9E

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

Contact: Create

ParameterTypeRequiredDefaultDescription
JSON ParametersbooleanNofalseWhether to pass contact data as a raw JSON body.
EmailstringNoEmail address of the contact. Supports expressions like {{ $json.email }}. (shown when JSON Parameters is false)
First NamestringNoThe contact’s first name. Supports expressions. (shown when JSON Parameters is false)
Last NamestringNoThe contact’s last name. Supports expressions. (shown when JSON Parameters is false)
Primary CompanystringNoCompany name or ID. Find in Mautic: Companies > select company > note the name or ID. (shown when JSON Parameters is false)
PositionstringNoThe contact’s job position. (shown when JSON Parameters is false)
TitlestringNoThe contact’s title. (shown when JSON Parameters is false)
Body (JSON)jsonNoRaw JSON body with contact field data. Supply it as a JSON string. (shown when JSON Parameters is true)
Additional FieldscollectionNo{}Further contact attributes to set on creation.
— AddressfixedCollectionNo{}The contact’s postal address.
— — Address Line 1stringNoFirst address line.
— — Address Line 2stringNoSecond address line.
— — CitystringNoCity.
— — StatestringNoState or region.
— — CountrystringNoCountry.
— — Zip CodestringNoPostal code.
— B2B or B2CoptionsNoWhether the contact is a business or consumer record.
Options: B2B, B2C
— CRM IDstringNoIdentifier for this contact in an external CRM.
— Custom FieldsfixedCollectionNo{}Values for the instance’s custom contact fields.
— — Field IDstringNoThe alias of the custom field. Find in Mautic: Settings > Custom Fields.
— — Field ValuestringNoThe value to store in that field. Supports expressions.
— FaxstringNoFax number.
— Has PurchasedbooleanNofalseWhether the contact has purchased.
— IP AddressstringNoIP address to associate with the contact.
— Last ActivestringNoDate/time in UTC (e.g. 2024-01-15T10:30:00).
— MobilestringNoMobile number.
— Owner IDstringNoID of a Mautic user to assign this contact to.
— PhonestringNoPhone number.
— Prospect or CustomeroptionsNoWhere the contact sits in the funnel.
Options: Prospect, Customer
— SandboxbooleanNofalseWhether this is a sandbox record.
— StagestringNoStage ID. Find in Mautic: Stages > note the ID.
— TagsstringNoComma-separated tag names.
— Social MediafixedCollectionNo{}The contact’s social profiles.
— — FacebookstringNoFacebook handle.
— — FoursquarestringNoFoursquare handle.
— — InstagramstringNoInstagram handle.
— — LinkedInstringNoLinkedIn handle.
— — SkypestringNoSkype handle.
— — TwitterstringNoTwitter handle.
— WebsitestringNoWebsite URL.
OptionscollectionNo{}Query and response settings for the contact call.
— SearchstringNoString or search command to filter entities by.
— Order BystringNoColumn to sort by (will be converted to snake_case).
— Order By DiroptionsNoSort direction.
Options: asc (ASC), desc (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: Update

ParameterTypeRequiredDefaultDescription
Contact IDstringNoThe ID of the contact to update. Supports expressions like {{ $json.contactId }}.
JSON ParametersbooleanNofalseWhether to pass update data as a raw JSON body.
Update FieldscollectionNo{}The contact attributes to change.
— Body (JSON)jsonNoRaw JSON body with contact fields to update. Supply it as a JSON string.
— AddressfixedCollectionNo{}The contact’s postal address.
— — Address Line 1stringNoFirst address line.
— — Address Line 2stringNoSecond address line.
— — CitystringNoCity.
— — StatestringNoState or region.
— — CountrystringNoCountry.
— — Zip CodestringNoPostal code.
— B2B or B2CoptionsNoWhether the contact is a business or consumer record.
Options: B2B, B2C
— CRM IDstringNoIdentifier for this contact in an external CRM.
— Custom FieldsfixedCollectionNo{}Values for the instance’s custom contact fields.
— — Field IDstringNoThe alias of the custom field.
— — Field ValuestringNoThe value to store in that field. Supports expressions.
— EmailstringNoEmail address of the contact. Supports expressions.
— FaxstringNoFax number.
— First NamestringNoThe contact’s first name.
— Has PurchasedbooleanNofalseWhether the contact has purchased.
— IP AddressstringNoIP address to associate with the contact.
— Last ActivestringNoDate/time in UTC.
— Last NamestringNoThe contact’s last name.
— MobilestringNoMobile number.
— Owner IDstringNoID of a Mautic user to assign this contact to.
— PhonestringNoPhone number.
— PositionstringNoThe contact’s job position.
— Primary CompanystringNoCompany name or ID.
— Prospect or CustomeroptionsNoWhere the contact sits in the funnel.
Options: Prospect, Customer
— SandboxbooleanNofalseWhether this is a sandbox record.
— StagestringNoStage ID.
— TagsstringNoComma-separated tag names.
— TitlestringNoThe contact’s title.
— Social MediafixedCollectionNo{}The contact’s social profiles.
— — FacebookstringNoFacebook handle.
— — FoursquarestringNoFoursquare handle.
— — InstagramstringNoInstagram handle.
— — LinkedInstringNoLinkedIn handle.
— — SkypestringNoSkype handle.
— — TwitterstringNoTwitter handle.
— WebsitestringNoWebsite URL.
OptionscollectionNo{}Query and response settings for the contact call.
— SearchstringNoString or search command to filter entities by.
— Order BystringNoColumn to sort by (will be converted to snake_case).
— Order By DiroptionsNoSort direction.
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 IDstringNoThe ID of the contact to fetch. Supports expressions.
OptionscollectionNo{}Query and response settings for the contact call.
— SearchstringNoString or search command to filter entities by.
— Order BystringNoColumn to sort by (will be converted to snake_case).
— Order By DiroptionsNoSort direction.
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. Accepts 1–30. (shown when Return All is false)
OptionscollectionNo{}Query and response settings for the contact call.
— SearchstringNoString or search command to filter entities by.
— Order BystringNoColumn to sort by (will be converted to snake_case).
— Order By DiroptionsNoSort direction.
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 IDstringNoThe ID of the contact to delete. Supports expressions.
OptionscollectionNo{}Query and response settings for the contact call.
— SearchstringNoString or search command to filter entities by.
— Order BystringNoColumn to sort by (will be converted to snake_case).
— Order By DiroptionsNoSort direction.
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 IDstringNoThe ID of the contact. Supports expressions.
ActionoptionsNoaddWhether to add the contact to the Do Not Contact list or remove it.
Options: add, remove
ChanneloptionsYesemailThe channel the Do Not Contact entry applies to.
Options: email, sms
Additional FieldscollectionNo{}Extra detail recorded with the entry.
— Reason To Do Not ContactoptionsNo3Why the contact was added to the list.
Options: 1 (Unsubscribed), 2 (Bounced), 3 (Manual)
— CommentsstringNoA text describing details of Do Not Contact entry.

Contact: Edit Contact Points

ParameterTypeRequiredDefaultDescription
Contact IDstringNoThe ID of the contact. Supports expressions.
ActionoptionsNoaddWhether to add points to the contact or subtract them.
Options: add, remove
PointsnumberNo0How many points to apply.

Contact: Send Email

ParameterTypeRequiredDefaultDescription
Campaign Email IDstringYesID of the campaign/template email to send. Find in Mautic: Channels > Emails > select template email > note the ID.
Contact IDstringYesThe ID of the contact to send to. Supports expressions.

Company: Create

ParameterTypeRequiredDefaultDescription
Company NamestringNoThe name of the company to create. Supports expressions.
SimplifybooleanNotrueWhether to return a simplified version of the response.
Additional FieldscollectionNo{}Further company attributes to set on creation.
— AddressfixedCollectionNo{}The company’s postal address.
— — Address Line 1stringNoFirst address line.
— — Address Line 2stringNoSecond address line.
— — CitystringNoCity.
— — StatestringNoState or region.
— — CountrystringNoCountry.
— — Zip CodestringNoPostal code.
— Annual RevenuenumberNo0Reported annual revenue.
— Company EmailstringNoThe company’s email address.
— Custom FieldsfixedCollectionNo{}Values for the instance’s custom company fields.
— — Field IDstringNoThe alias of the company custom field.
— — Field ValuestringNoThe value to store in that field.
— DescriptionstringNoFree-text description of the company.
— FaxstringNoFax number.
— IndustrystringNoIndustry name. Find available values in Mautic: Settings > Custom Fields > companyindustry.
— Is PublishedbooleanNofalseWhether the company record is published.
— Number of EmployeesnumberNo0Employee headcount.
— Overwrite With BlankbooleanNofalseWhether empty values are set to fields.
— PhonestringNoPhone number.
— WebsitestringNoWebsite URL.

Company: Update

ParameterTypeRequiredDefaultDescription
Company IDstringNoThe ID of the company to update. Supports expressions.
SimplifybooleanNotrueWhether to return a simplified version of the response.
Update FieldscollectionNo{}The company attributes to change.
— AddressfixedCollectionNo{}The company’s postal address.
— — Address Line 1stringNoFirst address line.
— — Address Line 2stringNoSecond address line.
— — CitystringNoCity.
— — StatestringNoState or region.
— — CountrystringNoCountry.
— — Zip CodestringNoPostal code.
— Annual RevenuenumberNo0Reported annual revenue.
— Company EmailstringNoThe company’s email address.
— Company NamestringNoThe company’s name.
— Custom FieldsfixedCollectionNo{}Values for the instance’s custom company fields.
— — Field IDstringNoThe alias of the company custom field.
— — Field ValuestringNoThe value to store in that field.
— DescriptionstringNoFree-text description of the company.
— FaxstringNoFax number.
— IndustrystringNoIndustry name.
— Is PublishedbooleanNofalseWhether the company record is published.
— Number of EmployeesnumberNo0Employee headcount.
— Overwrite With BlankbooleanNofalseWhether empty values are set to fields.
— PhonestringNoPhone number.
— WebsitestringNoWebsite URL.

Company: Get

ParameterTypeRequiredDefaultDescription
Company IDstringNoThe ID of the company to fetch. Supports expressions.
SimplifybooleanNotrueWhether to return a simplified version of the response.

Company: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo30Max number of results to return. Accepts 1–30. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response.
Additional FieldscollectionNo{}Query settings for the listing.
— Order DirectionoptionsNoSort direction.
Options: asc (ASC), desc (DESC)
— Order BystringNoColumn to sort by (company field alias).
— SearchstringNoString or search command to filter companies by.

Company: Delete

ParameterTypeRequiredDefaultDescription
Company IDstringNoThe ID of the company to delete. Supports expressions.
SimplifybooleanNotrueWhether to return a simplified version of the response.

Contact Segment: Add / Remove

ParameterTypeRequiredDefaultDescription
Contact IDstringYesThe ID of the contact. Supports expressions.
Segment IDstringYesThe ID of the segment. Find in Mautic: Segments > select segment > note the ID.

Campaign Contact: Add / Remove

ParameterTypeRequiredDefaultDescription
Contact IDstringYesThe ID of the contact. Supports expressions.
Campaign IDstringYesThe ID of the campaign. Find in Mautic: Campaigns > select campaign > note the ID.

Company Contact: Add / Remove

ParameterTypeRequiredDefaultDescription
Contact IDstringNoThe ID of the contact. Supports expressions.
Company IDstringNoThe ID of the company. Supports expressions.

Segment Email: Send

ParameterTypeRequiredDefaultDescription
Segment Email IDstringYesID 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.

Usage Examples

  • 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

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

Manage contacts, companies, segments, campaigns, and email sending in Mautic marketing automation platform.

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 the Mautic node

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 updated . Spotted something wrong? Tell us.