Deal Flow Documentation

Complete guide to installing, configuring, and using Deal Flow for Mautic®.

Installation

Deal Flow installs as a standard Mautic plugin via download and extract.

Requirements

Install

# From your Mautic root directory
wget https://dealflowplugin.com/download/DealFlowBundle.zip
unzip DealFlowBundle.zip -d plugins/

# Clear and rebuild cache (run as web server user)
sudo -u www-data php bin/console cache:clear --no-warmup
sudo -u www-data php bin/console cache:warmup

# Load the plugin (runs database migrations)
sudo -u www-data php bin/console mautic:plugins:reload
Cache commands must run as the web server user. Running cache:clear or cache:warmup as root creates files that the web server cannot write to, resulting in 500 errors. Use sudo -u www-data php bin/console ... on most setups.

Verify Installation

Navigate to /s/dealflow in your Mautic instance. You should see the Deal Flow pipeline view. The plugin also registers a Deal Flow entry in the Mautic main menu.

Quick Start

Get your first deal tracked in five steps:

  1. Install the plugin using the wget/unzip instructions above.
  2. Create a pipeline. Go to Deal Flow → Pipelines → New. Name it (e.g., "Sales Pipeline") and add stages: Qualification, Discovery, Proposal, Negotiation, Closed Won, Closed Lost. Set probability percentages for each stage.
  3. Create a deal. Go to Deal Flow → Deals → New. Enter a title, amount, select your pipeline, choose an initial stage, and assign an owner.
  4. Add buying committee members. On the deal detail page, click "Add Contact" to associate Mautic contacts with roles like Decision Maker, Champion, or Influencer.
  5. Track progress. Drag deals between stages on the kanban board. Add notes, tasks, and attachments as the deal progresses.

Configuration

Access Deal Flow settings at Deal Flow → Config.

Display Preferences

SettingDescriptionDefault
Default PipelinePipeline shown when opening Deal FlowFirst created
CurrencyISO currency code for deal amountsUSD
Date FormatDisplay format for datesSystem default
Items Per PageDeals shown per page in list view30

Risk Thresholds

Health indicators on the kanban board use days-in-stage to flag stale deals:

IndicatorConditionDefault
YellowDeal has been in the current stage longer than threshold14 days
RedDeal has been in the current stage much longer than expected21 days

Task Settings

SettingDescriptionDefault
Default PriorityPriority assigned to new tasksNormal
Reminder Lead TimeHours before due date to send reminder24 hours

Integration

SettingDescription
Webhook SecretHMAC signing secret for inbound webhook verification
API Rate LimitsMaximum API requests per minute

Pipeline Management

Creating a Pipeline

Navigate to Deal Flow → Pipelines → New. Each pipeline needs:

Stages

Each stage has:

FieldDescription
NameStage label displayed on kanban
Typeopen, won, or lost
ProbabilityDefault win probability (0-100%) for deals in this stage
Sort OrderPosition in the pipeline (left to right on kanban)
Tip: Every pipeline should have at least one won and one lost stage. These are used for win rate calculations and forecasting.

Bidirectional Stage Sync

Deal stages can be mapped to Mautic contact stages. When a deal moves to a mapped stage, all associated contacts are updated in Mautic. When a contact's Mautic stage changes (e.g., via a campaign), associated deals are updated automatically.

Configure mappings in the pipeline stage editor by selecting a corresponding Mautic contact stage.

Deals

Creating a Deal

New deals require a title and a pipeline. All other fields are optional:

FieldTypeNotes
TitleTextDeal name (required)
AmountDecimalDeal value in configured currency
PipelineSelectRequired — determines available stages
StageSelectCurrent position in pipeline
Confidence0-100Win probability override (defaults to stage probability)
StatusEnumopen, won, or lost
QualificationEnumunqualified, marketing_qualified, sales_qualified, opportunity
Expected CloseDateForecasted close date
SourceTextLead source attribution
CompanyLookupMautic company association
OwnerUserAssigned sales rep
DescriptionTextFree-form notes
External RefTextReference ID from external systems

Kanban Board

The pipeline kanban view shows deals as cards organized by stage. Drag and drop to move deals between stages. Cards display:

Batch Actions

Select multiple deals in list view to:

Search

Use the search input on the deal list to filter by title, company, owner, or stage. Supports Mautic's standard search syntax.

CSV Import

Import deals in bulk via Deal Flow → Import. Upload a CSV with headers matching deal fields. The importer supports field mapping for non-standard column names.

Deal Notes & Activity

Add notes to deals with activity types:

Tasks

Create tasks associated with deals. Each task has a title, description, priority, due date, optional reminder, and assigned owner.

Attachments

Upload files (proposals, contracts, etc.) to the deal record for centralized document management.

Buying Committee

Buying Committee Intelligence is Deal Flow's structural differentiator. It lets you map multiple Mautic contacts to a deal, each with a role label that describes their influence on the buying decision.

Adding Contacts

On the deal detail page, use the Add Contact button to search for and associate Mautic contacts. Assign a role label to each:

RoleDescription
Decision MakerHas final authority to approve the purchase
ChampionInternal advocate who drives the deal forward
InfluencerShapes requirements and evaluation criteria
BlockerMay oppose or slow down the purchase
End UserWill use the product day-to-day
Budget HolderControls the budget allocation
Technical EvaluatorAssesses technical fit
Custom roles: Role labels are free-text — you're not limited to the presets. Type any role that fits your sales process.

Contact Timeline

Deal events are injected into the Mautic contact timeline for associated contacts. This gives your team visibility into deal activity from the contact record, without switching views.

Email Personalization

Use deal tokens in Mautic email templates to personalize outreach for contacts associated with deals:

TokenOutput
{dealflow_title}Deal title
{dealflow_amount}Deal amount (formatted)
{dealflow_stage}Current stage name
{dealflow_company}Associated company name
{dealflow_owner}Deal owner name

Campaigns

Deal Flow integrates natively with Mautic's campaign builder, adding deal-aware conditions, actions, and segment filters.

Campaign Conditions

ConditionDescription
Deal MatchContact has an associated deal matching criteria (pipeline, stage, status)
Stage CheckContact's associated deal is in a specific stage
Deal Value ThresholdContact's associated deal amount is above/below a value

Campaign Actions

ActionDescription
Move StageMove the contact's associated deal to a specified stage
Update Deal FieldSet a field value on the contact's associated deal
Create DealCreate a new deal associated with the contact

Segment Filters

FilterDescription
Has Deal in StageContacts associated with a deal in a specific stage
Deal Value RangeContacts associated with deals in a value range
Deal AgeContacts with deals older than N days
Example use case: Build a campaign that sends a follow-up email when a deal has been in the "Proposal" stage for more than 7 days, targeting all contacts on the buying committee.

Reports & Metrics

Access the reports dashboard at Deal Flow → Reports.

Key Metrics

MetricDescriptionCalculation
Weighted ForecastExpected revenue adjusted by probabilitySum of (deal amount × stage probability) for open deals
Win RatePercentage of deals closed wonWon deals ÷ (Won + Lost deals) over period
Average Deal SizeMean value of closed-won dealsTotal won revenue ÷ number of won deals
Pipeline VelocitySpeed at which deals move through pipeline(Deals × Win Rate × Avg Deal Size) ÷ Avg Sales Cycle Length
Stage CoverageNumber and value of deals per stageCount and sum grouped by current stage
Monthly Close RateRevenue closed per monthSum of won deal amounts by month

Owner Leaderboard

Ranks deal owners by total pipeline value, deals won, and win rate. Useful for sales team performance reviews.

At-Risk Deals

Lists deals that have exceeded risk thresholds (days in stage). Sorted by severity — red indicators first, then yellow.

Dashboard Widgets

Deal Flow provides dashboard widgets that can be added to your Mautic home dashboard. Go to Dashboard → Add Widget and select from:

WidgetDescription
Pipeline SummaryDeal count and total value per stage (bar chart)
My DealsCurrent user's open deals with stage and amount
My TasksUpcoming and overdue tasks assigned to current user
Owner LeaderboardTop performers by pipeline value
At-Risk DealsDeals exceeding days-in-stage thresholds
Win Rate TrendWin rate over the last 6 months (line chart)
Revenue ForecastWeighted forecast for current and next month
Recent ActivityLatest deal events across all pipelines

API Reference

Deal Flow exposes a REST API under the /api/dealflow/ namespace. All endpoints require Mautic API authentication (OAuth2 or Basic Auth).

Deal Endpoints

MethodEndpointDescription
GET/api/dealflow/dealsList deals (paginated, filterable)
GET/api/dealflow/deals/{id}Get deal details
PATCH/api/dealflow/deals/{id}Update deal fields
POST/api/dealflow/deals/{id}/stageMove deal to a stage
POST/api/dealflow/deals/{id}/contactsAssociate a contact (buying committee)
POST/api/dealflow/deals/{id}/notesAdd a note
POST/api/dealflow/deals/{id}/tasksCreate a task
PATCH/api/dealflow/deals/{id}/tasks/{taskId}Update a task
POST/api/dealflow/deals/{id}/attachmentsUpload an attachment
GET/api/dealflow/deals/{id}/timelineGet deal timeline events
POST/api/dealflow/deals/importCSV import

Example: Create a Note

curl -X POST https://mautic.example.com/api/dealflow/deals/42/notes \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "body": "Proposal sent to procurement team.",
    "activity_type": "note"
  }'

Example: Move Stage

curl -X POST https://mautic.example.com/api/dealflow/deals/42/stage \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"stage_id": 5}'

Example: Associate Contact

curl -X POST https://mautic.example.com/api/dealflow/deals/42/contacts \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "contact_id": 108,
    "label": "Decision Maker"
  }'

For complete API documentation including request/response schemas, see the Webhooks and FAQ sections below.

Webhooks

Inbound Webhooks

Receive deal data from external systems via inbound webhook sources. Each source gets a unique URL and optional HMAC signing for request verification.

Setting Up an Inbound Source

  1. Go to Deal Flow → Webhooks → New Source
  2. Name the source (e.g., "Typeform Submissions")
  3. Copy the generated webhook URL
  4. Optionally set an HMAC secret for request signing
  5. Configure field mapping: map source JSON fields to deal fields

HMAC Verification

When an HMAC secret is configured, Deal Flow verifies inbound requests by computing HMAC-SHA256 of the request body and comparing it to the X-Signature header.

# Compute the expected signature
echo -n '{"title":"New Deal","amount":5000}' | \
  openssl dgst -sha256 -hmac "your-webhook-secret"

Outbound Webhooks

Deal Flow fires events through Mautic's native webhook system. Configure outbound webhooks in Mautic Settings → Webhooks and subscribe to Deal Flow events:

FAQ

What version of Mautic is required?

Deal Flow requires Mautic 5.x running on PHP 8.1 or higher.

Is this a CRM replacement?

No. Deal Flow is a Revenue Operations plugin. It adds deal and pipeline management to Mautic — it does not replace Mautic's contact management, campaigns, or marketing features. It enhances them.

How is this different from other Mautic CRM plugins?

Buying Committee Intelligence. Most deal trackers associate one contact per deal. Deal Flow lets you map entire buying committees with role labels, giving you visibility into multi-stakeholder deals.

What happens when my renewal expires?

The plugin continues to work. You lose access to updates and support. Your data is never locked or deleted.

Is there a free tier?

No. Deal Flow is a commercial plugin priced at $149 one-time with a $49/year renewal for updates and support. No free tier, no feature gates — all customers get all features.

Can I use custom fields?

Yes. Deal Flow supports custom fields via the DealField entity. Add text, number, select, and date fields through the configuration screen.

How do I upgrade?

wget https://dealflowplugin.com/download/DealFlowBundle.zip
unzip -o DealFlowBundle.zip -d plugins/
sudo -u www-data php bin/console cache:clear --no-warmup
sudo -u www-data php bin/console cache:warmup
sudo -u www-data php bin/console mautic:plugins:reload

Where do I get support?

Email support@dealflowplugin.com.

What is the license?

Deal Flow is a commercial plugin. Purchase includes a perpetual per-subdomain license with 1 year of updates.