The short answer
Build the pipeline as two explicit automations. The first starts when a Mautic form is submitted, turns the form payload into a deal, and attaches the submitting contact plus a second stakeholder. The second accepts a webhook, moves a known deal to a chosen stage, and posts the supplied deal title and stage label to Slack. Import each workflow, select credentials and IDs, test with sample data, then activate it. The second workflow performs the stage move itself; it does not watch changes made elsewhere.
These downloads use the Deal Flow community node for the deal operations, the built-in n8n Mautic Trigger for form intake, and the built-in Slack node for the notification. They are separate workflows so each entry point, credential boundary, and failure is visible in n8n.
What do I need before importing?
Install n8n-nodes-dealflow in the n8n instance that will run the workflows. The published package version was 0.1.0 when verified on August 26, 2026 from the npm package page. Its Deal Flow credential fields are your Mautic base URL, username, and password.
Version 0.1.0 provides an action node, not a trigger. That is why the first template begins with n8n's built-in Mautic Trigger and the second begins with an n8n Webhook. The Mautic Trigger is covered by n8n's official trigger-node documentation; the official n8n Slack node documentation covers the message step. Both references were checked on August 26, 2026.
- A working Deal Flow installation with the target pipeline, stages, and contacts already available.
- A Deal Flow credential in n8n containing the base URL, username, and password for that Mautic instance.
- A Mautic credential for Mautic Form Submitted.
- A Header Auth credential for Stage Change Request, plus a Slack credential and destination for Notify Slack.
Imports arrive inactive. Select the credentials in every service node, replace the example Slack channel, test each path, and activate it after the output matches your instance.
How does the form-to-deal template work?
Mautic form to Deal Flow deal with committee roles
A submitted form supplies the deal fields. The event's contact becomes the Champion, while a submitted contact ID becomes the Decision Maker.
Download workflow JSONThe trigger listens for mautic.form_on_submit. The form-submit event documentation, checked August 26, 2026, defines a submission object with the submitting contact under lead and submitted values under results, keyed by each form field's API name. The template splits the event array before mapping one submission into one deal.
Use these five form aliases exactly
| Form field API alias | Purpose | Deal Flow mapping |
|---|---|---|
deal_title | Human-readable deal title | title |
deal_amount | Numeric deal amount | additionalFields.amount |
pipeline_id | Numeric target pipeline ID | additionalFields.pipeline_id |
stage_id | Numeric initial stage ID | additionalFields.stage_id |
decision_maker_contact_id | Existing second contact ID | Second committee entry |
The Deal Flow create schema requires a title and accepts pipeline, stage, amount, and other deal fields under additionalFields. Committee contacts use contactsUi.contactValues; every entry carries a Contact ID and can carry a free-text Label. The imported mapping produces the equivalent of:
[
{ "contact_id": submission.lead.id, "label": "Champion" },
{ "contact_id": submission.results.decision_maker_contact_id,
"label": "Decision Maker" }
]
The template also records an external reference based on the form submission ID. Before activation, submit a test form and confirm that the two contact IDs exist, the pipeline and stage IDs belong together, and the amount converts to a number. A missing or nonnumeric ID should be corrected at the form or mapping layer before the create node runs.
How does the stage-move-to-Slack template work?
Deal stage change to Slack notification
An authenticated webhook request tells the workflow which deal to move and supplies the title and stage label used in the message.
Download workflow JSONThe caller must send four values. dealId and stageId drive Move Deal to Stage; dealTitle, stageLabel, and dealId supply the Slack message. The template deliberately references the webhook input for the message instead of assuming undocumented fields in the move-stage response.
{
"dealId": 418,
"stageId": 6,
"dealTitle": "Northstar renewal",
"stageLabel": "Negotiation"
}
In version 0.1.0, the Deal Flow moveStage operation requires a Deal ID and Stage ID. It changes the stage by sending the target stage to that deal's stage route. If that operation fails, the normal workflow path does not reach Notify Slack.
This workflow performs the change; it does not observe changes. A caller invokes Stage Change Request, the workflow runs Move Deal to Stage, and then it alerts Slack. A stage move made in the Mautic interface or by another integration does not enter this workflow.
After import, attach a Header Auth credential to the webhook, select the Deal Flow credential on Move Deal to Stage, connect Slack OAuth on Notify Slack, and replace the example channel ID. The official Slack documentation linked above covers Slack authentication and message operations.
How should I test and activate the workflows?
- Import each JSON file separately. In n8n, import from file and keep both workflows inactive while credentials and IDs are placeholders.
- Select credentials node by node. The form workflow needs Mautic and Deal Flow credentials. The stage workflow needs Header Auth, Deal Flow, and Slack credentials.
- Exercise the form path. Submit a test form containing all five aliases, then inspect Split Form Submit Events before running Create Deal with Committee Roles.
- Exercise the stage path. Use the webhook test URL with the four-field JSON body, confirm the deal reaches the requested stage, and confirm the Slack message matches the caller-supplied title and label.
- Switch to production endpoints. Replace the test webhook URL in the calling system, activate each workflow, and retain one known test deal for future checks.
Technical references checked August 26, 2026: the npm package page for the published Deal Flow node and version; the Mautic developer page for mautic.form_on_submit and its payload; and n8n's official pages for the Mautic Trigger and Slack nodes. Node parameter details on this page match the published n8n-nodes-dealflow 0.1.0 package.
Put the deal record inside Mautic
Deal Flow supplies the deal, pipeline, stage, and committee records these workflows act on.
See Deal Flow options Try free for 7 daysFrequently asked questions
Can n8n create a Deal Flow deal from a Mautic form submission?
Yes. Use the built-in Mautic Trigger for the mautic.form_on_submit event, map the submission fields into the Deal Flow create operation, and pass committee contacts through contactsUi.contactValues. The first template does this with Champion and Decision Maker labels.
Does the Deal Flow n8n node detect stage changes?
No. Version 0.1.0 is an action node and registers no trigger. The second template starts from an n8n webhook, calls moveStage, and then alerts Slack. It does not detect a stage change made in the Mautic interface or by another integration.
What does the stage-change caller have to send?
Send dealId, stageId, dealTitle, and stageLabel. The workflow uses dealId and stageId for Move Deal to Stage, then uses the supplied title and label in Notify Slack. Keep those values aligned with the deal and target stage.
Which credentials must I select after import?
Select Deal Flow credentials containing the Mautic base URL, username, and password; connect Mautic credentials for the first workflow; then select Header Auth, Deal Flow, and Slack credentials plus a Slack destination for the second workflow.