CRM migration

Migrate from Nutshell to HighLevel

Field-level mapping, validation, and rollback between Nutshell and HighLevel. We move data and schema; workflows are rebuilt natively in HighLevel.

Nutshell logo

Nutshell

Source

HighLevel

Destination

HighLevel logo

Compatibility

63%

5 of 8

objects map 1:1 between Nutshell and HighLevel.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

HighLevel
Nutshell

Overview

What this migration involves

Moving from Nutshell to GoHighLevel is a data-model translation problem, not a simple record copy. Nutshell uses a B2B account-centric model where Companies contain People and Leads exist as separate records. GoHighLevel is contact-centric with Opportunities inside Pipelines and Companies treated as loose groupings rather than hierarchical parents. A naive CSV export from Nutshell flattens the Company-to-Person relationship, orphans activity histories, and gives you zero pipeline logic on the GoHighLevel side. We use Nutshell's JSON-RPC API with paginated extraction to pull the full relational structure, then map Companies to GHL Company objects, People to Contacts, and Leads into the same Contact object using a lifecycle-status flag. Pipeline stages and deal stages are recreated as GoHighLevel Opportunities with matching probability weights. We do not migrate email sequences, Nutshell IQ enrichment data, or binary file attachments—these require manual rebuild or separate tooling. We deliver a written inventory of all Nutshell automation configurations for your admin to rebuild as GoHighLevel workflows post-migration.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Nutshell logo

Nutshell

What's pushing teams away

  • Reporting features are considered weak by users—many resort to exporting data and performing analysis in Excel rather than using built-in dashboards.
  • Limited customization options for workflows, fields, and pipeline configurations compared to HubSpot or Salesforce, frustrating power users.
  • Mobile app is described as stripped-down relative to desktop, lacking many features available in the full web application.
  • Jack-of-all-trades positioning means Nutshell lacks the depth in any single area—marketing, service, or advanced sales automation—that growing teams eventually require.
  • Email integration limitations documented by TrustRadius reviewers, with some teams reporting reliability issues during high-volume campaign sends.

Choosing

HighLevel logo

HighLevel

What's pulling them in

  • Agencies choose HighLevel to consolidate CRM, email, SMS, scheduling, and funnels into one subscription, eliminating monthly bills for five to ten separate SaaS tools they previously stitched together.
  • The flat-rate pricing model bills per sub-account rather than per contact, so growing a contact database from 1,000 to 100,000 records does not trigger a billing surprise—a common pain point avoided by migrating customers.
  • White-label and sub-account capabilities let agencies resell HighLevel access to their own clients, turning a software cost center into a recurring revenue stream that justifies the subscription.
  • The platform ships a 14-day free trial with no credit card required, giving teams a low-friction entry point to validate fit before committing to the $97/month Starter tier.
  • Marketing agencies managing multiple client accounts use sub-accounts to maintain data isolation per client while operating under a single agency billing relationship with HighLevel.

Object mapping

How Nutshell objects map to HighLevel

Each row shows how a Nutshell object lands in HighLevel, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Nutshell

People

maps to

HighLevel

Contact

1:1
Fully supported

Nutshell People records map directly to GoHighLevel Contacts. The contact's name, email, phone, address, and standard fields transfer as typed fields in GHL. Nutshell's company_id reference resolves to a GHL Company object lookup at migration time. Any Person-level custom fields from Nutshell are recreated as Contact custom properties in GHL. The migration uses Nutshell's JSON-RPC contacts API with paginated cursor-based extraction and inserts into GHL via the Contacts REST endpoint, batched to avoid rate-limit violations.

Nutshell

Companies

maps to

HighLevel

Company

1:1
Fully supported

Nutshell Company records map to GoHighLevel Company objects. Unlike Nutshell's hierarchical model where People attach directly to Companies, GHL Companies function as a loose grouping mechanism that Contacts reference rather than a strict parent. Company-level custom fields migrate as GHL Company custom properties. The GHL Company is created before any Contact import so that the Company lookup reference is satisfied at Contact insert time.

Nutshell

Leads

maps to

HighLevel

Contact (status-flagged)

1:many
Mapping required

Nutshell Leads are distinct records separate from People, with their own custom fields and lifecycle. GoHighLevel has no separate Lead object, so we merge Nutshell Leads into the GHL Contact object using a custom field nut_source__c set to Lead for origin tracking. We also create a lifecycle_status custom picklist on the GHL Contact to preserve the Nutshell Lead stage (New, Contacted, Qualified, Unqualified) so the customer can segment in GHL without a separate Lead management workflow. The original Nutshell Lead ID is preserved in nut_original_id__c for audit.

Nutshell

Deals

maps to

HighLevel

Opportunity

1:1
Fully supported

Nutshell Deals map to GoHighLevel Opportunities inside Pipelines. The deal name, amount, expected close date, owner, and associated People and Companies transfer. In GHL, the Opportunity is placed inside the appropriate Pipeline and assigned to a stage that mirrors the Nutshell pipeline and stage definition. We preserve deal stage probabilities by configuring matching stage weights in GHL Pipeline setup. Closed-won and closed-lost reasons from Nutshell custom fields become GHL Opportunity custom fields.

Nutshell

Pipeline

maps to

HighLevel

Pipeline

lossy
Fully supported

Nutshell's multiple pipelines (each with configurable stages) map to GoHighLevel Pipelines. We extract pipeline definitions including stage names, stage order, and win/loss status, then recreate them as GHL Pipelines with equivalent stage definitions. Stage probability percentages transfer as GHL stage weights. Note that GHL Pipelines are simpler than Nutshell's pipeline automation triggers; automation logic is documented separately for rebuild.

Nutshell

Activities (calls, emails, meetings, tasks)

maps to

HighLevel

Notes and Tasks

1:1
Fully supported

Nutshell Activities tied to People or Companies migrate to GHL Notes attached to the corresponding Contact or Company. Call logs, meeting summaries, and task records transfer with timestamps preserved. Email content from Nutshell's activity log becomes a Note on the Contact with email metadata (sender, recipient, date) in the Note body. We maintain activity timeline ordering by setting the Note creation date to the original Nutshell activity timestamp so the customer sees the chronological history in GHL.

Nutshell

Custom Fields (People, Companies, Leads)

maps to

HighLevel

Custom Properties (Contact, Company)

lossy
Fully supported

We enumerate all Nutshell custom field definitions across People, Companies, and Leads during discovery. Each custom field is recreated in GHL with the equivalent field type (text, number, date, picklist, checkbox, phone, email, URL) before data import begins. Field-level constraints and picklist options are preserved. Custom field API names from Nutshell are mapped to GHL custom property keys, with nut_ prefixed to avoid naming conflicts with GHL reserved fields.

Nutshell

Tags

maps to

HighLevel

Tags

1:1
Mapping required

Nutshell uses a tag-based taxonomy for categorizing People and Companies. Tags are exported from Nutshell and mapped to GHL Tags. Nutshell tag hierarchy, if any exists, is flattened during transfer since GHL tags are a flat list. We use GHL's tag management API to create missing tags before Contact and Company import, then apply tags via the contact tagging endpoint during the data load phase.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Nutshell logo

Nutshell gotchas

High

Contact tier limits enforced on import

Medium

No bulk API endpoint requires paginated extraction

Medium

Email sequences not exportable via API

Medium

Foundation plan disables key sales features

HighLevel logo

HighLevel gotchas

High

Sub-account architecture creates isolated data silos per client

High

Usage-based telecom and AI costs are not in the subscription price

Medium

Workflows have no native equivalent in most destination CRMs

Medium

API rate limits cap bulk migration throughput at 100 requests per 10 seconds per sub-account

Low

White-label configuration and branding assets do not export via API

Pair-specific challenges

  • Nutshell's account-centric hierarchy flattens during export

    Nutshell uses a B2B account model where Companies contain People and Leads link to both. GoHighLevel is contact-centric with Companies as loose groupings rather than hierarchical parents. A CSV export from Nutshell strips the Company-to-Person relationship and orphans activity histories attached to Company records. We avoid this by using Nutshell's JSON-RPC API to extract the full relational structure (including the company_id reference on each Person), then reconstructing the hierarchy in GHL by creating Company records first, then inserting Contacts with the resolved Company lookup reference. CSV-only exports are not sufficient for this migration.

  • No bulk API on Nutshell requires paginated extraction

    Nutshell's API is JSON-RPC with no bulk or batch endpoint. Extracting large datasets requires paginated requests with cursor-based pagination. We implement rate-limit-aware pagination and chunk records into manageable batches. For accounts with 25,000+ records across People, Companies, and Deals, extraction time scales linearly and must be accounted for in migration timeline planning. We monitor Nutshell's API response headers for rate-limit signals and apply exponential backoff to avoid triggering temporary blocks.

  • Email sequences do not migrate and have no GHL equivalent

    Nutshell Pro and Business plan email sequences are automation configurations stored server-side and are not accessible via the public API. GoHighLevel does not have a direct sequence cadence model; sales engagement and follow-up automation use the Workflow builder instead. We do not migrate sequences. We document all active sequence names, trigger conditions, step counts, and timing intervals during discovery so the customer's admin has a rebuild checklist for GoHighLevel workflows. The People records and their activity history migrate so the contact context is preserved even without the automation logic.

  • GoHighLevel File Upload fields cannot be populated programmatically

    GoHighLevel's File Upload custom fields are tied to form submissions and cannot be updated or populated via API workflows or standard bulk import. Nutshell Attachments similarly expose metadata but not binary blobs via API. We export attachment filenames and URLs as text fields in GHL custom properties so the customer has a reference list for manual re-attachment. If the customer requires programmatic file migration, a private integration to GHL's Media Library via API (storing the file URL in a custom field) is the documented workaround but falls outside standard migration scope.

  • GoHighLevel email deliverability uses shared infrastructure

    GoHighLevel's email system runs on Mailgun (branded as LC Email) using shared IP infrastructure. Reviewers on G2 and Reddit consistently report lower inbox placement rates compared to dedicated email platforms, particularly for agencies migrating from ActiveCampaign or Keap. We configure SPF, DKIM, and DMARC on the customer's sending domain during GoHighLevel setup to warm up a dedicated sending reputation. Email deliverability monitoring post-migration is the customer's responsibility. This is not a migration data-loss issue but a post-migration operational consideration.

Migration approach

Six steps for a successful Nutshell to HighLevel data migration

  1. Discovery and data audit

    We audit the Nutshell account via the JSON-RPC API, extracting record counts across People, Companies, Leads, Deals, Activities, Tags, and Custom Fields. We enumerate all pipeline definitions (stage names, probabilities, order) and all active email sequence configurations (names, step counts, trigger types) for the rebuild inventory. We identify any Nutshell add-on usage (Nutshell IQ, Forms, Email Marketing) that will not transfer and flag these as manual or separate-tool migration. The discovery output is a written migration scope including the data model map, pipeline reconstruction plan, and a list of items that will require manual rebuild post-migration.

  2. Schema design and hierarchy resolution

    We design the GoHighLevel destination schema before any data moves. This includes creating GHL Company objects and Contact custom properties to match Nutshell custom field definitions, configuring Pipelines with stages and probability weights that mirror Nutshell pipeline logic, and defining the Lead-to-Contact merge strategy using a nut_source__c flag on the Contact object. We resolve the Company lookup dependency order: Companies insert first, then People with resolved company_id references, then Leads as flagged Contacts, then Deals as Opportunities inside Pipelines.

  3. Paginated extraction from Nutshell JSON-RPC API

    We extract all Nutshell objects using paginated JSON-RPC requests with cursor-based pagination. We implement rate-limit handling with exponential backoff and batch records into chunks of 200-500 per request to avoid triggering Nutshell's API limits. The extraction runs against the production Nutshell account. Activity history is extracted as a separate pass linked to the parent People and Company records by ID so that timeline ordering is preserved. All extraction output is validated against source record counts before the transform phase begins.

  4. Transform and load into GoHighLevel

    We run the transform phase using the resolved hierarchy map: Companies are created in GHL first, then People are inserted as Contacts with the GHL Company ID resolved from the original Nutshell company_id, then Leads are inserted as Contacts with nut_source__c set to Lead and the original Nutshell Lead stage preserved in a lifecycle_status custom field. Deals are inserted as Opportunities inside the configured Pipelines. Activities are loaded as Notes attached to the corresponding Contact or Company. Tags are applied via GHL's tag management API after Contact insert. Each phase emits a row-count reconciliation report comparing source count to destination count before the next phase starts.

  5. Cutover and automation rebuild handoff

    We freeze Nutshell writes during cutover, run a delta migration of any records modified during the migration window, then enable GoHighLevel as the system of record. We deliver the written automation inventory documenting every Nutshell email sequence with its trigger conditions, step count, and timing, mapped to a recommended GoHighLevel Workflow equivalent. We do not rebuild Nutshell sequences as GoHighLevel workflows inside the migration scope; that is a separate engagement. We support a three-day hypercare window where we resolve any record-count discrepancies or mapping errors surfaced by the customer's team.

Platform deep dives

Context on both ends of the pair

Nutshell logo

Nutshell

Source

Strengths

  • Simple, intuitive interface with minimal learning curve for sales teams new to CRM
  • Per-seat pricing is transparent and predictable, with annual billing reducing monthly cost
  • Full data export tool available for all account data including backups
  • Open JSON-RPC API allows programmatic access to all core objects
  • Native multichannel engagement (email, SMS, WhatsApp) without third-party add-ons for communication

Weaknesses

  • Reporting and analytics are considered weak, requiring manual Excel exports for detailed analysis
  • No bulk API endpoint—migration requires paginated API reads that must be rate-limited carefully
  • JSON-RPC API is less common than REST, requiring custom integration code compared to standard REST CRMs
  • Add-on costs (Forms, Nutshell IQ, Email Marketing) are per-company charges that stack on top of per-seat pricing
  • Feature restrictions on entry-level plans mean teams often need mid-tier to get basic automation
HighLevel logo

HighLevel

Destination

Strengths

  • Consolidates CRM, marketing automation, email, SMS, scheduling, and funnels into one platform at a predictable flat monthly rate.
  • Supports unlimited contacts and unlimited users on all paid tiers, removing per-record billing anxiety as databases grow.
  • Offers white-label and sub-account capabilities that let agencies resell access and manage multiple client environments under one billing relationship.
  • Includes built-in review management, reputation monitoring, and AI agents as native features rather than third-party add-ons.
  • Exports Contacts and Companies via a scalable async bulk CSV system that handles multi-million-row datasets without blocking the UI.

Weaknesses

  • The breadth of features creates a steep learning curve; advanced automations and Workflow configuration require significant time investment that smaller teams may not recover.
  • The platform charges usage-based fees for telecommunications and AI features that are not included in the base subscription, leading to bill surprises.
  • Recurring user reports on Reddit and G2 describe bugs, errors, and slow support response times that disrupt live marketing and sales operations.
  • Sub-account architecture, while powerful for agencies, adds migration complexity when identifying which client data lives in which isolated environment.
  • The platform is designed for agencies and SMBs; larger enterprises requiring deep reporting, custom objects at scale, or complex role-based access may outgrow its capabilities.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Nutshell and HighLevel.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Nutshell: Not publicly documented in summary form..

  • Data volume sensitivity

    A

    Nutshell exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Nutshell to HighLevel migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Nutshell to HighLevel data migrations

Answers to the questions buyers ask most during Nutshell to HighLevel migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Nutshell to HighLevel migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Small team migrations under 10,000 People and 2,000 Deals with one pipeline typically complete in two to three weeks. Agency-scale migrations with multiple pipelines, large activity histories, or Nutshell Pro plan configurations with active sequences move to four to six weeks because of the hierarchy rebuild work, paginated extraction time, and GoHighLevel pipeline configuration scope. The Nutshell JSON-RPC API has no bulk endpoint, so extraction time scales linearly with record volume and must be factored into the timeline.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Nutshell.
Land in HighLevel, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day