GoHighLevel · Solution guide
GoHighLevel Migration Service: What Moves, What Doesn't, Timeline and Cost
Quick answer
A GoHighLevel migration service moves your contacts, custom fields, tags, deals and notes into HighLevel, rebuilds the automations that cannot be exported, ports your numbers, and cuts over without double-messaging anyone. Call history, email threads and workflows do not come across by file, so they are archived or rebuilt.
Part of the guide: GoHighLevel expert
Key takeaways
- HighLevel's CSV import takes contacts, opportunities, custom fields and one note per contact, from a CSV under 30 MB with a single sheet and a header row (HighLevel support, updated September 2026). Call logs, email threads and automations are not in that list, so they are archived or rebuilt.
- Every source system hides part of its history outside the main export. HubSpot's record export leaves calls and notes to a separate export or its engagements API, and Pipedrive says activities, notes and files linked to deals and contacts must be exported separately (vendor docs, checked October 12, 2026).
- The slow parts are outside the data move. HighLevel documents LC Phone number ports at 2 to 4 weeks, and A2P 10DLC registration and sending-domain authentication also have waiting periods, so they start in week one, not on cutover day.
- Moving between two HighLevel accounts works differently: contacts go by CSV export (admin only, notes over 255 characters may be truncated, no message history) or a workflow action, and structure goes by snapshot.
- aibrevo's published price for a complete single-business GoHighLevel build is $500 to $4,000 and multi-location is $4,000 to $12,000 (at the time of writing). A migration is scoped from your export, because record counts, source and history decide the work.
You exported a clean file from your old CRM, opened HighLevel, and found the part nobody put on the migration plan: the importer takes contacts and deals, but not the automations that actually ran your follow-up, not the call history, and not the phone number your customers already text. A GoHighLevel migration service covers all of it: the data that moves by file, the work that gets rebuilt, and the cutover that keeps two systems from messaging the same person. aibrevo works with its partner company autoesta, whose team delivers GoHighLevel builds; aibrevo’s CRM team scopes the project with you.
This is the service page. If you would rather do it yourself, the HubSpot to GoHighLevel how-to guide, the Salesforce to GoHighLevel how-to guide, the general CRM migration guide and the data cleaning guide cover the method. This page covers what you are buying, what you do versus what we do, the timeline, the cutover, the risks and the price.
What can move into GoHighLevel, and what has to be rebuilt?
Contacts, custom fields, tags, opportunities and one note per contact move by file. Automations, forms, funnels, email templates and reports are rebuilt. Phone numbers and email domains move by process (a port and DNS records), not by file. Everything below was checked in HighLevel’s help center on October 12, 2026.
| What you have | Moves by file? | What happens to it |
|---|---|---|
| Contacts (name, email, phone, address) | Yes | CSV import. Existing contacts are matched by email first, then phone, and updated instead of duplicated |
| Custom fields | Yes | Created in HighLevel first, then mapped as CSV columns |
| Tags and lists | Yes, as tags | Mapped to a written tag convention before import so tags keep one meaning |
| Deals and pipeline stages | Yes | Contacts and opportunities can share a CSV row and are linked automatically. Stages are rebuilt to match the process you run now |
| Notes | Partly | One note per contact, with a character cap. HighLevel’s article prints the cap in a way that reads as either 500 or 5,000, so we test it on your data |
| Activities, calls, emails, attachments | Not by the importer | Exported from the source as an archive, linked on the contact, or left in the old account read-only |
| Workflows and sequences | No | Rebuilt from an inventory of what the old system sends, assigns and updates |
| Forms, landing pages, funnels, websites | No | Rebuilt in HighLevel’s builders; the old URLs are redirected where you control the domain |
| Email templates | Copy and paste | Rebuilt and tested, since rendering differs between platforms |
| Reports and dashboards | No | Rebuilt around the questions you still ask |
| Phone numbers | By port | HighLevel documents 2 to 4 weeks; keep service active with the current carrier until it completes |
| Sending domain | By DNS | SPF, DKIM and DMARC set up for HighLevel; see the authentication guide |
| SMS registration | New filing | A2P 10DLC is registered per business in HighLevel; a rejected filing is a common delay (see A2P rejections) |
One import rule changes how consent is handled. If a CSV has a Do Not Disturb column, HighLevel applies DND to all channels (SMS, email, calls, voicemail). If a contact opted out of texts but not email, that column is the wrong tool, and consent is carried with tags and a workflow instead. HighLevel’s import article says the same.
What does each old system actually let you export?
Each source exports its main records well and its history badly, so the export is audited before any quote is final. The table lists what the vendors’ own documentation says, checked October 12, 2026.
| Moving from | What the vendor’s export gives you | What it leaves out or splits off |
|---|---|---|
| HubSpot | Contacts, companies and deals with properties and associations, as CSV or XLSX. Download links expire after 30 days | Calls and notes sit outside the record export; HubSpot points to an individual-contact export, activity reports and its engagements API. Associations default to up to 1,000 per record |
| Salesforce | Data Export Service produces CSV files for the org on a weekly or monthly schedule depending on edition | Relationships, automation and metadata are not carried by a CSV export (a third-party backup vendor’s description); flows and Apex are rebuilt |
| Pipedrive | People, organizations, deals, activities and notes, as XLSX or CSV | Activities, notes and files linked to deals and contacts must be exported separately, per Pipedrive. Notes export as HTML or plain text |
| Zoho CRM | Module export by view and field, plus a full backup under Data Administration | Zoho’s menu labels and per-export limits vary by edition, so we check them in your account |
| ClickFunnels 2.0 | Contacts as CSV under Customers, Contacts | We found no official ClickFunnels article on exporting funnels to another platform, so pages are rebuilt |
| Spreadsheets | Whatever the sheet holds | Duplicates, mixed phone formats and merged cells; this is a cleaning job first |
| Another HighLevel account | Contacts by CSV or a copy workflow action, structure by snapshot | Message history, and notes beyond 255 characters |
The wide gap between a clean export and a usable migration is why we ask for an export sample before quoting, not after. Our data cleaning guide lists what to fix first, and the CRM import limits comparison shows the row and file ceilings of the destination you may be moving through.
How do you migrate from one GoHighLevel account to another?
Contacts move by CSV or a workflow action, structure moves by snapshot, and everything tied to your identity (numbers, A2P, domains, logins) is set up again. This is the version agencies hit most, usually when they consolidate sub-accounts or take over a client’s account.
- Contacts by CSV. In the source sub-account, Contacts, Smart Lists, select the contacts, then More, Export. HighLevel queues the export on its servers, tracks it in Bulk Actions and keeps the file for 30 days. Only admin users can export. The export has no automation history, and notes over 255 characters may be truncated.
- Contacts by workflow. The Copy Contact to Sub-Account action can copy contacts with tags and custom fields, but a custom field copies only if that field already exists in the target. It is a premium action: HighLevel says new and existing sub-accounts get 100 free executions once premium actions are enabled, after which executions are billed.
- Structure by snapshot. Workflows, pipelines, forms, calendars and templates move with a snapshot. Third-party guides consistently report that contacts, conversations, phone numbers, A2P registration, domains and integration logins do not travel in one. Read how snapshots work and the sub-account guide before choosing the target structure.
- Identity again. A2P registration, sending-domain records, number moves and integration logins are redone in the new account.
If the move is out of HighLevel instead, read migrating from GoHighLevel, which covers what exports and what does not.
What happens, in what order, and how long does it take?
A migration runs in seven stages over about two to four weeks, with waiting periods started in the first week. The dates below are an illustrative plan for a standard single-business move, not a vendor figure.
| Stage | What happens | Who owns it | Illustrative timing |
|---|---|---|---|
| 1. Inventory | Export sample, list of automations, integrations, numbers, domains, users | You supply access; we read and document | Days 1 to 3 |
| 2. Decisions | Field map, tag convention, pipeline stages, what to retire | Joint; you approve in writing | Days 3 to 6 |
| 3. Start the waiting items | Number port request, A2P filing, sending-domain DNS | We file; you sign the carrier and business forms | Day 3 onward |
| 4. Build | Custom fields, pipelines, users, forms, calendars, workflows | We build | Weeks 1 to 3 |
| 5. Clean and test import | Cleaned file, a sample of a few dozen records reviewed, then the full load | We run it; you spot-check | Weeks 1 to 2 |
| 6. Test | Fresh test contacts through every branch, including failure paths | Joint | Weeks 2 to 3 |
| 7. Cutover and handover | Staged switch, old system to read-only, walkthrough and written handover | Joint | Weeks 3 to 4 |
The longest bar on this plan is not the build. The port, the A2P filing and DNS propagation have their own clocks, and the plan above only works if they start on day three.
What do you do, and what do we do?
| You do | We do |
|---|---|
| Give admin access to the old system and HighLevel | Export, audit and clean the data, and report what we find |
| Approve the field map, tags, stages and the list of automations to retire | Draft those four documents and flag anything ambiguous |
| Sign carrier, business-identity and A2P forms | File them, resubmit rejections and track status |
| Tell us which contacts have opted out and where that is recorded | Carry consent with the data and build the opt-out handling |
| Test with real examples and approve go-live | Build, test every branch and run the cutover |
| Name the person who owns the account afterward | Write the handover and walk the team through it |
How is the cutover done without double-messaging anyone?
Cutover is staged: each automation goes live in HighLevel on the same day it is switched off in the old system, and the old account is kept read-only afterward. A single big-bang switch is the most common source of duplicate texts and missed leads.
- Freeze the old data. Pick a date, take a final export of changes since the first import, and import only that delta using the update option, so existing contacts are updated instead of duplicated.
- Go live in order of value. New-lead response first, then booking reminders, then nurture sequences. Watch each for a few days before turning on the next.
- Switch off the matching old automation the same day. Two systems sending the same reminder is the failure to avoid.
- Move the number last. The port finishes on the carrier’s schedule, so keep the old line active until HighLevel confirms it, and keep missed-call handling working during the gap.
- Point forms and ads at HighLevel. Update embedded forms, ad lead forms and booking links, then test a real submission from each.
- Keep the old account read-only for a set period. Decide the end date up front, so the old subscription is cancelled on purpose.
What can go wrong in a GoHighLevel migration?
Most migration failures are mapping, consent and sequencing errors, not software faults. Bloor Research found 84% of data migration projects miss objectives or significantly overrun time and budget, as cited in our HubSpot to GoHighLevel guide; treat that as directional, since it covers migrations generally.
| What you see | Likely cause | Fix |
|---|---|---|
| Whole list set to Do Not Disturb on every channel | A DND column in the CSV | Remove the column; carry channel-specific consent with tags and a workflow |
| Contacts missing after import | Rows had no name, email or phone, or the phone format was rejected | Fix the rows from the import error log and re-import only the failed rows |
| Duplicate contacts | Duplicates inside the CSV, which HighLevel does not resolve on its own | Deduplicate before import |
| Blank cells wiped good data on a re-run | Update import without the protection setting | Tick Don’t update Empty Values on update imports |
| Texts blocked after cutover | A2P not registered or rejected for this business | Resubmit with matching opt-in language; see SMS error codes |
| Emails going to spam | New sending domain without authentication or warm-up | Authenticate the domain and raise volume gradually |
| Customers texting a dead number | Old line cancelled before the port finished | Keep the old carrier active until the port is confirmed |
| Duplicate messages to the same contact | Old and new automations both live | Staged cutover, one switch-off per switch-on |
Which source platforms do you migrate from?
The method is the same for any source, and the export audit decides the work. HubSpot is the most common, so the GoHighLevel vs HubSpot comparison is worth reading before you commit. The platforms we scope are HubSpot, Salesforce, Pipedrive, Zoho CRM, ClickFunnels, spreadsheets and other HighLevel accounts. If your source is not on that list, send the export sample and we will tell you before any money changes hands whether it is a fit.
What does a GoHighLevel migration cost?
aibrevo publishes three bands, and a migration is scoped inside the one that matches your account. The figures are aibrevo’s own, at the time of writing.
| Band | Published price | A migration lands here when |
|---|---|---|
| CRM setup | $500 to $4,000 | One business, one account, a moderate record count and a defined set of automations to rebuild |
| White-label SaaS | $4,000 to $10,000 | You are an agency moving into a branded platform with billing and an onboarding funnel |
| Multi-location | $4,000 to $12,000 | Several locations or sub-accounts, shared snapshots and per-location data |
We do not publish a separate migration price, because the quote depends on three things: the number of records and objects, how clean the export is, and how many automations must be rebuilt. HighLevel’s own subscription and usage fees (texts, calls, phone numbers, A2P fees) are separate; see the pricing calculator and the setup cost estimator to size them, and the published pricing for aibrevo’s bands. For how scope maps to price, the implementation cost guide and the setup agency page set the rest of the context.
Get a scoped quote. Bring an export sample, a list of what your old system sends automatically, and your phone numbers. Book a 30-minute call or send us a message. The call ends with a written scope that lists deliverables, not hours.
What do you get at handover?
You get an account you own and can run: a field and tag map, a list of every workflow with its trigger and exit condition, a record of what was imported, what failed and what was archived, the tested numbers and domain settings, a recorded walkthrough, and a named owner for weekly checks. Handover documents are yours to keep.
Who is this not for?
A migration service is the wrong purchase in these cases.
- Fewer than a few thousand contacts, one pipeline and no automations. A DIY CSV import with HighLevel’s own steps is realistic.
- You need the old system’s deep reporting or enterprise governance. Moving off Salesforce or HubSpot loses native reporting and integrations that have no direct HighLevel equivalent; read the comparison first.
- You want your call and email history searchable inside HighLevel. The importer does not do that; an archive is the realistic outcome.
- Nobody will own the account afterward. The migration only holds if someone checks failed sends and drifted tags weekly.
- You are leaving HighLevel. That is a different job.
Sources
All HighLevel and vendor pages checked October 12, 2026.
- HighLevel Support: Importing contacts and opportunities via CSV: file size, objects, matching by email then phone, DND column behavior, one note per contact, error log.
- HighLevel Support: Troubleshooting bulk imports via CSV: older 10,000-row guidance and error handling.
- HighLevel Support: How to export contacts to a CSV: admin-only export, Bulk Actions, 30-day retention, 255-character note truncation, no automation history.
- HighLevel Support: Copy contacts between sub-accounts: Copy Contact to Sub-Account action, tags, custom fields, premium action terms.
- HighLevel Support: Submit and track port-in number requests: port timing and keeping the current carrier active.
- HubSpot Knowledge Base: Export records: properties, associations, activities handled separately, 30-day links.
- Pipedrive Knowledge Base: Exporting data: XLSX and CSV, notes and activities exported separately.
- Salesforce Help: Export backup data: weekly or monthly CSV export by edition (read via search summary).
- ClickFunnels Support: Export contacts: contact export; no official funnel export article found.
- Zoho CRM Help: Export CRM data: module export and backup (read via search summary; confirm menu labels in your edition).
- Snapshot exclusions (contacts, conversations, numbers, A2P, domains, logins) are reported by third-party guides and are not stated in the HighLevel articles we fetched; confirm on a test sub-account.
- Illustrative timeline and the you-do/we-do split are aibrevo’s planning model, not a vendor figure. Prices: aibrevo’s published pricing, at the time of writing.