Import data from HubSpot

Modified on: Thu, 14 May, 2026 at 10:36 AM

HubSpot Importer helps you move important HubSpot CRM data into HighLevel faster. This article walks you through importing your HubSpot data (contacts, deals, custom fields, and pipelines) and reviewing the import results so you can spot and fix any errors.


HubSpot Importer is currently in beta and available only for for select users. If you do not see the Import from HubSpot option, the feature may not be enabled for your account yet.

TABLE OF CONTENTS


What is the HubSpot Importer?


HubSpot Importer makes it easier to switch from HubSpot to HighLevel. Instead of rebuilding your CRM setup by hand, you can connect HubSpot, choose what to bring over, and start the import from inside HighLevel.


This helps speed up onboarding by bringing over important data and structure, including Contacts, Opportunities, Custom Fields, Pipelines, Stages, and Custom Folders. After the import finishes, HighLevel shows a report so you can see what imported successfully, what failed, and what may need review.



Key Benefits of HubSpot Importer


  • Faster Migration: Import supported HubSpot CRM data directly into HighLevel without relying only on manual CSV exports.

  • Preserved Structure: Bring HubSpot Deals into HighLevel as Opportunities while keeping supported Pipelines and Stages organized.

  • Custom Data Continuity: Import supported HubSpot Contact and Deal Properties as HighLevel Custom Fields.

  • Transparent Reporting: Review import totals, successful records, errors, warnings, object-level results, and record-level messages after the import finishes.


Before You Start


  • Use a clean account when possible. Importing into an account that does not already have manually created data makes errors and duplicates easier to review.

  • Turn on Allow duplicates for both Contacts and Opportunities before you start. You can re-enable de-duplication after the import is complete. Leaving duplicate-blocking on causes a lot of avoidable errors during a HubSpot import.

  • The import runs in the background. You can close the window and return later to review progress.


What Data You Can Import from HubSpot


The HubSport Importer currently supports Contacts, Opportunities (Deals), Custom Fields (Properties), Custom Folders, Pipelines, and Stages.


When Deals are imported as Opportunities, their pipeline and stage structure is preserved when supported by the importer. This helps keep your sales process familiar after moving from HubSpot to HighLevel.


Migration TypeWhat It Does
Contacts migrationBrings HubSpot contact records into HighLevel.
Opportunities migrationImports HubSpot Deals as HighLevel Opportunities.
Custom Fields migrationMaps HubSpot Contact and Deal Properties to HighLevel Custom Fields.
Pipelines & Stages migrationPreserves the full pipeline structure, including stages.
Custom Folders migrationCarries over folder organization for supported imported data.


Other HubSpot objects (Companies, Tickets, Tasks, Notes, Engagements, Workflows, etc.) are not yet included and are coming soon.


For unsupported objects, use your broader migration plan or the manual migration steps in the HubSpot to HighLevel migration guide.


How To Use the HubSpot Importer


Step 1: Open Import Data


From Contacts (or Opportunities), open the Import menu in the top-right and select Import data. 




Step 2: Select HubSpot Import


Click Connect HubSpot in the right card to start a HubSpot import.



Step 3: Authenticate your HubSpot account


Login to your HubSpot account and authenticate.




Step 4: Review the Quick Tips


Once your key is verified, the import wizard opens at Get started. This step shows a quick walkthrough video and a few tips:

  • Clean up duplicates in HubSpot before importing.

  • Back up your current data before importing.

  • Review field mappings before you start the import.

When you're ready, click Continue.


The Get started step of the import wizard, with a quick-tips video, link to the import guide, and tips for a successful import.



Step 5: Select What to Import


Choose which HubSpot objects to bring over:

  • Contacts: people you track (leads, customers, prospects).

  • Deals: pipeline value and status. Deals are imported as Opportunities.

    Importing Deals requires Contacts. Contacts will be auto-selected if you pick Deals.


Tick the boxes for what you want, then click Continue.

The Select objects step showing two cards: Contacts and Deals, with checkboxes to choose which to import.

Step 6: Review What is Included


The wizard automatically includes the related data needed to keep your records complete and connected:

  • Contacts: all properties (standard + custom fields).

  • Deals: all properties + pipelines.

    Pipeline stages are imported along with pipelines. You don't need to recreate them.

Two things to watch for with custom fields:

  • Custom fields are mapped by key. If a custom field with the same key already exists in your account, the import will throw an error for that field. Rename or remove the existing one before importing if you want a clean mapping.

  • Mismatched name vs. label. If a custom field's internal name and display label are different in HubSpot, you may see issues during import. Reviewing your HubSpot custom fields and aligning name/label before importing avoids surprises.

Click Continue to move on.


The Review included data step showing Contacts (Properties) and Deals (Properties and Pipelines) included by default.

Step 7: Confirm Record Counts


Before the import starts, the wizard shows what will be brought over and how many records are involved. For each row you'll see:

  • HubSpot data: what's in HubSpot (e.g., Contacts – records, Deals – pipelines).

  • Imported as: what it becomes in your account (e.g., Contacts – custom fields, Opportunities – pipelines).

  • Records found: how many records will be imported.


Note: The Records found count for custom fields can differ from what you see in HubSpot's UI. The wizard counts only fields it can map and import, so a small gap between the two numbers is expected.


Click Confirm and start import to kick it off. Confirm once more in the dialog that follows.

The Preview and import step showing a Confirm import details table with HubSpot data, Imported as, and Records found counts.



Step 8: Your Import is Running


You'll see a confirmation at the top of the page: Your HubSpot import has started and is running in the background. The Import history table below shows the in-progress run with a live Processing % status.


You can close the window or navigate away, the import keeps running. Come back to this page anytime to check progress.

A success toast at the top reading Your HubSpot import has started, with the Import history table below showing the in-progress run.

Step 9: Open Import Details (Object View)


When you're ready to review results, click the eye icon in the Actions column of an import row. The Import details modal opens.

The four cards at the top give you the headline numbers:

  • Total records: everything the import touched.

  • Success: records that imported cleanly (with the success rate).

  • Errors: records that didn't import.

  • Imported with warnings: records that imported but have something worth reviewing.


Object view (the default tab) summarises each object: how many succeeded, how many errored, and overall status.


The Import details modal in Object view, showing total records, success, errors, and imported-with-warnings counts plus a per-object summary table.



Step 10: Drill into Individual Records


Switch to the Record view tab to see every record one row at a time.

Use the filters at the top:

  • Objects: narrow to Contacts, Contacts – Custom field, Opportunities, etc.

  • Status: filter by Success, Error, or Imported with warnings.


The Import details modal in Record view, filtered to Status = Success, showing successfully imported records.

Step 11: Review and Fix Errors


Switch the Status filter to Error to see every record that failed. Each row tells you which object failed and why, with the HubSpot record ID in the message so you can find it back in HubSpot.


Click Download in the bottom-left to export the full error list as a CSV, useful for fixing data in HubSpot, then re-running the import.


Common error causes are covered in the Troubleshooting and FAQ sections below.

 

The Import details modal filtered to Status = Error, showing rows of failed records with error messages referencing HubSpot record IDs.


Troubleshooting


The Verify & Connect button gives me an error.

Double-check that your service key starts with pat- and that all four read-only scopes 

crm.objects.contacts.readcrm.objects.deals.readcrm.schemas.contacts.readcrm.schemas.deals.read) are attached to the key. If it still fails, generate a fresh key in HubSpot and try again.


The "Records found" count is lower than what HubSpot shows.

The wizard's count includes only fields the import can actually map and bring over. Some HubSpot fields are excluded (for example, fields with unsupported types), so you may see a small gap between HubSpot's UI and the count in the import preview. The records that don't make it into the count are the ones the import would skip anyway.


I see errors saying "Couldn't import contact with HubSpot record ID…"

That message tells you exactly which HubSpot contact failed. Common reasons:

  • The contact has a file attached to a field. File imports aren't supported yet — any contact (or deal) with a file attachment will throw an error. Workaround: download the file from HubSpot, remove the attachment from that field, then re-run the import. The file itself can be re-attached manually after import.

  • Custom field key collision. Custom fields are mapped by their internal key. If a field with the same key already exists in the destination, the import errors on that field. Rename or delete the existing field before importing.

  • Custom field name and label don't match. When a HubSpot field's name and label differ, the importer can get confused about which one to use. Aligning them in HubSpot before importing usually clears it up.

Frequently Asked Questions


Q: Can I re-import or pick up where I left off?

Yes, start a new import from the Import data page. Each run is logged separately in Import history, so you can compare runs and check the error CSV from a previous attempt before re-running.


Q: Does the import overwrite existing records?

By default, no. Imported records are added alongside whatever's already in your account. That's why we recommend importing into a clean account — and why "Allow duplicates" should be on during the import (see Before you start).


Q: Where can I see the full list of errors?

Open Import details from any import row, switch to Record view, set Status to Error, then click Download to export the full list as a CSV.



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article