CRM migration
Field-level mapping, validation, and rollback between CRM Service and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
CRM Service
Source
Nutshell
Destination
Compatibility
8 of 9
objects map 1:1 between CRM Service and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from CRM Service to Nutshell is a consolidation migration. CRM Service maintains separate objects for Accounts, Contacts, Opportunities, Leads, Cases, and Custom Objects with independent schemas; Nutshell collapses these into a simpler model using Companies, People, Deals, and Leads with a uniform custom field system scoped to each plan tier. We resolve object dependencies before migration, preserve the full Activity timeline through the destination API, and map Salesforce custom field names and data types into Nutshell's custom field framework. Workflow Rules, Process Builder flows, Approval Processes, and custom reports do not migrate; we deliver a written inventory of each for the admin to rebuild in Nutshell after cutover. The pricing delta is significant: CRM Service tiers from $25 to $500 per user per month plus 35% implementation overhead versus Nutshell from $13 to $79 per user per month with free onboarding included.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a CRM Service 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.
CRM Service
Account
Nutshell
Company
1:1CRM Service Account records map to Nutshell Company records. The Account Name maps to Company name, Industry maps to Industry, AnnualRevenue maps to a custom number field, and Website maps to Website. Account Site maps to a custom field if the customer uses multi-location data. We use the Account external ID as a reference key and set the dedupe strategy to match on Company name plus domain where available.
CRM Service
Contact
Nutshell
People
1:1CRM Service Contact records map to Nutshell People records. FirstName, LastName, Email, Phone, and Title transfer directly. Contact Department maps to Department if the target Nutshell plan supports custom fields; otherwise it is mapped to a custom People field. The Contact-to-Account lookup resolves to a Company reference in Nutshell at migration time using the matched Account name or external ID. Salesforce Contact external IDs are preserved as a custom People field for relationship reconstruction if the migration requires a second pass.
CRM Service
Opportunity
Nutshell
Deal
1:1CRM Service Opportunity records map to Nutshell Deal records. Opportunity fields transfer as follows: Name maps to Deal name, Amount maps to Value, CloseDate maps to Close Date, StageName maps to the Deal stage in the matching pipeline, Probability maps to a custom probability field, and Description maps to Notes. OwnerId resolves to a Nutshell User by email lookup. Salesforce Opportunity external IDs are preserved on the Deal record for reconciliation.
CRM Service
Lead
Nutshell
Lead
1:1CRM Service Lead records map directly to Nutshell Lead records. Lead Status, Lead Source, Industry, NumberOfEmployees, and AnnualRevenue transfer directly. The Salesforce Lead external ID is preserved on the Nutshell Lead record. If the customer prefers to merge Leads into People records rather than maintaining a separate Lead queue, we apply that rule during the transform phase based on a status threshold agreed during scoping.
CRM Service
Campaign
Nutshell
Tag or Custom Field on People
1:1CRM Service Campaign records do not have a direct Nutshell equivalent. Campaign membership data (CampaignName, MemberStatus, HasResponded) exports as a tag value set on the associated CRM Service Contact records. We then apply those tag values as Nutshell People tags during import, preserving the campaign association at the individual record level. If the customer requires campaign-level reporting, we recommend recreating campaigns in Nutshell manually after migration.
CRM Service
Pipeline
Nutshell
Deal Pipeline
lossyCRM Service sales processes and Opportunity stage sets map to Nutshell Deal Pipelines. Each CRM Service pipeline becomes a Nutshell pipeline, and each stage within the pipeline becomes a Nutshell stage with the matching name and probability. Stage order and probability percentages transfer as configured in the destination pipeline. We do not import pipeline automation triggers; these are rebuilt in Nutshell's automation rules by the admin post-migration.
CRM Service
Activity (Call, Email, Meeting, Task, Event)
Nutshell
Activity on People or Deal
1:1CRM Service Task and Event records migrate to Nutshell activity entries linked to the parent People or Deal record. Call disposition and duration transfer to custom activity fields. Email subject and body transfer as activity notes. Meeting start and end time, location, and attendee list transfer to the corresponding Nutshell activity fields. We resolve the CRM Service WhoId (Contact or Lead) to a Nutshell People or Lead record by email match before insert. Completed activities migrate; open activities are excluded by default and flagged for the customer's admin to handle manually.
CRM Service
Attachment and ContentDocument
Nutshell
File
1:1CRM Service Attachments and ContentDocument files export to a staging location by download URL, then upload to Nutshell as file attachments on the parent record (People, Company, or Deal) via the Nutshell API. The file name and any associated description preserve. We handle this as a post-Contacts and post-Deals phase so that the parent record exists before the file is linked. Salesforce ContentDocumentLink relationships are resolved by matching the LinkedEntityId to the migrated Contact or Account record.
CRM Service
User
Nutshell
User
1:1CRM Service User records map to Nutshell User records by email address match. Active CRM Service users provision as active Nutshell Users; inactive users are held in a reconciliation queue for the customer's admin to decide whether to archive or exclude. Salesforce role hierarchy maps to a flat team structure in Nutshell, as Nutshell does not enforce a role hierarchy in the same way.
| CRM Service | Nutshell | Compatibility | |
|---|---|---|---|
| Account | Company1:1 | Fully supported | |
| Contact | People1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Campaign | Tag or Custom Field on People1:1 | Fully supported | |
| Pipeline | Deal Pipelinelossy | Fully supported | |
| Activity (Call, Email, Meeting, Task, Event) | Activity on People or Deal1:1 | Fully supported | |
| Attachment and ContentDocument | File1: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.
CRM Service gotchas
API rate limits vary by edition without public documentation
Data Export frequency limited by edition tier
Custom object __c suffix causes field name mismatches in exports
Automations and flows do not migrate between platforms
Multi-select picklist values may exceed destination field limits
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 scoping
We audit the source CRM Service org across all active objects, custom field count per object, custom object schemas and lookup relationships, pipeline count and stage definitions, active Workflow Rules and Flows, engagement volume by type (calls, emails, meetings, tasks), and file attachment count and total size. We pair this with a Nutshell plan recommendation based on the custom field ceiling and pipeline requirements. The discovery output is a written migration scope that lists every object, the record count estimate, the custom field mapping plan, and the automation inventory template we will complete during discovery.
Schema design and custom field mapping
We design the destination Nutshell schema based on the discovery output. This includes creating Nutshell custom fields to receive CRM Service custom field data, configuring Deal Pipelines and stages to match the source pipeline stages, and defining the Activity fields that will receive the engagement history. If the CRM Service org has more custom fields than the target Nutshell plan allows, we apply a prioritization filter: fields present on active records in the last 12 months take precedence; deprecated fields are excluded and documented for manual entry. Custom __c objects from CRM Service are mapped to the appropriate Nutshell standard object with a custom field group and documented relationship flattening.
Sandbox test migration and mapping sign-off
We run a sample migration into a staging Nutshell account using a subset of production data (typically the 500 most-recently-modified records per object). The customer's admin reviews the field mapping, confirms that stage names, probability values, and custom field data are correct, and signs off before production migration begins. Any mapping corrections, field type mismatches, or pipeline configuration issues surface here. This step is the primary safeguard against data quality issues reaching production.
Owner reconciliation and User provisioning
We extract every distinct CRM Service user referenced as an Owner on Account, Contact, Opportunity, Lead, and Engagement record and match by email against the Nutshell destination account's User list. Any CRM Service user without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision before record import resumes. This step is blocking: OwnerId references on Opportunity and Lead require a valid Nutshell User to be set at import time.
Production migration in dependency order
We run production migration in record dependency order: Companies first (no dependencies), then People with Company lookups resolved, then Deals with OwnerId and People lookups resolved, then Leads, then Activities via the Nutshell API, then Files and Attachments after parent records are confirmed in Nutshell. Each phase emits a row-count reconciliation report before the next phase begins. We use chunking and backoff on the source CRM Service API to stay within rate limits during export.
Cutover, validation, and automation rebuild handoff
We freeze CRM Service writes during cutover, run a final delta migration of records modified during the migration window, then enable Nutshell as the system of record. We deliver the automation inventory document with Nutshell equivalent recommendations to the customer's admin team. We support a one-week post-cutover window where we resolve any data reconciliation issues reported by the Nutshell users. We do not rebuild Workflow Rules or Flows inside the migration scope; that work is a separate engagement or an internal admin task.
Platform deep dives
CRM Service
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 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 CRM Service and Nutshell.
Object compatibility
3 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
CRM Service: Varies by edition and license type; not publicly documented with specific numbers.
Data volume sensitivity
CRM Service 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 CRM Service to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your CRM Service 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 CRM Service
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.