CRM migration
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
Source
Salesforce Sales Cloud
Destination
Compatibility
7 of 12
objects map 1:1 between Nutshell and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
5-8 weeks
Try the reverse
Overview
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.
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
Nutshell platform overview
Scorecard, SWOT, gotchas, and pricing for Nutshell.
Destination platform
Salesforce Sales Cloud platform overview
Scorecard, SWOT, gotchas, and pricing for Salesforce Sales Cloud.
Data migration guide
The complete Salesforce migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Source platform guide
Nutshell migration guide
Understand the data you're exporting from Nutshell before mapping it.
Destination checklist
Salesforce migration checklist
Pre- and post-cutover tasks for moving onto Salesforce Sales Cloud.
Source checklist
Nutshell migration checklist
Exit checklist for unwinding your Nutshell 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 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
Salesforce Sales Cloud
Lead or Contact (split required)
1:manyNutshell 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
Salesforce Sales Cloud
Account
1:1Nutshell 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
Salesforce Sales Cloud
Lead
1:1Nutshell 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
Salesforce Sales Cloud
Record Type + Sales Process
lossyNutshell 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
Salesforce Sales Cloud
Opportunity Stage
lossyNutshell 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)
Salesforce Sales Cloud
Task + Event + EmailMessage
1:1Nutshell 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)
Salesforce Sales Cloud
Custom Fields
lossyNutshell 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
Salesforce Sales Cloud
Tags or Multi-Select Picklist
lossyNutshell 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
Salesforce Sales Cloud
User
1:1Nutshell 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)
Salesforce Sales Cloud
Product2 + PricebookEntry
1:1If 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
Salesforce Sales Cloud
Manual re-attachment required
1:1Nutshell'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
Salesforce Sales Cloud
Flow rebuild handoff
1:1Nutshell 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).
| Nutshell | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| People | Lead or Contact (split required)1:many | Fully supported | |
| Companies | Account1:1 | Fully supported | |
| Leads | Lead1:1 | Mapping required | |
| Pipelines | Record Type + Sales Processlossy | Fully supported | |
| Pipeline Stages | Opportunity Stagelossy | Mapping required | |
| Activities (Calls, Emails, Meetings, Tasks) | Task + Event + EmailMessage1:1 | Fully supported | |
| Custom Fields (People, Companies, Leads) | Custom Fieldslossy | Fully supported | |
| Tags | Tags or Multi-Select Picklistlossy | Mapping required | |
| Users/Owners | User1:1 | Mapping required | |
| Products (if applicable) | Product2 + PricebookEntry1:1 | Fully supported | |
| Attachments | Manual re-attachment required1:1 | Not supported | |
| Email Sequences | Flow rebuild handoff1:1 | Not 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.
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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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
Nutshell
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Nutshell and Salesforce Sales Cloud.
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
Nutshell: Not publicly documented in summary form..
Data volume sensitivity
Nutshell 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 Nutshell to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Nutshell
Other ways to arrive at Salesforce Sales Cloud
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.