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.

Shell
# 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. 1

    Navigate to your Mautic root

    Typically /var/www/mautic or /var/www/html/mautic — wherever bin/console lives.

  2. 2

    Unzip into the plugins directory

Shell
# 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.

Shell
# 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.

Shell
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.

  1. In Mautic, go to Settings → Plugins
  2. Find Deal Flow in the plugin list and click it
  3. Enter your license key in the License Key field
  4. 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.

Shell — Upgrade sequence
# 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:warmup as www-data, not root
  • Check that var/cache/prod is owned by www-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.