Requirements
Before installing Deal Flow, confirm your environment meets these requirements.
| Component | Requirement | Status |
|---|---|---|
| Mautic version | 7.x (primary). 5.x mostly compatible. | Supported |
| PHP | 8.1 or higher | Required |
| Database | MySQL 5.7+ or MariaDB 10.3+ | Required |
| Mautic 4.x | Not tested — upgrade recommended | Not tested |
| Mautic Cloud | Plugin installation not available | Not supported |
Deal Flow is built for self-hosted Mautic®. You need shell (SSH) access to your server to install it.
Download
After purchase you'll receive a license key and a download link via email. Download the plugin archive to your server using wget.
# Replace YOUR_DOWNLOAD_TOKEN with the token from your purchase email
wget -O DealFlowBundle.zip \
"https://dealflowplugin.com/download?token=YOUR_DOWNLOAD_TOKEN"
Download link expires after 3 uses. If you need to reinstall, contact support to refresh your token. License keys do not expire.
Install
Unzip the plugin into your Mautic plugins directory. The target path is plugins/DealFlowBundle/ relative to your Mautic root.
-
1
Navigate to your Mautic root
Typically
/var/www/mauticor/var/www/html/mautic— whereverbin/consolelives. -
2
Unzip into the plugins directory
# Unzip (adjust path to your Mautic root)
cd /var/www/mautic
unzip /tmp/DealFlowBundle.zip -d docroot/plugins/
# Fix file ownership so the web server can read the files
chown -R www-data:www-data docroot/plugins/DealFlowBundle
Clear the cache
Mautic caches its configuration. After adding any plugin you must clear and rebuild the cache. Always run cache commands as the web server user — running as root creates files that Mautic cannot write to later.
# Remove the production cache
rm -rf var/cache/prod
# Rebuild as the web server user (www-data on most Ubuntu/Debian setups)
sudo -u www-data php bin/console cache:warmup
# Restart PHP-FPM to clear OPcache (stale bytecode survives file changes)
systemctl restart php8.2-fpm
Do not use cache:clear --no-warmup. This leaves Mautic in an error state until the cache is warmed. Always use cache:warmup.
Activate the Plugin
With the cache rebuilt, register the plugin with Mautic's plugin system.
sudo -u www-data php bin/console mautic:plugins:reload
This command discovers new plugins, runs any pending database migrations, and registers the bundle with Mautic. You should see DealFlowBundle in the output.
Enter Your License Key
Deal Flow uses per-subdomain licensing. Each Mautic instance requires its own key.
- In Mautic, go to Settings → Plugins
- Find Deal Flow in the plugin list and click it
- Enter your license key in the License Key field
- Click Save & Close
Your license key is in your purchase confirmation email. If you can't find it, email support@dealflowplugin.com with your order number.
Verify the Installation
After activation, the Deal Flow menu item should appear in the Mautic left navigation. Verify by:
- Navigating to Deal Flow → Pipeline — you should see an empty kanban board
- Checking Deal Flow → Settings → Pipelines — should load without errors
- Visiting Deal Flow → Settings → API Docs — should display available endpoints
If you see a blank page or 500 error, check var/logs/mautic_prod-YYYY-MM-DD.php for details. The most common cause is a cache permissions issue — re-run cache:warmup as www-data.
Upgrading
To upgrade Deal Flow to a newer version, repeat the installation steps with the new archive. Your data is stored in Mautic's database and is never touched by the upgrade process.
# 1. Download the new archive
wget -O DealFlowBundle-new.zip \
"https://dealflowplugin.com/download?token=YOUR_TOKEN"
# 2. Back up the old plugin (optional but recommended)
cp -r docroot/plugins/DealFlowBundle docroot/plugins/DealFlowBundle.bak
# 3. Unzip new version (overwrites existing files)
unzip -o DealFlowBundle-new.zip -d docroot/plugins/
# 4. Fix ownership
chown -R www-data:www-data docroot/plugins/DealFlowBundle
# 5. Clear cache and rebuild
rm -rf var/cache/prod
sudo -u www-data php bin/console cache:warmup
systemctl restart php8.2-fpm
# 6. Reload plugin (runs any new migrations)
sudo -u www-data php bin/console mautic:plugins:reload
Troubleshooting
500 error after install
Almost always a cache or permissions issue. Check:
- Run
cache:warmupaswww-data, not root - Check that
var/cache/prodis owned bywww-data - Restart PHP-FPM to flush OPcache
- Check Mautic logs at
var/logs/mautic_prod-*.php
Plugin not appearing in menu
Run mautic:plugins:reload again. If it still doesn't appear, verify the unzip succeeded and that docroot/plugins/DealFlowBundle/DealFlowBundle.php exists.
License key not accepted
License keys are tied to a subdomain. Verify the Mautic URL in your browser matches the domain you registered at purchase. If you've moved your Mautic installation to a new subdomain, contact support for a re-issue.
Database migration errors
If mautic:plugins:reload fails with a database error, check that your MySQL user has CREATE TABLE and ALTER TABLE permissions on the Mautic database.