Skip to content
Creates API endpoints for receiving contacts from external sources.
JavaScript PHP CSS
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


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 Updated Source API Documentation Jun 28, 2019
Command [ENG-832] PHPCS Jul 10, 2019
Config [ENG-873] Request PR changes. May 21, 2019
Controller phpcsfix Jun 28, 2019
DependencyInjection/Compiler [ENG-892] php-cs-fixer May 8, 2019
Entity [ENG-1030] Upgrade IDs to Bigint where appropriate. Sep 3, 2019
Event [ENG-676] ajax load transactions tab, multiple filters, fix sorting, … Dec 12, 2018
EventListener [ENG-972] Fixes expand all for Source events and JSON_PRETTY_PRINT's … Jun 12, 2019
Exception General code cleanup sweep. Jul 6, 2018
Form [ENG-770] Allows transaction exports to be disabled on Roles Feb 15, 2019
Helper php-cs-fixer May 28, 2019
Integration Merge branch 'master' into ENG-993-memory-limit-parallel-threads Jul 9, 2019
Model [ENG-1030] Upgrade IDs to Bigint where appropriate. Sep 3, 2019
Security/Permissions [ENG-770] Ugly work around Feb 15, 2019
Tests Forgot to set a $repo variable. Jul 9, 2019
Translations/en_US [ENG-993] Apply memory limit to parallel threads. Jul 3, 2019
Views phpcsfix Jun 28, 2019
.gitignore Add travis for BC checks. Mar 1, 2018
.travis.yml Add test for PHP 7.2 Feb 5, 2019
ContactSourceEvents.php General code cleanup sweep. Jul 6, 2018
Gruntfile.js Remove sourcemaps. Mar 9, 2018
LICENSE Rename from Server --> Source Feb 20, 2018
LICENSES [ENG-314] Add of a slate template to build on. May 31, 2018
MauticContactSourceBundle.php [ENG-892] php-cs-fixer May 8, 2019 Update Mar 4, 2019
composer.json Improve readme and description. Feb 20, 2018
package-lock.json Bump minimist from 1.2.0 to 1.2.5 Mar 14, 2020
package.json Security audit. Dec 14, 2018
yarn.lock [ENG-972] Fixes expand all for Source events and JSON_PRETTY_PRINT's … Jun 12, 2019

Mautic Contact Source Latest Stable Version License Build Status

Creates easy-to-use API endpoints for receiving contacts from external sources.

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 Client to discern real-time acceptance criteria with external clients.

Installation & Usage

Choose a release that matches your version of Mautic.

Mautic version Installation
2.12.x composer require thedmsgroup/mautic-contact-source-bundle "^2.12"
2.14.x composer require thedmsgroup/mautic-contact-source-bundle "^2.14"
2.15.x composer require thedmsgroup/mautic-contact-source-bundle "^2.15"
  1. Install by running the command above or by downloading the appropriate version and unpacking the contents into a folder named /plugins/MauticContactSourceBundle
  2. Go to /s/plugins/reload
  3. After a refresh you will find "Sources" in the main menu, you can dive in and create your first one.


By default your third parties can POST contacts to urls matching this pattern:


Uses these fine libraries:


  • Campaigns: A whitelist of campaigns can be selected for the third party to post into.
  • Campaign Caps: Limit the number of contacts accepted to a campaign within defined time frames.
  • Campaign Finance: Track the cost/revenue of contacts upon ingestion per campaign.
  • Campaign Scrub: Support an optional scrub-rate per campaign which affects the cost/revenue.
  • Caps: Rules to limit the quantity of successful contacts can be received.
  • Logging: Log statistics on contact ingestion, provide charts when viewing a source in the UI.
  • Self-Documentation: Each source (API) generates a public documentation page for a third party (optional).
  • Imports: Allows you to assign an import to a Source and Campaign destination.


  • Campaign Required Fields: The fields being used within a campaign should percolate upward to the Source, updating required fields.
  • Notifications: Third parties should be notified when their API changes (such as an added campaign or required field change).
  • Batch Support: Import multiple contacts at once for improved performance.
You can’t perform that action at this time.