How to Install Mautic and Integrate With SuiteCRM: Complete Developer Guide (2026)

Marketing automation combined with CRM is a powerful solution for businesses of all sizes. Platforms like Mautic, an open-source marketing automation tool, paired with SuiteCRM, a robust open-source CRM, can streamline marketing and sales workflows. This guide provides a complete developer-focused approach to installing Mautic and manually integrating it with SuiteCRM without any plugins or paid tools.

We will cover setup, authentication, API-based integration, field mapping, synchronization, cron jobs, error handling, and best practices.

For Install Mautic and Integrate with SuiteCRM Without Plugins Read This informative blog 
How to Install Mautic and Integrate With SuiteCRM

1. Introduction

Mautic is an open-source marketing automation platform that allows businesses to manage campaigns, landing pages, email marketing, and lead scoring. SuiteCRM is a full-featured CRM solution designed to manage customer interactions, sales, and contacts. Integrating these systems can help businesses automate workflows, improve data accuracy, and increase efficiency.

This guide is intended for developers and technical professionals who want full control over the integration without relying on third-party plugins.

2. Why Integrate Mautic with SuiteCRM

Integrating Mautic with SuiteCRM provides:

  • Seamless lead synchronization: Keep contacts updated across marketing and sales.

  • Automated campaigns: Trigger emails based on CRM data or lead activity.

  • Data consistency: Avoid duplicate records or inconsistent information.

  • Full control: No paid plugins, all API calls are handled manually.

This integration aligns marketing and sales, creating a single source of truth for customer data.

3. System Requirements

Mautic Requirements:

  • OS: Ubuntu 20.04 LTS / CentOS 8

  • PHP: 8.1+

  • Web Server: Apache or Nginx

  • Database: MySQL 8.0 / MariaDB

  • PHP Extensions: cURL, GD, mbstring, XML, ZIP, intl, pdo_mysql

  • Composer for dependency management

SuiteCRM Requirements:

  • OS: Ubuntu / CentOS

  • PHP: 7.4+

  • Web Server: Apache recommended

  • Database: MySQL or MariaDB

  • Memory: 1GB+ recommended

4. Installing Mautic on Ubuntu

  1. Update Packages
  2. sudo apt update && sudo apt upgrade -y
  1.  
  2. Install PHP and Extensions
  3. sudo apt install php php-cli php-mbstring php-xml php-curl php-gd php-intl php-zip php-mysql unzip -y
  1. Install Composer
  2. sudo apt install composer -y
  1. Download Mautic
  2. cd /var/www/html
    sudo wget https://www.mautic.org/download/latest -O mautic.zip
    sudo unzip mautic.zip -d mautic
    sudo chown -R www-data:www-data mautic
    sudo chmod -R 755 mautic
  1. Configure Apache for Mautic
  2. <VirtualHost *:80>
        ServerAdmin admin@example.com
        DocumentRoot /var/www/html/mautic
        ServerName mautic.example.com
    
        <Directory /var/www/html/mautic>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/mautic_error.log
        CustomLog ${APACHE_LOG_DIR}/mautic_access.log combined
    </VirtualHost>
  1. Enable Site and Rewrite Module
  2. sudo a2ensite mautic.conf
    sudo a2enmod rewrite
    sudo systemctl restart apache2
  1. Complete Mautic Setup
  • Navigate to http://mautic.example.com.
  • Enter database details and create the admin account.

5. Configuring Mautic

  • Enable API access: Settings → API Settings → Enable API

  • Create API User: Settings → Users → Add User → Enable API access

  • Configure Email: SMTP settings for campaigns

6. Installing SuiteCRM

  1. Download SuiteCRM
 
cd /var/www/html
sudo wget https://suitecrm.com/files/162/SuiteCRM-8/603/SuiteCRM-8.5.0.zip
sudo unzip SuiteCRM-8.5.0.zip -d suitecrm
sudo chown -R www-data:www-data suitecrm
sudo chmod -R 755 suitecrm
  1. Configure Apache
 
<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/html/suitecrm
    ServerName suitecrm.example.com

    <Directory /var/www/html/suitecrm>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/suitecrm_error.log
    CustomLog ${APACHE_LOG_DIR}/suitecrm_access.log combined
</VirtualHost>
  1. Enable Site and Restart Apache
 
sudo a2ensite suitecrm.conf
sudo systemctl restart apache2
  1. Complete SuiteCRM Installation
  • Navigate to http://suitecrm.example.com an
    d complete setup.

7. Preparing SuiteCRM for API Integration

  • – Enable REST API: SuiteCRM v8+ supports REST API without plugins

  • – Create API User: Admin → Users → Add User → Assign modules permissions

  • – Identify Modules: Decide which modules to sync (Contacts, Leads, Accounts)

8. manual plugin free integration overview

 

8. Manual Plugin-Free Integration Overview

The manual integration approach involves:

  1. – Authenticating via OAuth2 in both Mautic and SuiteCRM

  2. – Mapping fields between systems

  3. – Fetching and updating contacts using API calls

  4. – Automating the sync with cron jobs

  5. – Logging errors for monitoring

This ensures plugin-free synchronization while keeping full control.

9. Authentication & API Access

Mautic OAuth2 Authentication

 

  1. Request Access Token

 
POST https://mautic.example.com/oauth/v2/token
Content-Type: application/x-www-form-urlencoded

client_id=YOUR_CLIENT_ID&
client_secret=YOUR_CLIENT_SECRET&
grant_type=client_credentials
  1.  
  2. Use Token for API Requests

 
GET https://mautic.example.com/api/contacts
Authorization: Bearer ACCESS_TOKEN

SuiteCRM OAuth2 Authentication

 

  1. Request Access Token

 
POST https://suitecrm.example.com/Api/access_token
Content-Type: application/json

{
  "grant_type": "password",
  "client_id": "suitecrm_client_id",
  "client_secret": "suitecrm_client_secret",
  "username": "api_user",
  "password": "api_password"
}
  1. Use Token for API Requests

 
GET https://suitecrm.example.com/Api/V8/module/Contacts
Authorization: Bearer ACCESS_TOKEN

10. Field Mapping and Contact Sync

Example Field Mapping JSON:

{
  "email": "email_address",
  "first_name": "first_name",
  "last_name": "last_name",
  "company": "account_name",
  "phone": "phone_work"
}

Sync Contacts Steps:

  1. Fetch Contacts from Mautic

  2. Check if Contact Exists in SuiteCRM (by email)

  3. Create or Update Contact in SuiteCRM

  4. Push Updates Back to Mautic

PHP Example:

$response = $client->request('POST', $suitecrm_api, [
    'headers' => ['Authorization' => "Bearer $token"],
    'json' => $contactData
]);

11. Automating Synchronization with Cron Jobs

Example cron job (every hour):

0 * * * * /usr/bin/php /var/www/html/integration/sync_mautic_suitecrm.php >> /var/log/mautic-suitecrm-sync.log 2>&1
  • Handles automatic sync of contacts, leads, and campaign activity

  • Ensures near real-time integration without plugins

12. Error Handling and Logging

  • Log API responses to monitor success/failure

  • Handle token expiration automatically (refresh tokens)

  • Track duplicate records and conflicts using unique identifiers

  • Example PHP logging:

 
if ($response->getStatusCode() != 200) {
    error_log("Sync failed: " . $response->getBody());
}

13. Best Practices

  • Use HTTPS for all API calls

  • Backup both Mautic and SuiteCRM databases

  • Monitor rate limits to avoid API throttling

  • Validate field types and lengths to prevent sync errors

  • Maintain audit logs for tracking synchronization

14. Conclusion

Integrating Mautic and SuiteCRM without plugins empowers businesses to automate marketing and sales workflows fully. By using OAuth2 authentication and REST API calls, you maintain full control over data synchronization, field mapping, and workflow automation.

This developer-focused method ensures cost-free, scalable, and secure integration, giving you complete control over your CRM and marketing automation ecosystem.

References

FAQ’s Related to Mautic Setup & SuiteCRM integration

1. What is the easiest way to install Mautic for SuiteCRM integration?

The easiest method is to install Mautic using Softaculous (cPanel/DirectAdmin) or Docker, because both automatically configure PHP extensions, file permissions, and recommended server settings. After installation, you simply enable the API, install the SuiteCRM Integration plugin, and authenticate using the CRM URL + credentials.

Yes. Mautic officially supports integrations with SuiteCRM 7.x and partially with SuiteCRM 8.x through the same connector.
For SuiteCRM 8, you must ensure the legacy API is enabled, since Mautic still uses the v4_1 REST API.

No. The SuiteCRM integration uses Basic Authentication (username + password) because SuiteCRM’s API v4_1 does not support OAuth2.
OAuth2 is available only for a few Mautic integrations — not for SuiteCRM.

Go to:
Settings → Configuration → API Settings
Enable:

  •  API

  • Basic Authentication
    Then clear cache:
    php bin/console cache:clear

Common reasons:

  • Incorrect SuiteCRM URL (must include /service/v4_1/rest.php)

  • CRM user has no admin permissions

  • The SuiteCRM API is disabled or blocked by .htaccess

  • Incorrect Basic Auth credentials

  • Missing plugin files on Mautic side

  • Server firewall blocking outgoing connections

You need the “SugarCRM/SuiteCRM Integration” plugin that comes built-in with Mautic.
Enable it from:
Settings → Plugins → SugarCRM/SuiteCRM

Open the SuiteCRM plugin in Mautic →
Go to Feature Settings → Field Mapping
Map:

  • First Name

  • Last Name

  • Email

  • Phone

  • Lead Status

  • Tags

  • Custom fields (if needed)

Save and re-authorize after mapping.

Mautic uses cron jobs to pull/push CRM data every few minutes.
Important commands:

mautic:integration:fetchleads --integration=SuiteCRM mautic:integration:pushleads --integration=SuiteCRM mautic:segments:update mautic:campaigns:trigger

Run every 5–10 minutes.

Yes — but only partially:

  • Tags → Sync both ways

  • Notes → Sync to SuiteCRM

  • Activities (emails, events) → Limited sync
    SuiteCRM 8 receives fewer activity types than SuiteCRM 7.

Check these:

  1. Mautic logs: /var/log/mautic

  2. API path: must be /service/v4_1/rest.php

  3. File permissions after plugin install

  4. CRM user role must be Admin

  5. Clear Mautic cache:

     
    php bin/console cache:clear

Yes. Mautic supports bidirectional syncing for:

  • Contacts

  • Leads

  • Tags

  • Field updates

  • Notes

Campaign activity sync is mostly one-way (Mautic → SuiteCRM).

Minimum recommended:

  • PHP 8.1+ for Mautic 5 (PHP 7.4–8.1 for older versions)

  • MySQL 5.7+ or MariaDB 10.3+

  • 2GB RAM (4GB recommended)

  • Cron enabled

  • cURL enabled

  • mod_rewrite enabled

  • SSL certificate (HTTPS is required)

Use these best practices:

  • Always run both systems on HTTPS

  • Use strong usernames/passwords for API user

  • Restrict SuiteCRM API directory with firewall if possible

  • Enable fail2ban or CSF on the server

  • Disable unused API modules in SuiteCRM

Yes. Mautic 5 supports SuiteCRM integration using the same plugin, but you must ensure:

  • PHP 8.1+

  • Updated API path

  • Plugin cache cleared after installation

Clear it:

  • After installing the SuiteCRM plugin

  • After updating field mappings

  • After major configuration changes

  • If you see authorization errors
    Recommended: once after setup, not daily.

Scroll to Top