Skip to content
Create custom integrations without writing code, like having your own Zapier.
Branch: master
Clone or download


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github [ENG-827] Add template for risk assesment on Pull Request. Apr 30, 2019
Assets Related code hardening. Sep 19, 2019
Command [ENG-1045] Move verbose output for each file. Oct 7, 2019
Config Merge branch 'master' into ENG-918 Jun 27, 2019
Constraints [ENG-965] General code cleanup sweep. Jun 11, 2019
Controller small change - move variable declaration to avoid warnings Jul 10, 2019
Entity [ENG-1031] Cleanup. Sep 3, 2019
Event [ENG-965] Suggested cleanup. Jun 18, 2019
EventListener [ENG-965] Code style cleanup. Jun 18, 2019
Exception [ENG-965] General code cleanup sweep. Jun 11, 2019
Form/Type Minor corrections. Jul 17, 2019
Helper [ENG-1106] Improve nested filter group logic. Mar 30, 2020
Integration [ENG-1025] Improve newrelic client error accuracy. Aug 26, 2019
Model Prevent exceeding file delivery rates greather than 1. Oct 29, 2019
Security/Permissions [ENG-120] Complete filtering contacts via UI. Feb 21, 2019
Services Merge branch 'master' into ENG-965-perf-improvement Jun 18, 2019
Tests Merge branch 'master' into ENG-965-perf-improvement Jun 18, 2019
Translations/en_US [ENG-1045] Improve file delivery fault tolerance. Oct 4, 2019
Views Merge branch 'master' into ENG-918 Jun 27, 2019
.gitignore Add travis for BC checks. Mar 1, 2018
.travis.yml Correct phpstan-shim installation in Travis. Feb 7, 2019
ContactClientEvents.php [ENG-747] DNC Channel support. Feb 19, 2019 Update Jun 13, 2018
Gruntfile.js Minor style normalization. Mar 9, 2018
LICENSE Create LICENSE Jan 30, 2018
LICENSES Correct issue where JS can fail to fire. Jul 9, 2018
MauticContactClientBundle.php [ENG-965] General code cleanup sweep. Jun 11, 2019 Update Feb 15, 2019
composer.json Upgrade fly system AWS S3 version to 3. Dec 7, 2018
package-lock.json Bump minimist from 1.2.0 to 1.2.5 Mar 14, 2020
package.json Security audit. Dec 14, 2018

Mautic Contact Client Latest Stable Version License Build Status

Create integrations/enhancers without touching code. Allows you to send contacts to third parties, supporting virtually any API. Unlike webhooks the result can be used to enhance/modify the contact and virtually any API/Client is supported by chaining API operations as needed.

Designed for use by performance marketers who enhance/exchange contacts in mass quantities. Can optionally be used in tandem with it's sibling Mautic Contact Source.


Creating a new Client Duplicate Rules Exclusivity Rules Setting Payload Finances Scheduling Stats


  • Campaign: Queue a contact to be sent within a Campaign as you would any integration.
  • Campaign: Allow fields to be overridden within a campaign workflow for specific use cases.
  • Duplicates: Rules to detect limited duplicates prior to send.
  • Exclusivity: Rules to allow a client limited exclusivity prior to send.
  • API: Rules to define the measurement of a successful send based on status/headers/body.
  • API: Supports any Auth types, ping/post, and more by chaining API operations.
  • API: Map fields from an API to update or enhance contacts on success.
  • Finances: Track cost/revenue in the attribution field.
  • Schedule: Choose to send based on days/hours/exclusions including multiple timezone support.
  • Command line: Method provided to pipe a contact through any published client.
  • Budgets: Rules to limit the quantity of successful contacts sent to a client.
  • Files: Allow a file payload to send for clients that have no API. Contacts will queued and added to a file to be delivered to clients by FTP/SFTP/S3/Email by a schedule.
  • Logging: Logs the complete transaction, revenue, audit trail and integration (on contacts). Searchable.

Installation & Usage

Currently being used with Mautic 2.14.x+. If you have success/issues with other versions please report.

  1. Install by running composer require thedmsgroup/mautic-contact-client-bundle
  2. Go to /s/plugins/reload
  3. Click "Clients" and "Publish" the plugin.
  4. You'll find "Clients" in the main menu and can dive in to create your first one.


You can use Mustache to format outgoing field values with any client. Just use the field alias, like so "{{ firstname }} {{ lastname }}" to send the full name, or "{{ email }}" to just send the email. Other contextual schema (such as previous headers/body fields) is also available (just start typing "payload" for suggestions).

Uses these fine libraries:


  • Filtering: Rules to globally exclude contacts from sending to a client based on field values.
  • Finance: Dynamic attribution on a per-campaign basis.
  • Campaign: Provide a better widget for including clients in campaigns (using the integration screen is a bit tedious, and there's not an easy way to divert success/failure).
You can’t perform that action at this time.