CRM Formatter·6 min read

How to migrate your contact data between CRMs

Export from the old CRM, baseline with Health Check, clean up, then format for the new CRM and import or push. Five steps, plus what a migration will not move.

By Operelio team · Updated July 2026

On this page9
  1. 1.What a CRM migration looks like
  2. 2.What moves, and what doesn't
  3. 3.Step 1: Export from the old CRM
  4. 4.Step 2: Run a Health Check baseline
  5. 5.Step 3: Fix what the report found
  6. 6.Step 4: Format for the new CRM
  7. 7.Step 5: Import or push
  8. 8.Pre-migration checklist
  9. 9.Frequently asked questions

What a CRM migration looks like

Moving CRMs is a data move followed by a process move. The data move is the part Operelio handles: getting your contacts and companies out of the old system, cleaned up, and into the shape the new system's importer expects. Done in the right order, it is a repeatable five-step path: export, baseline, fix, format, import.

The order matters. Cleaning before formatting means the new CRM starts with your best data instead of inheriting years of duplicates and formatting drift. A migration is the one moment you get to leave the mess behind.

What moves, and what doesn't

Operelio migrates field data: contacts, companies, and the attributes on them. Names, emails, phones, job titles, addresses, and any other column your old CRM puts in its export. That is what lives in a CSV and what a CRM importer accepts.

It does not migrate activity history, notes, logged emails, attachments, or automations. Those are not rows in a contact export, and no spreadsheet tool moves them. If your team needs conversation history in the new CRM, plan that as a separate work stream with the new CRM's own migration tooling or support team. Deciding this up front is the difference between a smooth cutover and a surprise in week two.

Step 1: Export from the old CRM

Export your contacts and companies from the current CRM as CSV, one file per record type. Every major CRM has a bulk export in its settings or admin area.

Keep the original exports untouched as your rollback copy. Every Operelio tool writes a new file and never modifies the upload, but your own copy of the raw exports is still the right starting insurance for a migration.

Step 2: Run a Health Check baseline

Upload the contact export and run Health Check. You get a quality score from 0 to 100 and a breakdown of every issue found, grouped by severity: invalid emails, duplicate rows, mixed date formats, placeholder values, encoding problems, and dozens more. 80 or above means ready to import; below 60 means fix the data first.

The baseline earns its keep twice. It tells you what to fix before the move, and after cleanup it proves the improvement: re-run Health Check on the cleaned file and compare scores.

On Pro, Team, and Agency you can tick auto-fix categories right on the report and download a cleaned file. The original is never modified.

Step 3: Fix what the report found

Work the loudest problems first. Deduplicate on email to collapse repeat contacts, choosing which occurrence wins. Clean Headers if column names are inconsistent. Find & Replace for systematic fixes the report surfaced, like a legacy placeholder value that should be blank.

Each tool writes a new file, so you can always step back a version if a fix went further than you wanted.

Step 4: Format for the new CRM

Open the CRM Formatter, upload your cleaned file, and pick the target CRM's format. Eight built-in formats are included on every plan (HubSpot, Salesforce, Pipedrive, Zoho CRM, Monday.com, Freshsales, Close, Copper), plus a Generic format and custom templates for anything else. There are also ready-made CRM-to-CRM migration templates (Zoho to HubSpot, Salesforce to Pipedrive, and more) that pre-fill the whole mapping when your move matches one.

Operelio auto-maps columns by name: "First Name", "first_name", and "fname" all land on the first name field. Adjust the rest by hand from the dropdown, mapping each column to the matching native field in your new CRM. Anything without a home can stay out of the import (mark it Skip) rather than being forced into a bad match.

Migrating in weekly batches? Save the mapping after the first run and load it next time; repeat files map instantly. Saved mappings are available on Pro (25), Team (150), and Agency (300).

Before export, Operelio validates every row against the target's field requirements and flags invalid emails, missing required fields, and phone fields with no digits, each with the exact row and reason.

Step 5: Import or push

For any target CRM, download the import-ready CSV and load it with the new CRM's own importer. This path works for all eight built-in formats, the Generic format, and custom templates.

When the target is HubSpot, Salesforce, or Pipedrive, you can skip the download and push directly (Pro, Team, and Agency). You connect via OAuth, so your CRM password is never stored. Push handles both halves of an import: it creates records that don't exist yet and updates ones that do, matched by email. By default an update only fills fields that are currently blank in the CRM; populated fields are left alone, so pushing into a CRM that already holds partial data won't overwrite anything your team entered. A preview shows exactly how many records will be created, updated, and skipped before you commit.

CRMRecord types for direct push
HubSpotContacts, Companies
SalesforceContacts, Leads
PipedriveContacts, Organizations

Pre-migration checklist

Run down this list before you touch the new CRM.

CheckWhy it matters
Original exports saved somewhere safeYour rollback copy. Operelio never modifies an upload, but keep your own copy of the raw exports anyway.
Health Check score recordedYour before number. Re-run after cleanup to prove the data improved.
Duplicates removed on emailEvery duplicate you migrate becomes a duplicate to clean up inside the new CRM later.
Every required field of the target mappedOperelio warns on unmapped required fields without blocking export. Resolve the warnings before importing, not after.
Small test batch run end to endPut a small file through the whole path and inspect the records in the new CRM before committing the full list.
History and notes plan agreedField data moves through Operelio; activity history does not. Decide before cutover how, or whether, history moves.

The CRM Formatter maps, validates, and cleans your export for the new CRM in one pass.

Open CRM Formatter

Frequently asked questions

Can Operelio move my notes, emails, and activity history?

No. Operelio works on the spreadsheet layer, so it moves field data: contacts, companies, and their attributes. Activity history, notes, logged emails, attachments, and automations never appear in a contact export and need their own plan, usually the new CRM's migration tooling or support team.

Will pushing overwrite data already in the new CRM?

Not by default. Push matches existing records by email and only fills fields that are blank on the CRM side; fields that already hold a value are left untouched. The push preview shows created, updated, and skipped counts before anything is written.

My new CRM isn't HubSpot, Salesforce, or Pipedrive. Can I still migrate?

Yes. Pick its built-in format (Zoho CRM, Monday.com, Freshsales, Close, or Copper), the Generic format, or a custom template, then download the import-ready CSV and load it with your CRM's own importer. Direct push is the only part limited to HubSpot, Salesforce, and Pipedrive.

What plan do I need to migrate?

The CRM Formatter works on every plan, including Free (up to 2,000 rows per file, 3 jobs per month). Most migrations want Pro or higher for bigger files (50,000 rows on Pro), direct push, saved mappings, and Health Check auto-fixes.

How do I handle a migration that runs over several weeks?

Export in batches and save your column mapping after the first run; each later batch loads it and maps instantly. When pushing to HubSpot, Salesforce, or Pipedrive, overlapping batches are safe: records that match by email are updated rather than re-created, and rows with no email are skipped rather than risked as duplicates.

Ready to get started?

Upload a file and run your first transformation. Free, no credit card required.