Short answer: exporting a CRM is not the same as migrating a CRM. Most systems let you download your contacts, companies, and deals as CSV files, but the things that make the data usable in a new system — links between records, email history, notes, attachments, user assignments, and automations — often live outside those files or need separate steps. Before you migrate: inventory what you actually use, confirm per entity what exports and what doesn’t, run a trial import into the new system, and keep the old system intact until counts and spot checks pass.

Part 1 — The universal checklist (vendor-neutral)

Work through these items regardless of which systems you are moving between:

  1. Inventory your entities. List every object you use: contacts, companies, deals/opportunities, activities (calls, meetings, tasks), emails, notes, attachments, products/quotes, custom fields and custom objects, pipelines and stages, and saved views/reports. Mark each one must migrate or can archive.
  2. For each entity, ask what “export” includes. Field values are the baseline. Then check: are associations (deal↔contact, contact↔company) included? Are activities and email threads included or a separate export? Are attachments included inline, as links, as an opt-in, or not at all? Are system fields (created/modified dates, owner) preserved? The vendor sections below show how differently the three vendors answer this.
  3. Check the limits that break big migrations — at the entity, not just the plan. Common ones: per-export row or file-size caps; time-limited download windows (Salesforce deletes export files after 48 hours and Pipedrive keeps generated files for 28 days; HubSpot’s links expire after 30 days); daily export quotas (HubSpot: 300 per rolling 24 hours); association columns that truncate (HubSpot’s default association columns cap at 1,000 linked IDs); edition-gated export schedules (Salesforce weekly exports exist only in Enterprise, Performance, and Unlimited editions); plan-gated item types (Pipedrive project exports need Premium or higher, or the Projects add-on).
  4. Mind permissions — for export, import, and cleanup. Many exports require admin or specific export permissions; bulk deletion in the destination (for re-imports) is often permission-restricted too. Confirm your role can export everything you inventoried and clean up if a trial import goes wrong.
  5. Build a field-mapping sheet before touching any tool — old field → new field → transformation → who confirmed it. Start from field-mapping-template.csv (Part 3), not from memory.
  6. Run a trial import into the new CRM first. A common starting point is ~20 records per entity covering the edge cases in migration-acceptance-checklist.csv (a company with no contacts, a deal with multiple contacts, records with special characters, closed-won deals, records with long notes). Treat that number as an example starting point, not a coverage guarantee — the matrix, not the record count, is the checklist. Fix the mapping, then repeat until the matrix passes.
  7. Plan verification counts (Part 4): record counts per entity, plus spot checks on associations, dates, and ownership.
  8. Prepare rollback before you start. Keep the old system’s subscription active through verification; take and store a full export set on storage you control (don’t rely on the old vendor’s retention — Salesforce, for example, removes export files 48 hours after completion and cannot recover them); export or snapshot the new system’s trial-import state so a bad import can be reset by deletion/re-import — which requires delete permissions in the destination and verified backups of both systems. No vendor guarantees one-click rollback; plan it as a decision with owners and triggers, not an assumption.
  9. Decide what you are not migrating and say it out loud: automations/workflows, dashboard configurations, and integration settings usually must be rebuilt, not exported. Confirm each one explicitly.

Part 2 — Product-specific export notes (official documentation only, accessed 2026-10-24)

These notes describe what each vendor’s own help documentation states. They are not a substitute for checking your own account, and edition/plan/permission qualifiers below travel with their claims — don’t generalize one vendor’s rules to another.

HubSpot

Source: Export your records (HubSpot Knowledge Base, updated 2026-04-02).

  • Record exports (contacts, companies, deals, tickets, and more) require the appropriate export permissions. By default an export includes only the properties and associations shown in the current view — switch to all properties (and associations) if you need everything.
  • The default association columns include up to 1,000 associated record IDs; the “All associated records” option is CSV-only.
  • Platform limits: up to 300 exports in a rolling 24 hours with 3 running at once; download links expire after 30 days; the export log is kept for 3 years; large exports (CSV/XLSX over 1 million rows, XLS over 65,535 rows) may be delivered as multiple files in a ZIP.
  • Contact activities (e.g., calls, notes) are routed to separate options instead of record exports — the article names “Export individual contact data,” “Export certain activity reports,” and the engagements API. Plan those steps explicitly; they are not bundled into record exports.
  • The article states exports are available with all products and plans; it does not state tier-based differences beyond permissions — confirm in your own account.

Salesforce

Source: Salesforce Data Export FAQ (Salesforce Help, publish date 2026-08-17; full text reviewed).

  • Schedule depends on edition. The FAQ states: weekly exports are available in Enterprise, Performance, and Unlimited Editions; monthly exports are “available in All editions, except for Database.com.” The FAQ does not name Starter Suite explicitly — treat “monthly Data Export works in my Starter Suite org” as to be confirmed in your own org before you schedule a migration around it. Manual generation is once every 7 days (weekly) or 29 days (monthly).
  • 48-hour download window, then deletion. Export files are downloadable for 48 hours after completion; they are removed as soon as a new export is queued, even within the window; once removed, neither customers nor support can recover them. Build your download step into the plan, not into “later.”
  • Download pacing. One file at a time, with a required 60-second wait between downloads (faster attempts hit an HTTP 429 error).
  • No speed guarantee. There is no SLA for export completion; large exports can take longer than a week, and support cannot expedite them. The FAQ suggests choosing only needed objects and considering the Data Loader tool or AppExchange apps as alternatives.
  • Attachments and documents are an option, not a default. The Data Export options include “Include images, documents, and attachments” and “Include Salesforce Files and Salesforce CRM Content document versions” — both can be deselected, and the FAQ recommends deselecting them to speed up exports. If you need attachments, confirm they are included in your export run.
  • Recycle Bin data is not included in exports.

Pipedrive

Source: Exporting data from Pipedrive (Pipedrive Knowledge Base, updated September 2026; full text reviewed).

  • Permissions come first. Only global admins and regular users with the correct permissions can export data — and even with export permission, you can only export data visible to you based on your visibility group or item visibility. Confirm your role before planning around an export.
  • Two export routes, with different coverage:
  • The Export data tab (Tools and apps > Export data; global admin permissions required to export by data type) downloads each item type individually: leads, deals, organizations, people, products, activities, projects (available on Premium and higher plans or with the Projects add-on), notes (HTML or plain text), and files. Most of these exports include default, custom, and system fields, along with ownership information and any linked records.
  • The list view exports customized data — the columns you’ve chosen — for deals, leads, projects, contacts, and organizations.
  • Linked activities, notes, and files must be exported separately. The article states this directly: “Activities, notes and files linked to deals and contacts must be exported separately.” If your pipeline history lives in activities and notes, your migration plan needs those export steps explicitly — they are not bundled into a deals export.
  • Two file caveats: files stored in Google Drive are not exported during global export (their download link works for admins only), and generated export files are available for 28 days — download promptly and store them yourself.
  • Field and user setup are exportable too: the Data fields export includes your field setup (item type, field name, field type, custom flag, and API key) or selectable options — useful as the skeleton for your mapping sheet. The Users and access export covers user names, emails, permission sets, and visibility groups (account-settings access required).
  • Pipedrive also documents an API-based export for automated or advanced use cases, and documents imports separately (linked from the same article) — when Pipedrive is your destination, check its import documentation for the column structure you must map to.

Gaps to confirm in-account before any migration (not fillable from blogs): Starter Suite’s monthly Data Export availability (the FAQ’s edition list doesn’t name it); whether your HubSpot seat/plan hits any export permission or quota differences; HubSpot attachment handling (not stated in the export article we checked); how your Pipedrive visibility groups limit what your role can actually export.

Part 3 — Field mapping (template + illustrative example)

Use field-mapping-template.csv. The rows below are an illustrative example — not a real account, not a recommended mapping. Build your own sheet and have the person who owns the data confirm each row.

Source field (old CRM) Source type Destination field (new CRM) Transformation / decision
Full Name Contact, text Name (contact) Split into first/last if the destination separates them
Company Contact, free text Company (company record) Free text must be matched to company records; decide the match rule (exact name? domain?) and who resolves misses
Deal value Deal, currency Amount Confirm currency handling if multiple currencies exist
Stage Deal, dropdown Pipeline stage Map old stage names to the new pipeline; unmatched stages need a decision, not a default
Owner All records, user Owner Recreate users in the new system first; otherwise imports fail or reassign ownership
Notes Contact, long text Activity note (per record) Decide: one note per record as text, or re-dated? Timestamps are often lost in CSV

Part 4 — Verify before you cut over, and how to roll back

Verification (after the trial import, and again after the real one):

  1. Counts per entity: source records exported vs. rows in the file vs. records in the destination. All three numbers should match or have a documented explanation (e.g., duplicates intentionally merged).
  2. Association spot checks: an example starting point is 10 random deals — confirm their linked contacts and companies exist and are linked in the destination. This is where flat-file migrations fail silently; scale the sample to your data and record your rule in advance.
  3. Field spot checks: sample records per entity and compare fields side by side, including dates and currency amounts.
  4. Ownership and permissions: confirm records are owned by the right users and that stage/pipeline math (e.g., forecast totals) matches what the old system reported.
  5. Write down the acceptance numbers before importing, so “close enough” isn’t decided under pressure.

The full entity/relation/anomaly matrix lives in migration-acceptance-checklist.csv; it is a starting structure to extend with your own entities, not a claim that it covers every boundary case.

Rollback preparation:

  • Keep the old CRM fully active (and its subscription paid) until verification passes — do not cancel on migration day.
  • Store the complete export set (all files, plus your mapping sheet and the verification numbers) in storage you control, with checksums if the files are large. Remember vendor-side windows: Salesforce deletes export files after 48 hours and cannot recover them; HubSpot links expire after 30 days; Pipedrive generated files are available for 28 days.
  • If you plan a deletion/re-import recovery in the new system, verify delete permissions for the role doing it and take a backup of the destination state first — bulk delete is permission-restricted in several CRMs.
  • Agree in advance on what triggers rollback (e.g., an association error-rate threshold you set) and who makes that call.

What this guide is not

  • It is not a tested runbook. The steps are a planning checklist; the vendor notes come from official documentation read on 2026-10-24, not from a migration performed by this site. No claim here is based on a real migration executed by the authors.
  • It promises nothing about losslessness, one-click transfers, or zero downtime. No CRM migration is guaranteed lossless; verification is how you find out what was lost.
  • It is not legal or compliance advice on data-protection obligations when copying customer data between systems.

Sources (all accessed 2026-10-24)

  • HubSpot Knowledge Base — Export your records (updated 2026-04-02)
  • Salesforce Help — Salesforce Data Export FAQ (publish date 2026-08-17; Lightning app — not independently re-fetchable by tooling, verified by browser full-text capture)
  • Pipedrive Knowledge Base — Exporting data from Pipedrive (page date fields read “September 3, 2026” and “2026-09-02” in two same-day captures; re-check before publishing)