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
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
-
Update Packages
-
sudo apt update && sudo apt upgrade -y
-
Install PHP and Extensions
-
sudo apt install php php-cli php-mbstring php-xml php-curl php-gd php-intl php-zip php-mysql unzip -y
-
Install Composer
-
sudo apt install composer -y
-
Download Mautic
-
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
-
Configure Apache for Mautic
-
<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>
-
Enable Site and Rewrite Module
-
sudo a2ensite mautic.conf sudo a2enmod rewrite sudo systemctl restart apache2
-
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
-
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
-
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>
-
Enable Site and Restart Apache
sudo a2ensite suitecrm.conf
sudo systemctl restart apache2
-
Complete SuiteCRM Installation
-
Navigate to
http://suitecrm.example.coman
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
The manual integration approach involves:
-
– Authenticating via OAuth2 in both Mautic and SuiteCRM
-
– Mapping fields between systems
-
– Fetching and updating contacts using API calls
-
– Automating the sync with cron jobs
-
– Logging errors for monitoring
This ensures plugin-free synchronization while keeping full control.
9. Authentication & API Access
Mautic OAuth2 Authentication
-
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
-
Use Token for API Requests
GET https://mautic.example.com/api/contacts
Authorization: Bearer ACCESS_TOKEN
SuiteCRM OAuth2 Authentication
-
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"
}
-
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:
-
Fetch Contacts from Mautic
-
Check if Contact Exists in SuiteCRM (by email)
-
Create or Update Contact in SuiteCRM
-
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.
2. Can I integrate Mautic with SuiteCRM 7 and SuiteCRM 8?
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.
3. Does Mautic support OAuth2 for SuiteCRM integration?
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.
4. How do I enable API access in Mautic?
Go to:
Settings → Configuration → API Settings
Enable:
-
API
-
Basic Authentication
Then clear cache:php bin/console cache:clear
5. Why is my SuiteCRM–Mautic authorization failing?
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
6. Which plugin is required for Mautic–SuiteCRM sync?
You need the “SugarCRM/SuiteCRM Integration” plugin that comes built-in with Mautic.
Enable it from:
Settings → Plugins → SugarCRM/SuiteCRM
7. How do I map fields between SuiteCRM and Mautic?
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.
8. How do cron jobs work in Mautic for syncing SuiteCRM contacts?
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.
9. Can Mautic sync tags, activities, and notes to SuiteCRM?
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.
10. How do I troubleshoot SuiteCRM connector errors with Mautic?
Check these:
-
Mautic logs:
/var/log/mautic -
API path: must be
/service/v4_1/rest.php -
File permissions after plugin install
-
CRM user role must be Admin
-
Clear Mautic cache:
php bin/console cache:clear
11. Is bidirectional sync possible between Mautic and SuiteCRM?
Yes. Mautic supports bidirectional syncing for:
-
Contacts
-
Leads
-
Tags
-
Field updates
-
Notes
Campaign activity sync is mostly one-way (Mautic → SuiteCRM).
12. What server requirements are needed for Mautic + SuiteCRM integration?
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)
13. How do I secure API communication between SuiteCRM and Mautic?
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
14. Does SuiteCRM support Mautic 5 integration?
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
15. How often should I clear Mautic cache after plugin 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.


![Why Are People Leaving SuiteCRM? [2025 Insights & Alternatives] Why Are People Leaving SuiteCRM? [Insights & Alternatives]](https://devdiligent.com/blog/wp-content/uploads/2025/10/Untitled-design-10.png)