CRM migration
Field-level mapping, validation, and rollback between HighLevel and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
HighLevel
Source
Nutshell
Destination
Compatibility
7 of 9
objects map 1:1 between HighLevel and Nutshell.
Complexity
BStandard
Timeline
2-3 weeks
Try the reverse
Overview
HighLevel uses a flat, agency-centric data model with multi-tenant sub-accounts, unlimited contacts, and Pipeline Stages. Nutshell uses a traditional B2B architecture with Accounts (Companies), Contacts, and Opportunities as separate objects with explicit lookup relationships. The migration challenge is structural: a naive CSV export from HighLevel creates orphan Contacts with no Account link and Opportunities with no pipeline assignment, because HighLevel does not enforce those relationships the way Nutshell does. We resolve this by sequencing the migration (Accounts first, then Contacts with AccountId, then Opportunities with pipeline stage mapping), using the Nutshell REST API rather than CSV upload. We preserve Tags as a multi-select field, map Pipeline Stages to Nutshell Sales Processes, and deliver a written Workflow inventory for manual rebuild because Nutshell's automation capabilities are scoped to task rules rather than the trigger-action chain model HighLevel uses. Sub-accounts require explicit scoping because each HighLevel sub-account is an isolated environment that may need to map to a different team or a single consolidated Nutshell org.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Source platform
HighLevel platform overview
Scorecard, SWOT, gotchas, and pricing for HighLevel.
Destination platform
Nutshell platform overview
Scorecard, SWOT, gotchas, and pricing for Nutshell.
Data migration guide
The complete Nutshell migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Source platform guide
GoHighLevel migration guide
Understand the data you're exporting from HighLevel before mapping it.
Destination checklist
Nutshell migration checklist
Pre- and post-cutover tasks for moving onto Nutshell.
Source checklist
GoHighLevel migration checklist
Exit checklist for unwinding your HighLevel setup cleanly.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a HighLevel object lands in Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
HighLevel
Contact
Nutshell
Contact
1:1HighLevel Contacts map to Nutshell Contacts. Standard fields (first_name, last_name, email, phone, address) migrate directly. HighLevel's lifecycle_stage property maps to a custom text field hgl_lifecycle_stage__c in Nutshell because Nutshell does not have a lifecycle model. Tags migrate as a comma-separated multi-select field; we truncate to Nutshell's 255-character field limit and flag any contact with tags exceeding that length for manual review.
HighLevel
Company
Nutshell
Account
1:1HighLevel Companies map to Nutshell Accounts. The Company name becomes Account name, domain becomes Website, and industry and employee count map to custom fields. Nutshell requires Accounts to exist before Contacts are linked, so we migrate all Accounts first in a dependency-ordered pass before the Contact phase begins.
HighLevel
Contact (linked to Company)
Nutshell
Contact with AccountId
1:1HighLevel Contacts with a linked Company require AccountId resolution during migration. We extract the HighLevel contact-company relationship from the API, create the Account in Nutshell first, then insert the Contact with the resolved AccountId reference. This is the step most naive CSV imports skip, resulting in orphan Contacts in Nutshell with no Account link.
HighLevel
Opportunity
Nutshell
Opportunity
1:1HighLevel Opportunities map to Nutshell Opportunities. The Opportunity name, amount, expected_close_date, and stage (dealstage) migrate directly. The linked Contact and Company become Nutshell's ContactId and AccountId lookups. We resolve these parent references before Opportunity insert to avoid orphaned opportunity records.
HighLevel
Pipeline Stage
Nutshell
Stage
lossyHighLevel pipeline stages map to Nutshell Stage values on the Opportunity. We create Nutshell Sales Processes matching the HighLevel pipeline structure, preserving stage order and names. Probability percentages from HighLevel map to Nutshell's stage probability field. Each HighLevel pipeline becomes a separate Nutshell Sales Process.
HighLevel
Custom Object
Nutshell
Custom fields on standard object
1:1HighLevel Custom Objects require schema introspection before migration. We inspect the custom object's field types and data, then map them to Nutshell custom fields (text, number, date, picklist, multi-select) on the nearest standard object (Contact, Account, or Opportunity). If the custom object has relationships to standard objects, we replicate those as lookup fields in Nutshell. Complex multi-level custom object hierarchies may require partial manual mapping.
HighLevel
Tag
Nutshell
Custom multi-select field on Contact
lossyHighLevel tags are flat string labels applied to Contacts. We consolidate all unique tag values from the source export, create a Nutshell custom multi-select field to hold them, and map each Contact's tag list during import. Tags exceeding Nutshell's 255-character field limit are split across a secondary tag field with a flag for manual consolidation.
HighLevel
Task
Nutshell
Task
1:1HighLevel Tasks linked to Contacts or Opportunities migrate to Nutshell Tasks. Task name, due date, completion status, and assignment migrate directly. We resolve the assigned user by email match against Nutshell's User table and resolve the related Contact or Opportunity reference before insert.
HighLevel
User
Nutshell
User
1:1HighLevel Users (agency staff and sub-account owners) map to Nutshell Users by email address. Any HighLevel User referenced in an assigned field without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision. Inactive Nutshell users can receive migrated records if the admin enables the user or reassigns ownership.
| HighLevel | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Contact (linked to Company) | Contact with AccountId1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Pipeline Stage | Stagelossy | Fully supported | |
| Custom Object | Custom fields on standard object1:1 | Fully supported | |
| Tag | Custom multi-select field on Contactlossy | Fully supported | |
| Task | Task1:1 | Fully supported | |
| User | User1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
HighLevel gotchas
Sub-account architecture creates isolated data silos per client
Usage-based telecom and AI costs are not in the subscription price
Workflows have no native equivalent in most destination CRMs
API rate limits cap bulk migration throughput at 100 requests per 10 seconds per sub-account
White-label configuration and branding assets do not export via API
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Discovery and sub-account enumeration
We enumerate all HighLevel sub-accounts accessible to the agency's credentials and identify which sub-account(s) hold the data in scope. We audit contact volume, company volume, opportunity volume, pipeline count, custom object schemas, and active Workflow count per sub-account. We also extract the full list of tags in use to size the custom field migration. The discovery output is a written scope document with record counts per sub-account and a decision point on consolidation versus team-level mapping in Nutshell.
Schema design in Nutshell
We design the Nutshell schema based on the discovery findings. This includes creating custom fields (hgl_lifecycle_stage__c, any custom object field equivalents), configuring Sales Processes and Stages matching the HighLevel pipeline structure, and setting up Teams if the migration involves multiple sub-accounts mapping to separate Nutshell environments. We configure Nutshell via API before any data import begins.
Sandbox migration and relationship validation
We run a full migration into a Nutshell trial or sandbox environment using production-like data volume. We validate that Contacts are linked to Accounts, Opportunities are linked to Contacts and Accounts, and stage assignments match the HighLevel source. We run reconciliation on record counts and spot-check 20-30 records for field-level accuracy. The customer's admin reviews the sandbox and approves the mapping before production migration begins.
Owner and user reconciliation
We extract every distinct HighLevel user referenced in assigned fields and match by email against Nutshell's User table. Any HighLevel user without a matching Nutshell account goes to a reconciliation queue. The customer's admin provisions missing users or decides on inactive-user handling. OwnerId references must be resolved before record import can proceed on Contacts, Companies, and Opportunities.
Production migration in dependency order
We run production migration in the following order: Accounts (from HighLevel Companies), Contacts (with AccountId resolved from the contact-company relationship graph), Opportunities (with AccountId, ContactId, and Stage resolved), Tasks (with OwnerId and related Contact or Opportunity resolved), custom object data (with lookup fields resolved to standard objects). Each phase emits a reconciliation report before the next begins. We use the Nutshell REST API with batch chunking and exponential backoff to handle rate limits.
Cutover, delta sync, and Workflow handoff
We freeze writes to the source HighLevel sub-account during cutover, run a final delta migration of any records modified during the migration window, then enable Nutshell as the system of record. We deliver the Workflow inventory document to the customer's admin team with rebuild instructions. We offer a five-day hypercare window to resolve any record-level issues surfaced by the team after cutover. We do not rebuild HighLevel Workflows as Nutshell automations; that work is manual or a separate automation integration engagement.
Platform deep dives
HighLevel
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across HighLevel and Nutshell.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
HighLevel: 200,000 API requests per day and 100 API requests per 10 seconds per sub-account.
Data volume sensitivity
HighLevel exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during HighLevel to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your HighLevel to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave HighLevel
Other ways to arrive at Nutshell
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.