CiviCRM to HubSpot
Open-source CRM for nonprofits and associations. It runs on a CMS (Drupal, WordPress, Joomla or Backdrop) and covers contacts, contributions, memberships, events and cases.
CiviCRM data can move into HubSpot, landing mainly in Sales Hub. 1 of 7 mapped objects move directly (Contacts (Individual)); 5 items need manual work and 4 do not move. Plan roughly 2-4 weeks for a small move and 10-20 weeks for a large one.
Migration checklist for CiviCRM
Three phases, specific to this system. Tick steps off as you go.
Before
0 of 5 doneDuring
0 of 5 doneAfter
0 of 5 doneWhat will it take?
No price list: cost follows volume, custom objects and how much logic must be rebuilt. Answer four quick questions for a planning range.
The three scenarios
Small migration
<10k contacts
CSV export and import, with few custom fields.
Mid migration
10k-100k contacts
API extraction, custom objects and activity history.
Large migration
>100k contacts, many contributions
Multiple custom objects, heavy automation rebuild, phased cutover.
What moves the number
Timeline ranges are planning estimates, not a quote. A partner confirms scope after discovery.
Access, mapping and limits
Start with how data leaves CiviCRM: what you need to get in, what lands in HubSpot, and what will not.
REST (APIv4 and APIv3)
An API key or JWT for a CiviCRM contact or user. The sysadmin must enable the AuthX flow, and the user needs the authenticate permission.
The API user needs per-entity permissions, and new APIs default to 'administer CiviCRM'. Sysadmin or database access is needed to configure AuthX.
Choose your route
How will you move the data?
No native connector was found.
- You need: An API key or JWT for a CiviCRM contact or user. The sysadmin must enable the AuthX flow, and the user needs the authenticate permission.
- Permission: The API user needs per-entity permissions, and new APIs default to 'administer CiviCRM'. Sysadmin or database access is needed to configure AuthX.
Native imports often bring over only some data, so check coverage per object in the mapping below.
Export each object, clean it, then import it into HubSpot.
- Search results and Advanced Search export to CSV, with field selection and relationship data
- Exports of contacts, contributions, memberships, events, cases, grants, pledges and activities
- APIv4 REST get calls with joins, for full extracts including related email, phone and address
- Direct MySQL database dump (self-hosted)
Limits: To confirm
Migration and sync tools can move more than a plain import. Confirm which objects each one supports before you choose.
Best when volume is high, custom objects are many or automation is heavy. That is the Large scenario: 10-20 weeks, usually phased.
Talk to a partnerWhere each object lands
In CiviCRM
In HubSpot
Hover or tap anything on the left to see where it lands.
| Source object | In HubSpot | Moves | Notes |
|---|---|---|---|
| Contacts (Individual) | Contacts | yes | Email, phone and address are separate entities in CiviCRM, so join them in APIv4 or use the export field selection. Match records in HubSpot on email. |
| Contacts (Organization, Household) | Companies | partial | Organization contacts map to Companies. Households have no equivalent and need a custom object or a decision on how to handle them. |
| Relationships (e.g. employer) | Contacts | partial | Relationships export only as relationship data. Rebuild them as HubSpot associations through a multi-object import. |
| Activities (meetings, calls, emails) | Meetings | partial | Activities export to CSV and can be imported as Calls, Meetings, Notes or Tasks. Existing activities cannot be updated by import, and CiviCRM activity-to-contact assignments need an association audit. |
| Contributions, pledges, memberships, events, cases | Custom objects | manual | HubSpot has no native equivalents. Choose between custom objects, Deals or properties. Contributions could map to Deals only by design. |
| Opportunities / pipelines (CiviCRM core has none; CiviSales or CiviCase may be used) | Deals | manual | Core CiviCRM has no sales pipeline, so deals must be derived from an extension or from contributions. Build the pipelines in HubSpot. |
| Users / owners | Contacts | manual | Owners must be created as HubSpot users. Map them by email in the import. |
What to expect
These are configuration and cannot be exported to HubSpot Workflows.
The CiviCRM permission model is not portable to HubSpot's roles and teams.
They are native CiviCRM configuration and must be rebuilt as HubSpot reports.
HubSpot import can't update these once created.
CiviCRM custom data is flexible, and :name suffixes are needed to export labels rather than IDs.
HubSpot has no native object for these.
Group membership is not a HubSpot record type.
Marketing opt-out lists can be imported, but the consent history needs mapping.
None of the three exports.
Export activities and contact assignments separately and keep the CiviCRM IDs as a custom property for reconciliation.
Use APIv4 with explicit joins and a Primary flag, then check row counts against the source.
Dedupe in CiviCRM first and import email-less people with a custom unique ID.
Use the ?_authx= or X-Civi-Auth flow if the Authorization header fails.
Data governance and compliance
Decide what is allowed to move before anything is exported. Tick each gate once it is agreed.
How we researched this page
How much to trust each section, and where it comes from.
Access and export paths are backed by CiviCRM developer docs and HubSpot import docs. The object mapping, the CiviCRM-to-HubSpot field mapping, rate limits, and governance details rest on category-level knowledge. No vendor or HubSpot migration guide for CiviCRM was found.
Sources
Related migrations
Frequently asked questions
How do I migrate CiviCRM to HubSpot?
1. Confirm the CiviCRM version, hosting (self-hosted or partner) and CMS. 2. Enable the AuthX extension and create a dedicated API user with an API key. 3. Inventory custom field groups, option values, contact types, relationship types and activity types. 4. Run the CiviCRM dedupe tool and clean the contact data.
What data can move from CiviCRM to HubSpot?
These objects move directly: Contacts (Individual). Check the mapping table for partial and manual items.
What does not move from CiviCRM to HubSpot?
Automation (scheduled reminders, CiviRules, CiviMail workflows), Permissions and ACLs, Reports, SearchKit displays and dashboards and Existing HubSpot emails, meetings, notes and tasks updated by re-import. Plan to rebuild or retire these.
How long does a CiviCRM to HubSpot migration take?
Small (<10k contacts): 2-4 weeks. Mid (10k-100k contacts): 4-10 weeks. Large (>100k contacts, many contributions): 10-20 weeks. These are planning estimates, not a quote.
What access do I need to export from CiviCRM?
An API key or JWT for a CiviCRM contact or user. The sysadmin must enable the AuthX flow, and the user needs the authenticate permission. The API user needs per-entity permissions, and new APIs default to 'administer CiviCRM'. Sysadmin or database access is needed to configure AuthX.
Is there a native HubSpot connector for CiviCRM?
No native connector was found. Plan a CSV, API or third-party tool route.
What compliance issues apply when moving CiviCRM data?
Check: Donor financial data (contributions, payment references), Possible health or special-category data in case notes and Possible minors' data (youth programs, schools). Agree consent, retention and access rules before exporting.
Moving CiviCRM into HubSpot?
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