The short answer
To migrate from HubSpot to Mautic, export contacts, companies, and deals as separate CSV files, preserve untouched copies, define destination pipeline and stage mappings, import contacts and companies first, then load deals through the documented bulk route. Reconcile record IDs and associations before cutover, and keep the source available while you validate the new workflow.
Deal Flow supplies the destination deal model: pipelines, ordered stages, deal records, owners, company references, and contact associations with buying-committee roles. Use a staged migration with a representative import before the full cutover.
Scope: this guide names the records to prepare. It does not rely on unverified menu paths or source-system behavior.
Prepare three clean export sets
Build the migration package around three generic CRM record sets: contacts, companies, and deals. Keep the source files separate so each destination record type can be loaded and checked in a controlled order.
- Preserve originals. Save dated, untouched CSV files and record when the export was taken.
- Create working copies. Normalize obvious formatting issues without changing the originals.
- Retain source identifiers. Keep each source record ID available for reconciliation;
external_refis the documented destination field for an external deal reference. - Inventory available references. If a working export includes company, owner, pipeline, stage, or contact references, preserve them for a deliberate destination decision.
- Set an exception queue. Separate incomplete or ambiguous rows for review instead of guessing at destination values.
This is migration planning rather than a statement about a particular HubSpot screen. For the product decision context, read how Mautic and HubSpot fit together and the independently maintained Deal Flow vs HubSpot comparison.
Map HubSpot records to the documented destination
Define this table before importing data. It separates labels from destination IDs and exposes the relationships that need deliberate reconciliation.
| Source record or value | Destination | Migration decision |
|---|---|---|
| Contact | Mautic contact | Import and verify the destination contact before reconciling deal relationships. |
| Company | Mautic company | Resolve the destination company record before assigning a deal's company_id. |
| Deal | Deal Flow deal | Map the source name to required title; retain the source ID in external_ref. |
| Pipeline value, if present | Pipeline.name |
Create or identify the destination pipeline, then retain its ID for deal mapping. |
| Stage value, if present | DealStage.name |
Place it in the correct pipeline and normalize stage_type to open, won, or lost. |
| Owner value, if present | owner_id |
Resolve the destination user before assigning the owner reference. |
| Contact references, if present | Deal contact associations | Resolve matching Mautic contacts, then assign Deal Flow buying-committee roles as a destination decision. |
Destination model, not a promised CSV schema: the names above are documented entity fields and relationships. Confirm the available import-screen mappings before treating any field name as an accepted CSV header.
Documented deal fields also include amount, currency, confidence, status, source, pipeline_id, stage_id, qualification, expected_close_date, and description. Map a source column when its meaning is clear; otherwise preserve it outside the import until the team makes a decision.
Product surface checked August 28, 2026: see the Deal Flow documentation and the documented deal API guide.
Run the migration in dependency order
- Preserve the source exports. Export contacts, companies, and deals as separate CSV files, keep untouched copies, and do cleanup in working copies.
- Define the object map. Map contacts and companies to Mautic records, then map available deal, pipeline, and stage values to the documented Deal Flow destination model.
- Configure pipelines and stages. Create destination pipelines and stages, normalize each stage type to
open,won, orlost, and record the destination IDs. - Import contacts and companies. Load and verify Mautic contacts and companies before importing deals that refer to their destination records.
- Import deals. Test a representative CSV, then use the Deal Flow import screen or the documented
POST /api/dealflow/deals/importbulk route and review the imported records. - Validate the cutover. After a representative set passes review, import the remaining approved rows, reconcile available source references, assign Deal Flow contact roles as a destination decision, then work through the first-week operating checklist.
Use a reversible checkpoint: keep the original exports and a written mapping table until the business owner has accepted the destination records.
Plan explicitly for what does not map 1:1
A source label is not necessarily a destination ID, and a source status is not necessarily a Deal Flow stage type. Treat these as translation decisions rather than direct copies.
- Stage semantics: retain the human-readable stage name, then choose the matching destination type from
open,won, orlost. - Record references: company, owner, pipeline, and stage relationships need destination IDs, not source labels.
- Contact roles: a contact relationship and its buying-committee role need deliberate reconciliation after the contact exists in Mautic.
- Unmatched columns: archive, transform, or defer a source value when no documented destination field carries the same meaning.
- Historical context: preserve information that is useful for audit or reference outside the import when it does not belong in a documented deal field.
The published deal import surface does not describe automatic migration of source-system associations. Validate them directly rather than relying on an inferred behavior.
Keep the cost decision separate from the data map. The HubSpot and Mautic TCO analysis covers that question without turning this cutover guide into a purchasing argument.
Use a first-week checklist after cutover
- Day 1 — reconcile counts. Compare contacts, companies, and deals with the final approved source files; log every exception.
- Day 2 — inspect active deals. Sample each pipeline and stage, then verify titles, amounts, currencies, confidence, status, and expected close dates.
- Day 3 — inspect relationships. Check owners, companies, contacts, and buying-committee role labels on representative deals.
- Day 4 — exercise handoffs. Run the team's live operating sequence and confirm each person can find, update, and advance the records they own.
- Day 5 — close exceptions. Resolve or document every held row, confirm the destination is the operating record, and retain the migration archive.
Use the broader Mautic CRM setup checklist to review lifecycle fields, ownership, automation, reporting, and governance around the migrated deal data.
Run your deal process inside Mautic
Deal Flow adds pipelines, deals, and buying-committee context to the Mautic instance your team controls.
See Deal Flow options Try free for 7 daysFrequently asked questions
What should I export before leaving HubSpot?
Prepare separate CSV exports for contacts, companies, and deals. Preserve untouched originals, then clean and map working copies for the destination system.
In what order should I move the records?
Configure pipelines and stages first, import Mautic contacts and companies next, and import deals after the destination IDs and mappings are ready.
What is the documented bulk deal import route?
The documented bulk route is POST /api/dealflow/deals/import. Deal Flow also documents a Deal Flow → Import screen for uploading a CSV and mapping non-standard column names.
Do deal associations transfer automatically?
Do not assume they do. The published deal import surface does not document automatic migration of source associations, so reconcile company, owner, and contact relationships after import.
What should the team check during the first week?
Review record counts, active deals, pipeline and stage placement, owner and company references, contact roles, live handoffs, and unresolved exceptions before retiring the source workflow.
This migration guide is produced independently and is not endorsed by HubSpot.