Skip to main content

CRM migration

Move your CRM data without overwriting what your team already typed

You can move companies, contacts, deals and notes from HubSpot, Pipedrive, Microsoft Dynamics 365, Salesforce, Zoho, monday.com or Fireberry. You map the fields, read a preview that writes nothing, and start the import yourself. An import only fills empty fields, and a contact name that disagrees with yours waits for a person to decide.

Open, with one thing to know

The importers are in the product and have been tested against recorded vendor answers, not yet against a live customer account. We check the first live import from each vendor together with you.

7 sources
HubSpot, Pipedrive, Dynamics 365, Salesforce, Zoho, monday.com and Fireberry
0 records
written by a preview, which also creates no pipeline and grants no marketing consent
1 rule
an import fills empty fields and never writes over a value already in your CRM
  1. ConnectA token or app credential you create in your CRM
  2. MapYour fields, saved as a numbered version
  3. PreviewMatches, skips and conflicts, nothing written
  4. ImportStarted by an owner or admin, with pause and cancel
  5. DecideA person settles contact names that disagree

What moves in a CRM migration?

The record types your team works with every day, and the links between them, so a deal still points at its company and a note still sits on its contact.

Companies and contacts

Names, addresses, phone numbers and the link from each person to their company. A contact is matched by email, then by phone, so a person already in your CRM is not created twice.

Deals

Name, value, stage and close date. A stage is matched by name to the open stages of your default pipeline. A name with no match lands on the first open stage, and the run reports it so you can move those deals.

Notes

Text notes come with the record they belong to, from the vendors that expose them: HubSpot, Pipedrive, Dynamics 365 and Fireberry. Each note lands on the record it belongs to, so the history stays with the customer.

Custom fields

HubSpot, Pipedrive, Salesforce and Zoho list their own fields on the mapping screen. Point one at a custom field of yours and its value is filled in where your record has none.

The connection between runs

Every imported record remembers where it came from. Run the import again next week and existing records are matched by that link, so nothing doubles and only empty details are filled.

A full history of each run

Each run records what was read, created, matched and skipped, with the mapping version it used. You can look back at any earlier run and see exactly which rules applied.

The EmailPro connections screen: a health panel lists Pipedrive, monday.com and HubSpot, each with its state and the next step for an owner or admin
Connections shows each source, the state of its last import and who has to act next. Real EmailPro screen with example data; the names and numbers are not a customer's.

Which systems can you import from, and how do you connect them?

Every source is read with a credential you create and can withdraw in that system. It is stored encrypted, and it is never shown again after you paste it.

SourceHow it connectsWhat it bringsLists its custom fields
HubSpotPrivate app tokenCompanies, contacts, deals, notesYes
PipedriveAPI token and company domainCompanies, contacts, deals, notesYes
Microsoft Dynamics 365Entra app on commercial DataverseCompanies, contacts, deals, notesNot yet
SalesforceConnected app on your My DomainCompanies, contacts, dealsYes
Zoho CRMSelf client and refresh tokenCompanies, contacts, dealsYes
monday.comAPI token and boardContactsNot yet
FireberryAPI tokenCompanies, contacts, deals, notesNot yet

Email address, deal stage, owner and amounts are never remapped. They are identity, relationships and money, so they keep the meaning they have in the source.

How does a CRM import run from start to finish?

  1. Connect the source

    Create a token or app in the other CRM and paste it into Connections. It stays encrypted, and disconnecting stops any further reading at once.

  2. Save a mapping

    Choose where each source field lands, stream by stream. Saving creates a new version, and the preview stays locked until the mapping on your screen is the one that is saved.

  3. Read the preview

    The preview samples the first pages and reports matches, skipped records and values that disagree. It creates nothing, so you can run it as often as you like.

  4. Run, then settle conflicts

    An owner or admin starts the run and can pause, resume or cancel it. Afterwards, open the conflict list and choose, for each contact name, to keep yours or take theirs.

Why an import fills blanks instead of overwriting

A value already in your CRM is there because someone on your team put it there, or because it passed an earlier check. Overwriting it from another system loses that work without anyone noticing, and the damage only shows up months later when a salesperson calls the wrong number. So an import writes to an empty field and leaves a filled one alone.

That rule alone would hide a problem, because the two systems can disagree about who a person is and nobody would know. So when a contact's first or last name differs, the difference is kept as an open conflict, with the current name and the incoming one side by side. A person chooses, the choice goes into the audit trail, and a later run refreshes the incoming value instead of adding a second row. A contact you erased stays erased: an import skips them.

The same care applies to changes made while you work. A run takes a snapshot of its settings when it starts. If someone saves a new mapping after your preview, the start is refused and you are asked to look again, so nothing is imported under rules nobody checked. Disconnecting or replacing the credential mid-run stops the next page from being read.

When is this import the wrong tool?

Most moves fit. These are the cases where we would rather tell you now than halfway through.

You need an undo button for the whole import

Cancelling stops a run; it does not remove what was already written. That is why the preview comes first. Records that arrived stay, and you remove them the same way as any other record.

You need files and owners to come across

Attachments and record owners are not imported today. Assign owners here after the move, and keep the files in the old system until you have decided where they belong.

You need Zebra or MyBusiness as a source

These two receive approved changes but cannot be imported from, because their read answers are not documented well enough to trust. A contact list exported to CSV is the way in.

Clear answers

CRM migration: common questions

Start with a preview of your own data

Open an account, connect the CRM you use today and read what would happen. Nothing is written until you start the import.