Skip to main content
Mautic is an open-source marketing automation and CRM platform. It manages contacts and companies, sends email and SMS campaigns, hosts landing pages and forms, and scores contacts through points and lifecycle stages. Mautic is self-hosted, so each organization runs its own instance and this connector reads from that instance directly.

Before you start

Mautic ships with its API switched off. An administrator of your instance has to turn it on before Nekt can read anything.
1

Turn on the API

In Mautic, go to Settings → Configuration → API Settings and set API enabled to Yes. Save and close.
2

Create the credentials

Choose one of the two methods below. OAuth 2 is the one Mautic recommends.OAuth 2 (recommended). Sign in as a user with an administrator role, go to Settings → API Credentials, and add a new credential. Mautic asks for a name and a Redirect URI; the Redirect URI is never used by this connection, so any valid URL will do. Save, then copy the Client ID and Client Secret.Basic authentication. Back in Settings → Configuration → API Settings, also set Enable HTTP basic auth to Yes. Then use the username and password of an existing Mautic user.
The API credential must be created while signed in as an administrator. Mautic only enables the machine-to-machine sign-in this connector uses when an administrator creates the credential, and it only does so at the moment of creation — editing the credential afterwards does not add it. A credential created by any other role is refused at sign-in with no explanation of why. If that happens, delete it and create a new one as an administrator.
What the connection can read is governed by the role of the user behind it. With OAuth 2 that is the role of the administrator who created the credential; with basic authentication it is the role of the user whose password you supplied. A role without permission on part of Mautic makes the matching streams come back empty, and the run log says which ones.

Configuring Mautic as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Mautic option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

The following configurations are available:
  • Mautic URL: The address of your Mautic installation, with no trailing slash — for example https://mautic.example.com. This is your own server, not a shared Mautic address.
  • Authentication Method: oauth2 to sign in with an API credential, or basic to sign in as a Mautic user. Fill in only the fields for the method you chose.
  • Client ID and Client Secret: The two keys from Settings → API Credentials, for the oauth2 method.
  • Username and Password: The credentials of a Mautic user, for the basic method.
  • Start Date: The earliest change to read on the first sync. Later runs continue from where the previous one stopped. Leave it empty to read your full history.
  • Page Size: (Default: 100) Records requested per API call. Mautic’s own default is 30. A larger page means fewer calls but a heavier response for your server to build — lower it if your instance times out or runs out of memory on large tables.
  • Requests Per Minute: (Default: 120) The pace this connection holds itself to, so a full sync does not overwhelm your Mautic server. Set it to 0 to remove the limit.
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.
  • Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
  • Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
  • Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
    • Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:
  • Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
  • Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Mautic exposes two different families of data, and this connector reads both. Records are the things people create and edit in the Mautic interface: contacts, companies, campaigns, emails, forms, segments. Activity tables are the event log behind those records: every send, open, page hit, form submission, campaign step, point change and segment membership. Most analysis needs both — the records give you the what, the activity tables give you the when and how often.

How syncing works

Records sync incrementally on a column named last_changed_at. Mautic leaves its own date_modified empty until a record is edited for the first time, so this connector derives last_changed_at from the modification date and falls back to the creation date. The original date_modified is still available as its own column. Activity tables sync incrementally on id where they have one, which reads each new row exactly once. Tables whose rows are updated after they are written — an email’s open counters, a push notification’s clicks — say so on their id field: choose a full sync for those streams if you need the counters to keep up. Association tables such as segment_memberships have no row id at all and always sync in full.
All timestamps are stored by Mautic in UTC. Activity tables return them without a timezone and this connector reads them as UTC; record endpoints return them with the offset your instance is configured for, and that offset is preserved.

Custom fields

Mautic lets you add your own fields to contacts and companies. The contacts and companies streams have real columns for every field Mautic installs by default (email, firstname, city, companyname, and so on), and a fields column holding the complete set as JSON — including anything your instance added. Use the contact_fields stream to see what each key in that JSON means and what type it holds.

Record streams

Activity streams

These read Mautic’s own database tables through its stats endpoint. The Mautic table column is the name Mautic uses for it, in case you need to cross-reference its documentation.
A stream can come back empty because the table does not exist on your version of Mautic, or because the role behind this connection may not read it. Either way the run log names the stream and says which of the two it was, so nothing fails silently. focus_stats and tweet_stats are the common case: they exist on Mautic 5 and were removed in later versions.

Fields by stream

People known to Mautic, with their built-in and custom fields.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the contact
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • points - Current point score of the contact, as awarded by point actions and triggers
  • last_active - Date and time the contact was last seen doing anything Mautic tracks
  • date_identified - Date and time an anonymous visitor became an identified contact. Empty while the contact is still anonymous
  • color - Hex colour a point trigger assigned to the contact, used to highlight it in the Mautic interface
  • owner_id - Identifier of the Mautic user who owns the contact
  • owner_username - Login name of the Mautic user who owns the contact
  • owner_first_name - Given name of the Mautic user who owns the contact
  • owner_last_name - Family name of the Mautic user who owns the contact
  • title - Honorific or salutation, such as Mr or Dr
  • firstname - Given name of the contact
  • lastname - Family name of the contact
  • company - Free-text company name on the contact itself, which is separate from the company records the contact is linked to
  • position - Job title of the contact
  • email - Primary email address of the contact
  • mobile - Mobile phone number of the contact
  • phone - Landline phone number of the contact
  • fax - Fax number of the contact
  • address1 - First line of the contact’s address
  • address2 - Second line of the contact’s address
  • city - City of the contact’s address
  • state - State, province or region of the contact’s address
  • zipcode - Postal code of the contact’s address
  • country - Country of the contact’s address
  • preferred_locale - Locale the contact prefers to be contacted in
  • timezone - Timezone recorded for the contact
  • attribution - Monetary value attributed to the contact by the campaigns and points configuration
  • attribution_date - Date the attribution value was assigned
  • website - Website of the contact
  • facebook - Facebook handle of the contact
  • foursquare - Foursquare handle of the contact
  • instagram - Instagram handle of the contact
  • linkedin - LinkedIn handle of the contact
  • skype - Skype handle of the contact
  • twitter - Twitter handle of the contact
  • fields - Every contact field and its value, as a JSON object keyed by field alias. This is the complete set for this instance, so it also carries any custom field added locally that has no column of its own
  • tags - Tags applied to the contact (JSON array)
  • utmtags - UTM parameters recorded for the contact (JSON array of objects)
  • do_not_contact - Channels the contact must not be contacted on, with the reason for each (JSON array of objects)
  • ip_addresses - IP addresses seen for the contact, with any geolocation details Mautic resolved (JSON object keyed by address)
Organizations known to Mautic, with their built-in and custom fields.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the company
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • score - Score assigned to the company by Mautic’s company scoring
  • owner_id - Identifier of the Mautic user who owns the company
  • owner_username - Login name of the Mautic user who owns the company
  • owner_first_name - Given name of the Mautic user who owns the company
  • owner_last_name - Family name of the Mautic user who owns the company
  • companyname - Name of the company
  • companyemail - Email address of the company
  • companyphone - Phone number of the company
  • companywebsite - Website of the company
  • companyaddress1 - First line of the company’s address
  • companyaddress2 - Second line of the company’s address
  • companycity - City of the company’s address
  • companystate - State, province or region of the company’s address
  • companyzipcode - Postal code of the company’s address
  • companycountry - Country of the company’s address
  • companyindustry - Business sector the company operates in
  • companydescription - Free-text description of the company
  • companynumber_of_employees - Headcount recorded for the company
  • companyannual_revenue - Annual revenue recorded for the company
  • companyfax - Fax number of the company
  • fields - Every company field and its value, as a JSON object keyed by field alias, including any custom field added on this instance
Automation campaigns and the event tree that drives each one.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the campaign
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Name of the campaign
  • description - Free-text description of the campaign
  • alias - URL-safe alias generated from the campaign name
  • events - The campaign’s decisions and actions with their triggers and ordering (JSON array of objects)
Email templates and campaign emails, with their aggregate send counters.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the email
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Internal name of the email
  • subject - Subject line sent to recipients
  • language - Language code of the email
  • from_address - Address the email is sent from
  • from_name - Display name the email is sent from
  • reply_to_address - Address replies are sent to
  • bcc_address - Address blind-copied on every send
  • use_owner_as_mailer - Whether the email is sent from the contact’s owner instead of the configured sender
  • preheader_text - Preview text shown after the subject line in most inboxes
  • custom_html - Rendered HTML body of the email
  • plain_text - Plain-text body of the email
  • template - Theme used to style the email
  • email_type - Whether the email is sent to a segment (list) or used by a campaign action (template)
  • public_preview - Whether the email can be viewed at a public URL
  • read_count - Number of times the email has been opened, counted by Mautic
  • sent_count - Number of times the email has been sent, counted by Mautic
  • revision - Revision number of the email
  • variant_start_date - Date the A/B test on this email started
  • variant_sent_count - Number of sends attributed to variants of this email
  • variant_read_count - Number of opens attributed to variants of this email
  • variant_parent - Identifier of the email this one is an A/B variant of
  • translation_parent - Identifier of the email this one is a translation of
  • send_to_dnc - Whether the email is sent to contacts marked do-not-contact
  • utm_tags - UTM parameters appended to links (JSON object)
  • asset_attachments - Assets attached to the email (JSON array)
  • variant_children - Identifiers of the A/B variants of this email (JSON array)
  • translation_children - Identifiers of the translations of this email (JSON array)
  • dynamic_content - Dynamic content blocks and their filters (JSON array of objects)
  • lists - Segments this email is sent to (JSON array of objects)
  • headers - Custom email headers (JSON object)
  • settings - Per-email settings (JSON object)
  • grapesjsbuilder - Configuration saved by the drag-and-drop email builder (JSON object)
  • unsubscribe_form - Form used as the unsubscribe page for this email (JSON object)
Forms, with their field definitions and submit actions.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the form
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Name of the form
  • alias - URL-safe alias of the form
  • description - Description of the form
  • form_type - Whether the form stands alone or belongs to a campaign
  • template - Theme used to style the form
  • language - Language code of the form
  • in_kiosk_mode - Whether submissions are recorded without cookie tracking or IP association, as on a shared device at an event
  • render_style - Whether Mautic includes its own CSS when rendering the form
  • post_action - What happens after a submission: nothing, a redirect, or a message
  • post_action_property - The redirect URL or the success message that goes with the post action
  • no_index - Whether the form page asks search engines not to index it
  • form_attributes - Custom HTML attributes added to the form tag
  • submission_limit - Maximum number of submissions the form accepts. Empty means unlimited
  • submission_limit_message - Message shown once the submission limit is reached
  • submission_count - Number of submissions recorded for the form
  • cached_html - The HTML and CSS Mautic generated for the form
  • fields - Field definitions of the form, including type, validation and the contact field each one maps to (JSON object keyed by field alias)
  • actions - Actions run when the form is submitted (JSON object keyed by action alias)
Contact segments and the filters that define their membership.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the segment
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Internal name of the segment
  • public_name - Name shown to contacts where the segment is public
  • alias - URL-safe alias of the segment
  • description - Description of the segment
  • is_global - Whether every Mautic user can use the segment, rather than only the user who created it
  • is_preference_center - Whether contacts can subscribe to the segment themselves from a preference centre
  • filters - Rules that decide which contacts belong to the segment (JSON array of objects). Membership itself is in the segment_memberships stream
Downloadable files hosted or linked by Mautic.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the asset
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • title - Title of the asset
  • description - Description of the asset
  • alias - URL-safe alias of the asset
  • language - Language code of the asset
  • download_count - Total number of downloads, counting repeat downloads by the same contact
  • unique_download_count - Number of distinct contacts who downloaded the asset
  • revision - Revision number of the asset
  • extension - File extension of the asset
  • mime - MIME type of the asset
  • size - File size of the asset in bytes
  • download_url - Public URL the asset is served at
Notes people write on a contact’s timeline.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the note
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • contact_id - Identifier of the contact the note is attached to
  • text - Body of the note, which may contain HTML
  • type - Kind of note: general, email, call or meeting
  • date_time - Date and time the note refers to, which the author sets and which can differ from when the note was written
Lifecycle stages a contact can be moved through.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the stage
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Name of the stage
  • description - Description of the stage
  • weight - Position of the stage in the lifecycle. Mautic requires it to be unique across stages, so it orders them
Tags available to label contacts.Key: idSync: full tableFields:
  • id - Unique identifier of the tag
  • tag - Text of the tag
  • description - Description of the tag
Categories used to file emails, forms, campaigns, and other records.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the category
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • title - Name of the category
  • alias - URL-safe alias of the category
  • description - Description of the category
  • color - Hex colour assigned to the category
  • bundle - Part of Mautic the category applies to, such as email, form or campaign
Definitions of the contact fields this instance has, including custom ones.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the field
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • label - Name of the field as people see it
  • alias - Key the field’s value appears under in the contacts stream’s fields column
  • description - Description of the field
  • type - Kind of field, such as text, number, date, select or country
  • group - Group the field is shown under
  • order - Position of the field within its group
  • object - Whether the field belongs to contacts or to companies
  • default_value - Value used when none is given
  • is_required - Whether a value must be supplied
  • is_publicly_updatable - Whether a public request, such as the tracking pixel, may set this field
  • is_unique_identifier - Whether two contacts sharing this value are merged into one
  • properties - Type-specific configuration, such as the options of a select field (JSON object)
Point groups, which let a contact hold separate scores side by side.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the point group
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • name - Name of the point group
  • description - Description of the point group
Web push notifications defined on the instance.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the notification
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Internal name of the notification
  • heading - Heading shown to the recipient
  • message - Body shown to the recipient
  • url - Address opened when the notification is clicked
  • language - Language code of the notification
  • read_count - Number of times the notification was read
  • sent_count - Number of times the notification was sent
SMS messages defined on the instance.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the text message
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • publish_up - Date and time from which the record becomes active
  • publish_down - Date and time from which the record stops being active
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Internal name of the text message
  • message - Body of the text message
  • language - Language code of the text message
  • sent_count - Number of times the message was sent
Mautic’s own staff accounts, and the role each one holds.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the user
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • username - Login name of the user
  • first_name - Given name of the user
  • last_name - Family name of the user
  • email - Email address of the user
  • position - Job title of the user
  • timezone - Timezone the user works in
  • locale - Language the interface is shown in
  • last_login - Date and time the user last signed in
  • last_active - Date and time the user was last active
  • signature - Email signature of the user
  • role_id - Identifier of the role assigned to the user
  • role_name - Name of the role assigned to the user
  • role_is_admin - Whether the role grants full access to the instance. Only an administrator can create the API credential this connector uses
Outgoing webhooks configured on the instance.Key: idSync: incremental on last_changed_atFields:
  • id - Unique identifier of the webhook
  • is_published - Whether the record is currently published and in use
  • date_added - Date and time the record was created
  • created_by - Identifier of the Mautic user who created the record
  • created_by_user - Name of the Mautic user who created the record
  • date_modified - Date and time the record was last edited. Empty on a record that has never been edited since it was created
  • modified_by - Identifier of the Mautic user who last edited the record
  • modified_by_user - Name of the Mautic user who last edited the record
  • last_changed_at - Date and time the record last changed, falling back to the creation date for a record that was never edited. Derived by this connector and used as the incremental replication key
  • category_id - Identifier of the category the record is filed under
  • category_title - Name of the category the record is filed under
  • category_alias - URL-safe alias of the category the record is filed under
  • name - Name of the webhook
  • description - Description of the webhook
  • webhook_url - URL Mautic posts the payload to
  • events_orderby_dir - Order the batched events are sent in
  • triggers - Event types that make the webhook fire (JSON array)
One row per email sent to a contact, with its delivery and open state. Reads Mautic’s email_stats table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the send. Rows in this table keep changing after they are created, so an incremental sync keyed on this column records each row as it was when first read. Choose a full sync for this stream if those later changes have to stay current.
  • email_id - Identifier of the email involved
  • lead_id - Identifier of the contact the row belongs to
  • list_id - Identifier of the segment the send was addressed to, when it came from a segment rather than a campaign
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • email_address - Address the email was actually sent to
  • date_sent - Date and time the email was sent
  • is_read - Whether the recipient has opened the email at least once
  • date_read - Date and time of the first open
  • open_count - Number of times the email has been opened
  • last_opened - Date and time of the most recent open
  • open_details - Details of each open, such as when and from where (JSON)
  • is_failed - Whether delivery failed
  • retry_count - Number of delivery attempts made
  • viewed_in_browser - Whether the recipient opened the web version instead of the email itself
  • tracking_hash - Unique hash identifying this send in tracking links
  • source - What caused this row, such as email, campaign or form — Mautic’s internal source name
  • source_id - Identifier of the record named by source
  • tokens - Personalisation tokens resolved for this send (JSON object)
  • copy_id - Identifier of the stored copy of the message body, shared by every send of the same content
Replies Mautic matched back to an email it sent. Reads Mautic’s email_stat_replies table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • stat_id - Identifier of the send record this row refers to
  • date_replied - Date and time the reply arrived
  • message_id - Message-ID header of the reply
Which device each email open came from. Reads Mautic’s email_stats_devices table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • stat_id - Identifier of the send record this row refers to
  • device_id - Identifier of the device record involved
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • date_opened - Date and time the email was opened
Every tracked page view, on a Mautic landing page or a site carrying the tracking script. Reads Mautic’s page_hits table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the page view. Rows in this table keep changing after they are created, so an incremental sync keyed on this column records each row as it was when first read. Choose a full sync for this stream if those later changes have to stay current.
  • page_id - Identifier of the landing page involved
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • email_id - Identifier of the email involved
  • redirect_id - Identifier of the tracked link involved
  • device_id - Identifier of the device record involved
  • date_hit - Date and time the page was opened
  • date_left - Date and time the visitor left the page. Written after the row is created, and empty when the visitor never triggered the tracking script again
  • url - Address involved
  • url_title - Title of the page that was viewed
  • referer - Address the visitor arrived from
  • query - Query string of the address (JSON object)
  • source - What caused this row, such as email, campaign or form — Mautic’s internal source name
  • source_id - Identifier of the record named by source
  • tracking_id - Anonymous tracking cookie value of the visitor
  • user_agent - Browser user agent string reported by the visitor
  • browser_languages - Languages the visitor’s browser asked for (JSON array)
  • page_language - Language of the page that was viewed
  • remote_host - Hostname resolved for the visitor’s IP address
  • city - City resolved from the visitor’s IP address
  • region - Region resolved from the visitor’s IP address
  • country - Country resolved from the visitor’s IP address
  • isp - Internet provider resolved from the visitor’s IP address
  • organization - Organisation resolved from the visitor’s IP address
  • code - HTTP status code returned to the visitor
One row per form submission. The submitted values themselves stay in Mautic’s form results tables and are not exposed by the API. Reads Mautic’s form_submissions table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • form_id - Identifier of the form involved
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • page_id - Identifier of the landing page the form was submitted from
  • date_submitted - Date and time the form was submitted
  • referer - Address the visitor arrived from
  • tracking_id - Anonymous tracking cookie value of the visitor
Every download of a file hosted as a Mautic asset. Reads Mautic’s asset_downloads table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • asset_id - Identifier of the asset involved
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • email_id - Identifier of the email involved
  • date_download - Date and time the file was downloaded
  • code - HTTP status code returned to the visitor
  • referer - Address the visitor arrived from
  • source - What caused this row, such as email, campaign or form — Mautic’s internal source name
  • source_id - Identifier of the record named by source
  • tracking_id - Anonymous tracking cookie value of the visitor
  • utm_source - Value of the utm_source column in asset_downloads
  • utm_medium - Value of the utm_medium column in asset_downloads
  • utm_campaign - Value of the utm_campaign column in asset_downloads
  • utm_content - Value of the utm_content column in asset_downloads
  • utm_term - Value of the utm_term column in asset_downloads
Every campaign step taken for a contact, including steps still scheduled. Reads Mautic’s campaign_lead_event_log table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • campaign_id - Identifier of the campaign involved
  • event_id - Identifier of the event involved
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • channel - Channel involved, such as email, sms or notification
  • channel_id - Identifier of the record within that channel
  • date_triggered - Date and time the step actually ran. Empty while it is still scheduled
  • trigger_date - Date and time the step is due to run
  • is_scheduled - Whether the step is still waiting to run
  • system_triggered - Whether Mautic ran the step by itself rather than a person forcing it
  • non_action_path_taken - Whether the contact followed the negative branch of a decision
  • rotation - Which pass through the campaign this row belongs to, for campaigns a contact can re-enter
  • metadata - Details of the step’s outcome (JSON object)
Which contacts are in which campaign. Keyed by the campaign and contact pair rather than by a row id, and edited in place when someone leaves, so it always syncs in full. Reads Mautic’s campaign_leads table.Key: campaign_id, lead_idSync: full tableFields:
  • campaign_id - Identifier of the campaign involved
  • lead_id - Identifier of the contact the row belongs to
  • date_added - Date and time the contact entered the campaign
  • date_last_exited - Date and time the contact last left the campaign
  • manually_added - Whether someone added this link by hand rather than it being applied by a filter
  • manually_removed - Whether someone removed this link by hand even though a filter still matches
  • rotation - Number of times the contact has gone through the campaign
Which contacts are in which segment. Keyed by the segment and contact pair rather than by a row id, and edited in place on removal, so it always syncs in full. Reads Mautic’s lead_lists_leads table.Key: leadlist_id, lead_idSync: full tableFields:
  • leadlist_id - Identifier of the segment
  • lead_id - Identifier of the contact the row belongs to
  • date_added - Date and time the contact joined the segment
  • manually_added - Whether someone added this link by hand rather than it being applied by a filter
  • manually_removed - Whether someone removed this link by hand even though a filter still matches
Which contacts belong to which company. Keyed by the company and contact pair, so it always syncs in full. Reads Mautic’s companies_leads table.Key: company_id, lead_idSync: full tableFields:
  • company_id - Identifier of the company involved
  • lead_id - Identifier of the contact the row belongs to
  • date_added - Date and time the contact was linked to the company
  • is_primary - Whether this is the contact’s main company
  • manually_added - Whether someone added this link by hand rather than it being applied by a filter
  • manually_removed - Whether someone removed this link by hand even though a filter still matches
Category subscriptions a contact holds, as used by preference centres. Reads Mautic’s lead_categories table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • category_id - Identifier of the category involved
  • date_added - Date and time the row was recorded
  • manually_added - Whether someone added this link by hand rather than it being applied by a filter
  • manually_removed - Whether someone removed this link by hand even though a filter still matches
Audit trail of what changed on each contact and who changed it. Reads Mautic’s lead_event_log table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • action - Action performed, such as create, update or delete
  • bundle - Part of Mautic the action happened in
  • object - Kind of record the action applied to
  • object_id - Identifier of the record the action applied to
  • properties - What the change was, before and after (JSON object)
  • user_id - Identifier of the Mautic user who performed the action
  • user_name - Name of the Mautic user who performed the action
  • date_added - Date and time the row was recorded
Every point award or deduction, with what caused it. Reads Mautic’s lead_points_change_log table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • type - Internal type of the change
  • event_name - Human-readable name of the event that caused the change
  • action_name - Human-readable name of the action that caused the change
  • delta - Points added, or removed when negative
  • group_id - Identifier of the point group the change belongs to, when the instance keeps separate scores side by side
  • date_added - Date and time the points changed
Every move of a contact from one lifecycle stage to another. Reads Mautic’s lead_stages_change_log table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • stage_id - Identifier of the stage involved
  • event_name - Human-readable name of the event that caused the change
  • action_name - Human-readable name of the action that caused the change
  • date_added - Date and time the stage changed
History of contacts being linked to and unlinked from companies. Reads Mautic’s lead_companies_change_log table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • company_id - Identifier of the company involved
  • type - Internal type of the change
  • event_name - Human-readable name of the event that caused the change
  • action_name - Human-readable name of the action that caused the change
  • date_added - Date and time the row was recorded
Contacts that must not be contacted on a given channel, and why. Reads Mautic’s lead_donotcontact table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • channel - Channel involved, such as email, sms or notification
  • channel_id - Identifier of the record within that channel
  • reason - Why contact is blocked, as Mautic’s own code: 1 unsubscribed, 2 bounced, 3 marked as spam
  • comments - Free-text note recorded with the block
  • date_added - Date and time the block was recorded
Devices seen for each contact, as detected from their browser. Reads Mautic’s lead_devices table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • client_info - Everything detected about the browser (JSON object)
  • device - Kind of device, such as desktop, smartphone or tablet
  • device_brand - Manufacturer of the device
  • device_model - Model of the device
  • device_os_name - Operating system of the device
  • device_os_platform - Platform of the operating system
  • device_os_shortname - Short code of the operating system
  • device_os_version - Version of the operating system
  • device_fingerprint - Fingerprint used to recognise the device again
  • tracking_id - Anonymous tracking cookie value of the visitor
  • date_added - Date and time the row was recorded
UTM parameters recorded the times a contact arrived from a tagged link. Reads Mautic’s lead_utmtags table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • utm_source - Value of the utm_source parameter
  • utm_medium - Value of the utm_medium parameter
  • utm_campaign - Value of the utm_campaign parameter
  • utm_content - Value of the utm_content parameter
  • utm_term - Value of the utm_term parameter
  • url - Address involved
  • referer - Address the visitor arrived from
  • query - Query string of the address (JSON object)
  • remote_host - Hostname resolved for the visitor’s IP address
  • user_agent - Browser user agent string reported by the visitor
  • date_added - Date and time the row was recorded
Per-contact limits on how often each channel may be used. Reads Mautic’s lead_frequencyrules table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • channel - Channel involved, such as email, sms or notification
  • frequency_number - How many messages are allowed in the period
  • frequency_time - Length of the period, such as DAY, WEEK or MONTH
  • preferred_channel - Whether this is the contact’s preferred channel
  • pause_from_date - Start of a period the contact asked not to be contacted in
  • pause_to_date - End of that period
  • date_added - Date and time the row was recorded
Which point actions have already fired for which contact, so they do not fire twice. Keyed by the point and contact pair, so it syncs in full. Reads Mautic’s point_lead_action_log table.Key: point_id, lead_idSync: full tableFields:
  • point_id - Identifier of the point action
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • date_fired - Date and time the rule fired for this contact
Which point-group events have fired for which contact. Keyed by the event and contact pair, so it syncs in full. Reads Mautic’s point_lead_event_log table.Key: event_id, lead_idSync: full tableFields:
  • event_id - Identifier of the event involved
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • date_fired - Date and time the rule fired for this contact
Which stage actions have fired for which contact. Keyed by the stage and contact pair, so it syncs in full. Reads Mautic’s stage_lead_action_log table.Key: stage_id, lead_idSync: full tableFields:
  • stage_id - Identifier of the stage involved
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • date_fired - Date and time the rule fired for this contact
One row per text message sent to a contact. Reads Mautic’s sms_message_stats table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • sms_id - Identifier of the text message involved
  • lead_id - Identifier of the contact the row belongs to
  • list_id - Identifier of the segment the send was addressed to, when it came from a segment rather than a campaign
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • date_sent - Date and time the message was sent
  • source - What caused this row, such as email, campaign or form — Mautic’s internal source name
  • source_id - Identifier of the record named by source
  • tokens - Personalisation tokens resolved for this send (JSON object)
  • tracking_hash - Unique hash identifying this send in tracking links
  • is_failed - Value of the is_failed column in sms_message_stats
  • details - Value of the details column in sms_message_stats
One row per web push notification sent to a contact, with its click state. Reads Mautic’s push_notification_stats table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the send. Rows in this table keep changing after they are created, so an incremental sync keyed on this column records each row as it was when first read. Choose a full sync for this stream if those later changes have to stay current.
  • notification_id - Identifier of the push notification involved
  • lead_id - Identifier of the contact the row belongs to
  • list_id - Identifier of the segment the send was addressed to, when it came from a segment rather than a campaign
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • date_sent - Date and time the notification was sent
  • date_read - Date and time the notification was displayed
  • is_clicked - Whether the recipient clicked the notification
  • date_clicked - Date and time of the first click
  • click_count - Number of times the notification was clicked
  • last_clicked - Date and time of the most recent click
  • click_details - Details of each click (JSON)
  • retry_count - Number of delivery attempts made
  • source - What caused this row, such as email, campaign or form — Mautic’s internal source name
  • source_id - Identifier of the record named by source
  • tokens - Personalisation tokens resolved for this send (JSON object)
  • tracking_hash - Unique hash identifying this send in tracking links
How often each dynamic content variant was shown to a contact. Reads Mautic’s dynamic_content_stats table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row. Rows in this table keep changing after they are created, so an incremental sync keyed on this column records each row as it was when first read. Choose a full sync for this stream if those later changes have to stay current.
  • dynamic_content_id - Identifier of the dynamic content block involved
  • lead_id - Identifier of the contact the row belongs to
  • date_sent - Date and time the variant was first shown
  • last_sent - Date and time the variant was most recently shown
  • sent_count - Number of times the variant was shown
  • sent_details - Details of each display (JSON)
  • source - What caused this row, such as email, campaign or form — Mautic’s internal source name
  • source_id - Identifier of the record named by source
  • tokens - Personalisation tokens resolved for this send (JSON object)
Which dynamic content slot a contact last saw. Reads Mautic’s dynamic_content_lead_data table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • dynamic_content_id - Identifier of the dynamic content block involved
  • lead_id - Identifier of the contact the row belongs to
  • slot - Name of the slot on the page or email
  • date_added - Date and time the row was recorded
Views of videos embedded with Mautic’s video tracking. Reads Mautic’s video_hits table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • lead_id - Identifier of the contact the row belongs to
  • ip_id - Identifier of the IP address record involved, which resolves against the ip_addresses stream
  • channel - Channel involved, such as email, sms or notification
  • channel_id - Identifier of the record within that channel
  • guid - Identifier of the viewing session
  • url - Address involved
  • date_hit - Date and time the video started playing
  • date_left - Date and time the viewer left
  • duration - Total length of the video in seconds
  • time_watched - Seconds of the video actually watched
  • referer - Address the visitor arrived from
  • query - Query string of the address (JSON object)
  • user_agent - Browser user agent string reported by the visitor
  • browser_languages - Languages the visitor’s browser asked for (JSON array)
  • page_language - Language of the page that was viewed
  • remote_host - Hostname resolved for the visitor’s IP address
  • city - City resolved from the visitor’s IP address
  • region - Region resolved from the visitor’s IP address
  • country - Country resolved from the visitor’s IP address
  • isp - Internet provider resolved from the visitor’s IP address
  • organization - Organisation resolved from the visitor’s IP address
  • code - HTTP status code returned to the visitor
The IP addresses every other table refers to by ip_id, with whatever geolocation Mautic resolved for them. Reads Mautic’s ip_addresses table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • ip_address - The IP address itself
  • ip_details - Geolocation resolved for the address: city, region, country, provider and coordinates (JSON object)
Mautic’s own audit trail of who changed what across the instance. Reads Mautic’s audit_log table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • bundle - Part of Mautic the action happened in
  • object - Kind of record the action applied to
  • object_id - Identifier of the record the action applied to
  • action - Action performed, such as create, update or delete
  • details - What changed, before and after (JSON object)
  • user_id - Identifier of the Mautic user who performed the action
  • user_name - Name of the Mautic user who performed the action
  • ip_address - IP address the change was made from
  • date_added - Date and time the row was recorded
Views and interactions with Focus items — the pop-ups, notices and banners Mautic injects into a page. Present on Mautic 5 and removed in later versions, where this stream simply reports itself unavailable. Reads Mautic’s focus_stats table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • focus_id - Identifier of the Focus item
  • lead_id - Identifier of the contact the row belongs to
  • type - What the contact did, such as view or click
  • type_id - Identifier of the record that interaction refers to
  • date_added - Date and time the row was recorded
Tweets Mautic sent on a contact’s behalf. Present on Mautic 5 and removed in later versions, where this stream simply reports itself unavailable. Reads Mautic’s tweet_stats table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • tweet_id - Identifier of the tweet template in Mautic
  • lead_id - Identifier of the contact the row belongs to
  • twitter_tweet_id - Identifier the network gave the posted tweet
  • handle - Account the tweet was addressed to
  • date_sent - Date and time the tweet was sent
  • is_failed - Whether sending failed
  • retry_count - Number of delivery attempts made
  • favorite_count - Number of favourites the tweet received
  • retweet_count - Number of retweets the tweet received
  • response_details - What the network answered (JSON)
  • source - What caused this row, such as email, campaign or form — Mautic’s internal source name
  • source_id - Identifier of the record named by source
Delivery attempts of the instance’s outgoing webhooks. Reads Mautic’s webhook_logs table.Key: idSync: incremental on idFields:
  • id - Unique identifier of the row
  • webhook_id - Identifier of the webhook involved
  • status_code - HTTP status the receiving endpoint returned
  • runtime - How long the delivery took, in seconds
  • note - Error text recorded when the delivery failed
  • date_added - Date and time the row was recorded