CRM migration

Migrate from Nutshell to Salesforce Sales Cloud

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

Nutshell logo

Nutshell

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

58%

7 of 12

objects map 1:1 between Nutshell and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

5-8 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Salesforce Sales Cloud
Nutshell

Overview

What this migration involves

Moving from Nutshell to Salesforce Sales Cloud is a structural migration that requires resolving fundamental model differences. Nutshell holds People as flat records attached directly to Companies, with a separate Leads object that is structurally distinct from both; Salesforce separates unqualified prospects into Lead records and qualified contacts into Contact records attached to Account parents. We resolve that Lead-versus-Contact split during scoping and apply it as a transformation rule at migration time. Nutshell's JSON-RPC API has no bulk endpoint, so we implement cursor-based pagination with rate-limit handling to extract large datasets without triggering throttling errors. Activity history (calls, emails, meetings, tasks) migrates through the Salesforce Bulk API 2.0 with WhoId and WhatId parent-record resolution so the timeline attaches to the correct Contact and Account on day one. We do not migrate Email Sequences or Attachments—sequences are automation configurations not exposed via API, and Nutshell's API surfaces attachment metadata but not binary blobs. We deliver a written sequence inventory and an attachment re-attachment checklist 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

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How Nutshell objects map to Salesforce Sales Cloud

Each row shows how a Nutshell object lands in Salesforce Sales Cloud, 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

Salesforce Sales Cloud

Lead or Contact (split required)

1:many
Fully supported

Nutshell People with a lifecycle status indicating an unqualified prospect map to Salesforce Lead. People attached to an existing customer organization or with an assigned owner matching an active sales rep map to Salesforce Contact tied to an Account. We determine the split using Nutshell's people_type field and the presence or absence of a linked deal. The original Nutshell person_id migrates as a custom field nutshel_person_id__c on both Lead and Contact for audit trail and cross-reference.

Nutshell

Companies

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

Nutshell Company records map directly to Salesforce Account. Company name is the dedupe key during import. Nutshell's flat hierarchy means a Company exists without a mandatory parent, which maps cleanly to Salesforce's Account model where top-level Accounts have no parent unless a hierarchy is explicitly configured. We create Account records before People import so that the AccountId Lookup is satisfied at Contact insert time.

Nutshell

Leads

maps to

Salesforce Sales Cloud

Lead

1:1
Mapping required

Nutshell Leads are distinct records separate from People, with their own custom fields and lifecycle. They map directly to Salesforce Lead without requiring conversion. Any custom fields on the Nutshell Lead object are enumerated during discovery, and matching custom fields are created in Salesforce before the Lead import phase begins.

Nutshell

Pipelines

maps to

Salesforce Sales Cloud

Record Type + Sales Process

lossy
Fully supported

Nutshell Pipelines map to Salesforce Opportunity Record Types with a corresponding Sales Process that whitelists the stage values. We extract the pipeline definitions during discovery and configure Salesforce Record Types in the sandbox before production migration. Each Record Type gets its own Opportunity Page Layout so stage values remain scoped per line of business.

Nutshell

Pipeline Stages

maps to

Salesforce Sales Cloud

Opportunity Stage

lossy
Mapping required

Nutshell stage-level data (probability, order, win/loss status) maps to Salesforce Opportunity Stage definitions. Stage probability percentages transfer to Salesforce StageProbability, rounded to the nearest allowed integer. Win and loss stage flags map to IsWon and IsClosed checkboxes on the Opportunity.

Nutshell

Activities (Calls, Emails, Meetings, Tasks)

maps to

Salesforce Sales Cloud

Task + Event + EmailMessage

1:1
Fully supported

Nutshell Activities are extracted per Person and Company as a flat timeline. Calls migrate as Salesforce Task with TaskSubtype=Call. Meetings migrate as Event records with StartDateTime, EndDateTime, and Location preserved. Emails migrate as EmailMessage records linked to Task records on the activity timeline. Activity timestamps are preserved as ActivityDate for timeline ordering. We use the Bulk API 2.0 for activity ingest because the volume typically exceeds what CSV-based Data Loader can handle without timeout errors.

Nutshell

Custom Fields (People, Companies, Leads)

maps to

Salesforce Sales Cloud

Custom Fields

lossy
Fully supported

Nutshell custom field definitions are enumerated per object during discovery. We create matching custom fields in Salesforce using the same field label and a sanitized API name (spaces removed, special characters stripped, __c suffix appended). Field types are mapped: Nutshell text to Salesforce Text, Nutshell number to Number, Nutshell date to Date, Nutshell dropdown to Picklist, Nutshell multi-select to Multi-Select Picklist. Picklist values are migrated verbatim if the field is a standard picklist; if values exceed 500, we recommend a text field to avoid Salesforce picklist limits.

Nutshell

Tags

maps to

Salesforce Sales Cloud

Tags or Multi-Select Picklist

lossy
Mapping required

Nutshell tags on People and Companies are extracted and mapped to Salesforce Multi-Select Picklist fields on the Contact or Account. If the customer uses more than 150 unique tags, we recommend a Salesforce Custom Metadata configuration or a junction object to handle the tag taxonomy rather than a multi-select picklist field (Salesforce caps multi-select picklist values at 500). The customer selects the strategy during scoping.

Nutshell

Users/Owners

maps to

Salesforce Sales Cloud

User

1:1
Mapping required

Nutshell Users are mapped to Salesforce User records by email address. We run an owner reconciliation step before migration: any Nutshell User without a matching Salesforce User is held in a queue and the customer provisions the missing User account before record import resumes. This step is required because OwnerId is a required reference on Opportunity and Activity records.

Nutshell

Products (if applicable)

maps to

Salesforce Sales Cloud

Product2 + PricebookEntry

1:1
Fully supported

If Nutshell Products are in scope (available on Pro and Business plans), they map to Salesforce Product2 records with Standard Price Book entries created during import. The Nutshell SKU field maps to ProductCode on Product2.

Nutshell

Attachments

maps to

Salesforce Sales Cloud

Manual re-attachment required

1:1
Not supported

Nutshell's API exposes attachment metadata (filename, content type, URL reference) but does not return binary file blobs. We export attachment filenames, content types, and original upload dates as a structured CSV inventory. The customer manually re-attaches files in Salesforce after migration using the inventory as a checklist. We cannot automatically migrate attachments and flag this explicitly in the migration scope document.

Nutshell

Email Sequences

maps to

Salesforce Sales Cloud

Flow rebuild handoff

1:1
Not supported

Nutshell Email Sequences are server-side automation configurations on Pro and Business plans that are not accessible via the public API. We do not migrate sequences. During discovery we capture sequence names, step counts, step types (email, task, delay), and trigger conditions in a written inventory document that the customer's Salesforce admin uses as a rebuild checklist. Sequences do not map to any standard Salesforce object; they are rebuilt as Salesforce Flow or a Sales Engagement tool (Sales Engagement is a separate Salesforce license).

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

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Nutshell's flat People model has no direct Salesforce equivalent

    Nutshell attaches People directly to Companies in a flat hierarchy; there is no separate Contact record type equivalent to Salesforce's Contact object. Salesforce requires a Lead-to-Contact conversion step or an explicit split between unqualified prospects (Lead) and qualified contacts (Contact attached to Account). We define the split rule during scoping by reviewing the Nutshell account's people records, deal associations, and lifecycle stages, and we apply it as the first transform during migration. Accounts without this step end up with Contacts that have no AccountId or People records that should have been classified as Leads.

  • No bulk API endpoint means pagination-aware extraction

    Nutshell's JSON-RPC API has no bulk or batch endpoint. Extracting large datasets requires cursor-based pagination with careful rate-limit handling. For accounts with 50,000+ records, extraction time scales linearly and must be accounted for in migration timeline planning. We implement paginated reads with exponential backoff and chunk records into manageable batches to avoid throttling. Without this, large migrations either time out or silently truncate during extraction.

  • Email Sequences and Attachments do not migrate

    Nutshell Email Sequences are server-side automation configurations not accessible via API. We do not migrate them—we document every sequence name, step count, step type, and trigger condition during discovery so the customer has a rebuild checklist for Salesforce Flow. Nutshell's API surfaces attachment metadata but not binary file blobs, so file attachments cannot be automatically re-uploaded. We export a CSV inventory of attachment filenames and URLs; the customer manually re-attaches files in Salesforce post-migration.

  • Custom field type mapping requires upfront field enumeration

    Nutshell custom fields can be created on People, Companies, and Leads, but Nutshell does not expose field type metadata in the same way as Salesforce's describe() API. We enumerate all custom field definitions by querying the Nutshell UI settings during discovery and translating each field type to the closest Salesforce equivalent before migration begins. Multi-select picklists, date fields, and number fields require explicit type decisions; Salesforce validation rules and required-field constraints can cause record rejection if the target field type is mismatched.

  • Owner reconciliation is a hard dependency before record import

    Nutshell Users (Owners) must be matched to Salesforce User records before any Opportunity, Contact, or Activity records can be imported, because OwnerId is a required reference on standard Salesforce objects. If a Nutshell Owner has no matching Salesforce User, the record is held in a reconciliation queue and blocks the dependent record types. We resolve owners by email match during discovery and provide a gap report. The customer's Salesforce admin provisions missing User accounts before production migration begins.

Migration approach

Six steps for a successful Nutshell to Salesforce Sales Cloud data migration

  1. Discovery and account audit

    We audit the source Nutshell account across plan tier (Foundation/Pro/Business/Enterprise), record counts per object (People, Companies, Leads, Activities), pipeline count and stage definitions, custom field definitions per object, active sequence names, active user count, and attachment volume. We pair this with a Salesforce edition recommendation: Professional ($80/user) covers most migrations without custom objects; Enterprise ($165/user) is required for record-triggered Flow at scale, advanced reporting types, or Territory Management; Unlimited ($330/user) only if 24x7 support and full API access at scale are needed. The discovery output is a written migration scope and data map covering every object, field, and automation that is in scope or out of scope.

  2. Schema design and split rule definition

    We design the Salesforce destination schema in a Sandbox org. This includes provisioning custom fields (with type-mapped Salesforce field types), Opportunity Record Types (one per Nutshell pipeline), Sales Processes (stage whitelist per Record Type), Page Layouts (per Record Type), and the Lead-versus-Contact split rule based on the customer's Nutshell people records and deal associations. We also configure the Nutshell person_id__c custom field on both Lead and Contact for cross-reference. Schema is deployed into Sandbox for validation before any data moves.

  3. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox (Partial Copy recommended for accounts under 10 GB of data; Full Copy for larger accounts) using production-like record volume. The customer's RevOps lead validates record counts against Nutshell source data, spot-checks 25-50 random records for field-level accuracy, and signs off on the schema and mapping before production migration begins. Any mapping corrections are made in Sandbox at no cost to the customer.

  4. Paginated extraction from Nutshell

    We extract data from Nutshell using cursor-based pagination against the JSON-RPC API, implementing rate-limit handling with exponential backoff. Records are chunked into batches and written to a staging format that preserves object relationships. Owner email references are captured at this stage for the User reconciliation step. Activity records (calls, emails, meetings, tasks) are extracted last and stored with their parent Person and Company references for Bulk API resolution during ingest.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (manual provisioning validated), Accounts (from Nutshell Companies), Leads (from Nutshell Leads), Contacts (with AccountId resolved), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Activity history (Tasks, Events, EmailMessages via Bulk API 2.0), Tags (as Multi-Select Picklist or junction object per scoping decision), Custom Fields (mapped per discovery enumeration). Each phase emits a row-count reconciliation report before the next phase begins. We freeze Nutshell writes during the cutover window and run a final delta migration for any records modified during the migration window.

  6. Cutover, validation, and handoff

    We enable Salesforce as the system of record after the final delta migration and deliver the Sequence inventory document and the Attachment re-attachment checklist. We support a one-week hypercare window where we resolve any reconciliation issues raised by the sales team during their first week in Salesforce. We do not rebuild Nutshell Email Sequences as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task. We do not migrate reports or dashboards because Nutshell's reporting model has no direct Salesforce equivalent—the customer builds new reports in Salesforce from the migrated data.

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
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

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 Salesforce Sales Cloud.

  • 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 Salesforce Sales Cloud 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 Salesforce Sales Cloud data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between five and eight weeks for accounts under 20,000 People, 3,000 Deals, and a single pipeline with no custom objects. Migrations with multiple pipelines, custom field definitions spanning both People and Companies, large engagement histories (over 300,000 activity records), or accounts requiring a sandbox validation step move to twelve to twenty weeks because of paginated JSON-RPC extraction time, Bulk API chunking, and multi-pipeline Record Type configuration. The discovery and schema design phase typically takes one to two weeks regardless of account size.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Nutshell.
Land in Salesforce Sales Cloud, 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