Migration checklists
HubSpot migration checklists, platform by platform
Every move starts with a list. Pick your system for a checklist covering what to do before, during and after.
Method
How to use a checklist
- Pick your source platform below.
- Finish the Before steps first: access, inventory and a clean export.
- Run a test import before the cutover.
- Use the After steps to reconcile counts and retire the old system.
By platform
Find your system
Open a category, or filter by platform name.
Horizontal CRM4
| Platform | First step before you start | First step after the move |
|---|---|---|
| Salesforce Sales Cloud | Inventory custom objects, fields, validation rules, record types and flows in Salesforce. | Reconcile record counts and associations per object against the Salesforce exports. |
| Microsoft Dynamics 365 Sales | Inventory all tables, custom entities, fields, option sets, business rules and Power Automate flows. | Reconcile record and association counts per object against the source. |
| Zoho CRM | Inventory modules, fields, layouts, workflows, Blueprints and Deluge functions. | Reconcile record counts per module against Zoho. |
| Pipedrive | Confirm a global admin account for Tools and apps > Export data. | Reconcile record counts per object against the Pipedrive exports. |
Real estate CRM3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Follow Up Boss | Confirm who is account owner and grant Can Export on Admin > Team. | Reconcile record counts and sample records against the FUB export. |
| Wise Agent | Audit contact categories, sources and custom fields in Wise Agent. | Reconcile contact counts against the getContactsCount API result or the export. |
| Top Producer | Confirm whether the account is Top Producer X, 8i or 7i, since export paths differ. | Reconcile record counts between Top Producer and HubSpot. |
Lending, wealth & insurance CRM3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Salesforce Financial Services Cloud | Inventory FSC objects in use: Person Accounts, Households, ACR, Financial Account and custom objects. | Reconcile counts by Salesforce ID per object. |
| Microsoft Cloud for Financial Services | Inventory which Dataverse tables are in use: contact, account, opportunity, and any FS household or relationship tables. | Reconcile record counts by object between Dataverse and HubSpot. |
| Redtail CRM | Decide whether Redtail is retired or kept as the system of record, with a subset synced to HubSpot. | Reconcile counts of contacts, households, deals and notes against the source. |
Admissions & enrollment3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Salesforce Education Cloud | Inventory the Education Cloud/EDA objects in use (Account record types, Contact, Opportunity, Case, custom objects). | Reconcile record counts per object against the Salesforce exports. |
| Ellucian CRM Recruit | Confirm the Recruit version and hosting (cloud 5.x+) with Ellucian. | Reconcile record counts by entity against the Recruit views. |
| Ellucian CRM Advise | Confirm the Dynamics hosting model and that you have a Premium User admin account. | Reconcile record counts by entity against the Dynamics export. |
Patient acquisition & engagement3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Salesforce Health Cloud | Inventory Health Cloud objects and tag each as migrate, retain, or archive. | Reconcile record counts per object against the SOQL counts. |
| Microsoft Cloud for Healthcare | Inventory Dataverse environments and the healthcare tables in use (Patient, Appointment and custom tables). | Reconcile record counts against Dataverse extracts. |
| Veeva CRM | Confirm whether the org is legacy Veeva CRM (Salesforce) or Vault CRM. | Reconcile record counts and sample records against the source. |
Recruitment CRM & ATS3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Bullhorn | Raise a Bullhorn support ticket for OAuth client_id, client_secret and an API user. | Reconcile record counts per entity against Bullhorn. |
| Vincere | Inventory the Vincere entities in use: candidates, contacts, companies, jobs, placements and applications. | Spot-check record counts against the Vincere exports. |
| Recruit CRM | Confirm the Account Owner can enable the API token in Admin Settings > API. | Reconcile record counts per entity against the export. |
Professional services & legal CRM3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Clio Grow | Decide what stays in Clio Manage and what moves to HubSpot. | Reconcile record counts against the CSV exports. |
| Lawmatics | Confirm which Lawmatics data stays in the case management and billing system. | Reconcile record counts against the Lawmatics exports. |
| Law Ruler | Confirm who holds the Export Contacts/Inbox permission and who can read the API key. | Reconcile record counts and LeadID matches against the exports. |
Industry sales & booking systems3
| Platform | First step before you start | First step after the move |
|---|---|---|
| VinSolutions | Confirm with the Cox/VinSolutions account rep which export route is permitted (CSV, Cloudstore or partner API). | Reconcile record counts by rooftop against the source. |
| DealerSocket | Confirm with the Solera account rep which export reports and API/partner options your contract allows. | Reconcile record counts and sampled records per store against the source exports. |
| Elead CRM | Ask the CDK rep to confirm Fortellis access or a bulk export route. | Redirect the ADF/XML lead providers to HubSpot forms or the API. |
Nonprofit & membership CRM3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Salesforce Nonprofit Cloud | Inventory the org: new Nonprofit Cloud (Person Accounts, Gift objects) or legacy NPSP, and any custom membership objects. | Reconcile gift counts and totals per donor against Salesforce reports. |
| Blackbaud Raiser’s Edge NXT | Confirm whether the org is on Raiser's Edge NXT or on-premise Raiser's Edge 7, since the SKY API covers only NXT. | Reconcile record counts and gift totals per fund between RENXT and HubSpot. |
| Blackbaud CRM | Confirm the CRM version and service pack, since the REST API requires Service Pack 20 or later. | Reconcile constituent counts and total revenue against the Blackbaud query. |
Marketing automation & email3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Adobe Marketo Engage | Create an API-only user and role, then note the client ID, secret and REST endpoint. | Reconcile record counts and sample properties against the exports. |
| Oracle Eloqua | Audit Canvas campaigns, segments, shared filters, forms, CDOs and scoring models. | Reconcile contact, account and CDO counts and spot-check fields against the Eloqua export. |
| Salesforce Marketing Cloud Account Engagement | Create a Salesforce Connected App with the pardot_api scope and note the Business Unit ID. | Compare contact counts and sample records, including score, grade and opt-out fields. |
ABM, advertising & social3
| Platform | First step before you start | First step after the move |
|---|---|---|
| 6sense | Inventory which 6sense packages are active, since synced objects depend on the package. | Switch off 6sense Data sync for retired use cases. |
| Demandbase | Confirm the Admin or permission-set access needed to create JWTs and Account Connector tokens. | Reconcile account and contact counts between the CSV export and HubSpot. |
| Terminus | Inventory active Terminus audiences, campaigns and chat experiences. | Reconcile account counts between Terminus and HubSpot. |
Forms, events & conversion3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Typeform | Inventory all forms and workspaces through the Forms API. | Reconcile response counts per form against HubSpot contacts. |
| Jotform | Inventory all Jotform forms, their owners and their embeds. | Compare submission counts and sample records against Jotform. |
| Formstack | Inventory all forms, their submission counts and live embed locations. | Reconcile submission counts per form against HubSpot imports. |
Customer support & help desk3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Zendesk Support | Audit ticket volume, custom fields, forms, tags, organizations and attachments in Zendesk. | Compare ticket counts, statuses and attachment counts against Zendesk. |
| Freshdesk | Confirm the Freshdesk plan and its per-minute API limit, then generate an API key from an admin agent. | Reconcile ticket, contact and conversation counts against Freshdesk. |
| Intercom | Generate an Intercom access token and note the workspace region (US, EU or AU base URL). | Reconcile ticket and contact counts against Intercom. |
ITSM, contact centre & field support3
| Platform | First step before you start | First step after the move |
|---|---|---|
| ServiceNow ITSM | Scope tables with the ServiceNow team: incident, sn_customerservice_case, sys_user, customer_account, kb_knowledge. | Reconcile record counts per table against ServiceNow. |
| Jira Service Management | Inventory service desks, request types, queues, organizations and SLAs. | Reconcile ticket counts and associations against the JSM export. |
| Freshservice | Confirm the Freshservice plan and its per-minute API limit, and ask Freshworks about a temporary increase for migration. | Reconcile ticket, contact and note counts against Freshservice by type and status. |
Customer success, feedback & knowledge3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Gainsight | Inventory the Gainsight objects (Company, Person, Relationship, custom MDA objects) and their GSIDs. | Reconcile record counts and sample renewal dates against Gainsight. |
| ChurnZero | Confirm REST API access with ChurnZero and get credentials. | Reconcile account counts and renewal dates against the ChurnZero export. |
| Totango | Confirm your Totango plan and that you have global admin or Customer Data Hub permissions. | Validate Company and Contact counts against Totango segments. |
CPQ, proposals & sales documents3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Salesforce CPQ | Inventory SBQQ__ objects, price rules, product rules, templates and approval chains. | Reconcile quote totals and line item counts against the CPQ export. |
| Salesforce Revenue Cloud | Inventory Product2, Pricebook2, PricebookEntry, Quote and QuoteLineItem records and their custom fields. | Reconcile product and line item counts and totals against the Salesforce exports. |
| Oracle CPQ | Inventory commerce processes, main documents and data tables via the REST metadata endpoints. | Reconcile transaction totals against HubSpot deal amounts. |
Billing, subscriptions, payments & accounting3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Stripe Billing | Inventory Stripe customers, products, prices, subscriptions and invoices, and list any metadata used as IDs. | Reconcile invoice totals and subscription counts against Stripe reports. |
| Stripe Payments | Inventory Stripe customers, products/prices, invoices, subscriptions and charges. | Reconcile invoice and subscription counts and amounts against Stripe. |
| Chargebee | Check whether each Chargebee site is a Chargebee Billing site and note site names. | Reconcile customer, subscription and invoice counts between Chargebee and HubSpot using the sync dashboard. |
Revenue intelligence & sales engagement3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Clari | Inventory Forecast Tabs and get each forecastId from the tab URL. | Reconcile deal counts and engagement counts against export totals. |
| Gong | Inventory which Gong features are in use: Conversations, Forecast, Deal boards, Engage. | Reconcile call counts per rep and per deal against Gong. |
| Revenue.io | Confirm with Revenue.io whether HubSpot is used as the CRM or the data only sits in Salesforce. | Reconcile call and deal counts against Salesforce. |
Integration & workflow automation3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Zapier | Export Zap History as CSV/JSON in 5,000-run batches. | Check that no HubSpot record is updated twice by a Zap and a workflow. |
| Make | List all scenarios through the Make API and tag each as CRM or non-CRM. | Monitor Make scenario execution for leftover HubSpot triggers. |
| n8n | List all workflows through the public API (GET /workflows) or the n8n export:workflow –all CLI command. | Deactivate the replaced n8n workflows, and check no HubSpot webhook conflict remains. |
Customer data, enrichment & data quality3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Twilio Segment | Inventory sources, destinations, Unify spaces, audiences and computed traits via the Public API. | Reconcile contact counts and duplicate rates against the Segment profile counts. |
| mParticle | Inventory workspaces, inputs and outputs in the Directory. | Reconcile profile counts against HubSpot Contacts. |
| RudderStack | Inventory RudderStack sources, destinations, transformations and tracking plans. | Reconcile contact counts and key properties against the warehouse. |
Warehouses, databases & analytics3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Snowflake | Choose which Snowflake tables or views feed HubSpot and name an owner for each. | Reconcile HubSpot record counts and field values against the Snowflake views. |
| Databricks | Identify the curated Unity Catalog tables or views to expose to HubSpot. | Reconcile record counts and sample values between the Databricks views and HubSpot. |
| Google BigQuery | Confirm Data Hub Enterprise and HubSpot Credits availability. | Reconcile record counts and sample values between BigQuery and HubSpot. |
Agent builders & conversational AI3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Salesforce Agentforce | Inventory agents, topics, actions and prompt templates in the Salesforce org. | Run a controlled pilot on one channel and compare answers against the Salesforce baseline. |
| Microsoft Copilot Studio | Inventory agents, topics, knowledge sources and flows in each Power Platform environment. | Run the saved evaluation questions against the HubSpot agent. |
| Google Vertex AI Agent Builder | Inventory apps, agents and data stores in the Google Cloud project. | Compare answers with the old agent and tune the prompts. |
CMS & website builders3
| Platform | First step before you start | First step after the move |
|---|---|---|
| WordPress | Crawl the site with Screaming Frog and export all URLs, including archives, images and PDFs. | Check imported posts for authors, tags, featured images and meta descriptions. |
| WordPress.com | Crawl the site with Screaming Frog and export every URL, including archives, images and PDFs. | Check imported posts for formatting, authors, dates, meta descriptions and featured images. |
| Drupal | Inventory content types, vocabularies, Paragraphs, Views and webforms. | Compare the new site against the old crawl for 404s and redirect chains. |
Headless CMS, content operations & SEO3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Contentful | Inventory the spaces, environments and content types, and flag which are marketing content versus app content. | Compare entry counts and spot-check posts against the Contentful export. |
| Sanity | List document types in the dataset and decide which go to HubSpot and which stay in Sanity. | Compare post counts and spot-check rendering against the originals. |
| Strapi | Confirm the Strapi version (v4 or v5) and whether the host is self-managed or Strapi Cloud. | Compare post counts and spot-check body, images and metadata against Strapi. |
Ecommerce, learning & customer portals3
| Platform | First step before you start | First step after the move |
|---|---|---|
| Shopify | Confirm the Shopify plan, since it sets GraphQL limits. | Reconcile customer, product and order counts between Shopify and HubSpot. |
| Shopify Plus | Confirm which Shopify objects stay in Shopify (checkout, inventory, fulfilment). | Check contact, product and order counts against Shopify. |
| Adobe Commerce | Confirm the deployment: PaaS, on-prem Magento Open Source or Commerce as a Cloud Service. | Reconcile counts of customers, products and orders against Commerce. |
Quick answers
Frequently asked questions
What should a HubSpot migration checklist include?
Access and export, a data inventory and mapping, a test import, the cutover plan and post-move reconciliation.
Talk to a partner
Want a partner to run this move?
A network of 153+ tiered HubSpot partners and 1,800+ accounts of experience. Tell us what you are moving and which hub matters most.
Talk to a partner