aibrevoBook a call

How to Migrate from GoHighLevel to HubSpot, Pipedrive or Salesforce

Moving off GoHighLevel means exporting contacts and opportunities by CSV, pulling conversation history through the API, and rebuilding workflows by hand, because neither export nor the API carries workflow steps. A contact export keeps only the latest note, cut to 255 characters. Here is what moves, what doesn't and the order to cut over.

Part of the guide: GoHighLevel expert

Key takeaways

  • Contacts and opportunities export to CSV natively. Conversations, tasks and automation history do not come with a contact export, according to HighLevel's help center.
  • A contact export includes only the latest note, up to 255 characters. If your team logs call notes in GoHighLevel, export notes separately through the API before you cancel.
  • Workflows cannot be exported to another CRM. HighLevel's workflow API returns only the name, status, version and dates, not triggers or steps, so every automation is rebuilt by hand.
  • Cut over in this order: phone numbers and A2P plan, data export, import into the new CRM, rebuild automations, run both in parallel, then cancel. HighLevel deletes numbers and A2P 14 days after cancellation and all data after 90.
  • HubSpot takes up to 1,048,576 rows per import file, Pipedrive 50,000 and Salesforce's Import Wizard 50,000, so most small GoHighLevel accounts move in one file per object.

Most guides on this topic go the other way: how to move from HubSpot into GoHighLevel. Moving out is less documented and has a few traps that only show up after you cancel. The biggest: a GoHighLevel contact export keeps only the latest note, cut to 255 characters, and it carries no conversations, tasks or automation history. Workflows don’t export to anything outside GoHighLevel at all.

This guide covers what moves, what doesn’t, how to get the hard parts out, and the order to cut over so you don’t lose phone numbers or data. It applies whether you’re heading to HubSpot, Pipedrive, Salesforce or another CRM.

Checked on October 6, 2026 against HighLevel’s help center, its API documentation and the destination CRMs’ import documentation.

What exports from GoHighLevel, and what doesn’t?

Data How it leaves GoHighLevel What to watch
Contacts (names, emails, phones, tags, custom fields) CSV: Contacts > Smart Lists > More > Export, download from Bulk Actions Only Agency and Location Admins can download; files expire after 30 days
Notes Contact export includes only the latest note, up to 255 characters Full note history needs the API
Companies CSV export from Contacts > Companies Export before contacts so you can re-link them
Opportunities (deals) CSV: Opportunities > three-dot menu > Export Opportunities Pipelines and stages must be recreated first in the new CRM
Conversations (SMS, email, chat) No native export found in HighLevel’s help docs; API or marketplace app Decide early if you need them for compliance
Tasks Not in the contact export API, or recreate open tasks only
Workflows and automations Cannot be exported to another CRM API returns name, status and dates only; rebuild by hand
Funnels, websites, forms Stay in GoHighLevel Rebuild or move to a website platform
Phone numbers and A2P Port out to a new provider Deleted 14 days after cancellation

Sources: HighLevel help center articles on contact export (updated December 24, 2025), opportunities (updated April 21, 2026) and cancellation (updated August 18, 2026); HighLevel API documentation for workflows and conversations. Checked October 6, 2026.

The two rows that cause the most damage are notes and conversations, because nobody notices they’re missing until a salesperson opens a migrated contact and finds no history.

How do you get notes and conversations out?

HighLevel’s contact export article says the CSV includes “only the latest note of up to 255 characters” and that exports don’t include automation history, conversations or tasks. If your team logs call notes in GoHighLevel, the CSV will silently drop most of them.

The route for full history is the HighLevel API:

  1. Conversations. The API’s get messages by conversation endpoint returns a conversation’s messages in pages (20 per call by default), with the message body, direction, type, status and date. A script loops through each contact’s conversations and writes them to a file you can attach to records in the new CRM.
  2. Notes. Pull every note per contact through the API rather than relying on the CSV column.
  3. Where it lands. Most CRMs can’t recreate a two-way SMS thread as native messages. The practical options are a single “GoHighLevel history” note per contact, or a file attachment, so the context survives even if it isn’t threaded.

HighLevel’s ideas board has open requests for a one-button conversation export, and marketplace apps offer exports for a fee. If you only need recent history, an export app can be quicker than a custom script; for compliance records, check what the app includes before relying on it.

Can you move GoHighLevel workflows to another CRM?

No. Snapshots copy workflows only between GoHighLevel accounts. HighLevel’s workflow API returns each workflow’s id, name, status, version and dates, but not its trigger, conditions, waits or actions.

So the job is to document, then rebuild:

  1. List every published workflow. Drafts are usually abandoned experiments; confirm before skipping them.
  2. For each one, write down the trigger, filters, wait steps, actions and any custom values it uses.
  3. Mark which ones still matter. Accounts that grew over time often have several workflows doing the same job.
  4. Rebuild the keepers in the new CRM: HubSpot workflows, Pipedrive automations or Salesforce Flow.

Rebuilding is also a chance to fix what was broken. If the old account had duplicate or conflicting automations, our guide on whether to fix or rebuild a GoHighLevel account covers how to tell.

In what order should you cut over?

Cutover order when leaving GoHighLevel Six steps in order: plan phone numbers and texting registration, export data, import into the new CRM, rebuild automations, run both systems in parallel, then cancel GoHighLevel. 1. Numbersport + A2P plan 2. ExportCSV + API 3. Importcompanies first 4. Rebuildautomations, forms 5. Parallelboth live, check leads 6. Cancelonly after port HighLevel deletes numbers and A2P 14 days after cancellation, and all data after 90 days.
Cancel last. Source for deletion timings: HighLevel's cancellation article, updated August 18, 2026.
  1. Plan phone numbers and texting first. Start number ports with your new provider before anything else; ports take time and the number must not be released early. Your A2P 10DLC brand and campaign are tied to the old provider, so plan to register again. Our cancellation FAQ covers the 14-day deletion window.
  2. Export everything you’ll need, including notes and conversations through the API, while the account is fully active.
  3. Import in dependency order: companies, then contacts linked to them, then deals, then notes and history. Recreate pipelines and stages in the new CRM before importing deals.
  4. Rebuild automations, forms and calendars, then point website forms and ad lead forms at the new CRM.
  5. Run both in parallel for at least one full sales cycle or a couple of weeks. Check that every new lead lands in the new CRM and gets its first response.
  6. Cancel GoHighLevel last, after ports complete and you’ve confirmed nothing still writes to the old account.

How much data can the new CRM take in one import?

For most single GoHighLevel accounts, one file per object is enough. These limits come from each vendor’s documentation; our CRM import limits comparison has the full table with sources.

Destination Rows per import file Notes
HubSpot (paid) 1,048,576 512 MB per file; free tools 20 MB
Pipedrive 50,000 Under 50 MB, one tab
Salesforce Data Import Wizard 50,000 Data Loader for larger loads
Zoho CRM 10,000 to 30,000 per batch by edition CSV above 5,000 records
monday CRM Under 8,000 10 MB per file

Clean the files before importing: deduplicate on email, normalize phone numbers to one format and remove test contacts. The data cleaning guide covers how.

Which CRM should you move to?

That depends on why you’re leaving. If you’ve outgrown GoHighLevel’s sales side (multi-stakeholder deals, forecasting, products, permissions), HubSpot, Pipedrive and Salesforce are the usual destinations. If you’re leaving because of cost or a messy build, check first whether a cleanup solves it; a rebuilt GoHighLevel account is often cheaper than a new platform.

The CRM pricing comparison shows what each costs for 5, 10 and 25 users. GoHighLevel’s flat price beats per-seat CRMs above a certain team size, so price the move before you commit to it.

Get the migration done without losing history

aibrevo’s CRM team runs migrations into HubSpot, Pipedrive, Salesforce and the other major CRMs, including the API pull for notes and conversations, workflow documentation and rebuild, and the cutover plan. Book a short call with your contact count, pipelines and a list of the workflows you rely on, and we’ll tell you what moves cleanly and what needs rebuilding.

Start with the contact export itself: how to export contacts from GoHighLevel covers the menu path, the file contents and the gaps.

Sources

More guides

Related reading

FAQs

Can you export your data from GoHighLevel?

Yes, partly. Contacts export to CSV from Contacts, Smart Lists, More, Export, and opportunities export from the Opportunities menu. Conversations, tasks and automation history are not part of the contact export, and notes are limited to the latest one, up to 255 characters. Message history needs the API or a marketplace export app.

How do I move from GoHighLevel to HubSpot?

Export contacts, companies and opportunities from GoHighLevel as CSV, pull notes and conversations through the API if you need them, map fields to HubSpot properties, import companies first, then contacts, then deals, and rebuild workflows in HubSpot. Keep both systems running until new leads flow correctly into HubSpot, then cancel GoHighLevel.

Can I export GoHighLevel workflows to another CRM?

No. Snapshots copy workflows only between GoHighLevel accounts, and HighLevel's workflow API returns only each workflow's name, status, version and dates. Document each workflow's trigger, conditions, waits and actions from the builder, then rebuild them in the new CRM's automation tool.

Can I export my GoHighLevel conversations and text history?

Not with a built-in button, based on HighLevel's help documentation; its ideas board has open requests for one. The API's conversation messages endpoint returns message history in pages, 20 messages per call by default, and marketplace apps sell exports. Plan this early if you need records for compliance.

What happens to my phone number if I leave GoHighLevel?

Port it out before you cancel. HighLevel deletes phone numbers and A2P registrations 14 days after cancellation. Start the port with your new provider, wait until it completes, and then cancel. Your A2P brand and campaign need registering again with the new texting provider.

How do I know I've outgrown GoHighLevel?

Common signs are deals that need several stakeholders, products and forecasting; reporting that leadership doesn't trust; permission needs beyond sub-account roles; or a sales team bigger than the marketing operation GoHighLevel was set up for. If texting, booking and local lead response are still your core, a cleanup is usually cheaper than a move.

How long does a GoHighLevel migration take?

For a single account with a few thousand contacts and one pipeline, the data move itself takes days. Rebuilding automations, forms, calendars and email templates, porting numbers and re-registering A2P usually takes a few weeks. Agencies with many sub-accounts should plan each client account as its own small project.

Stuck on this? Ask an engineer

Not ready for a call? Send one question about your setup. An engineer replies by email within one business day.

Want a second opinion on your setup?

A free 30-minute call with an engineer. A written read on your current setup, whether or not you hire us.