Skip to content
English

Merging Two CRMs Into HubSpot — Without Losing a Single Email

Industry Hotel management & hospitality services
Migration Pipedrive + Freshsales → HubSpot
Migrated Companies Contacts Deals Meetings Tasks & notes Support tickets Full email conversation history
Hardest part
Email history — the thing most migrations give up on.

Two CRMs, one company, no complete picture

The client is a hotel management company running marketing, sales and customer care through a CRM. The trouble was that it was running two of them — Pipedrive and Freshsales — side by side. Each held part of the truth. The same customer existed in both, described differently in each. Nobody could answer a simple question without checking two systems and then deciding which one to believe.

Moving to HubSpot was the obvious answer. Merging two CRMs into one was the hard part.

Why merging two CRMs is harder than replacing one

A straight replacement has one source of truth. A consolidation has two, and they disagree.

Duplicates were everywhere — and not all of them were mistakes. The old platform allowed several contacts to share the same email address, so the system itself had been manufacturing duplicate records for years. Telling a genuine duplicate apart from a structural one is not a technical question. It is a question about how the business actually works, and you cannot answer it by writing a rule.

The email conversation problem

Most CRM migrations quietly drop email history. It is the most complex data in the system, and the easiest thing to declare out of scope. Here is why it is so hard with Pipedrive:

  • There is no export button for emails. Pipedrive's own export does not include them, and HubSpot's own Smart Transfer skips them too. Contacts and deals arrive in the new CRM; the conversations stay behind unless someone goes and gets them separately.
  • One email, three copies. Pipedrive lists emails separately for every deal, every contact and every organisation. An email linked to all three exists as three copies, so the same conversations come out repeated, each copy knowing only part of who and what it belongs to.
  • Private inboxes stay private. Pipedrive keeps each user's inbox private unless an email is shared and linked to a customer record. Private emails were out of scope; we migrated the business emails shared with the CRM.

Loaded as they are, those copies would have buried HubSpot in duplicates. So we matched every copy back to the one email it came from, combined everything each copy knew into a single, complete set of links, and loaded each email once, attached to the right contact, the right company and the right deal.

The client's teams opened HubSpot on day one and found their conversations where they expected them. That is the difference between a migration and a fresh start with old data attached.

How we did it

Six phases, each with something to check at the end of it.

  1. Extract — full record sets pulled from both source CRMs via API
  2. Analyse — duplicates, gaps and format inconsistencies identified, and transformation rules defined against HubSpot's data model
  3. Clean — the obvious problems fixed first: exact duplicates, date formats, phone number formats
  4. Transform & match — structural duplicates merged, records matched across both source systems into single unified records, fields mapped to HubSpot properties, custom properties built where nothing equivalent existed
  5. Import — native import tool and API used in combination, chosen object by object around HubSpot's real platform limits
  6. Test — integrity checks against source, functional testing of search and deal tracking, user acceptance testing with daily users, and a full reconciliation report

The result

Two CRMs became one. Relationships intact, tickets intact, and years of email conversation history preserved and correctly attached — not archived in a spreadsheet somewhere as a consolation prize.