CRM migration
Field-level mapping, validation, and rollback between m-savvy and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
m-savvy
Source
Nutshell
Destination
Compatibility
6 of 8
objects map 1:1 between m-savvy and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from m-savvy to Nutshell is a schema translation exercise where a unified m-savvy data model is decomposed into Nutshell's distinct People, Companies, and Deals structure. M-savvy stores contacts and leads in a single object model with lifecycle-stage properties; Nutshell separates these as People (individuals), Companies (organizations), and Deals (pipeline records). We resolve the Person-Company relationship during scoping, flag any pipeline stage name differences, and migrate Activity history as People Activity log entries. M-savvy's limited public API documentation requires us to inspect the live org during discovery to enumerate custom object schemas before we can design the Nutshell destination. We do not migrate workflows, automations, or sequences; we deliver a written inventory for the customer's admin to rebuild.
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 m-savvy 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.
m-savvy
Contact
Nutshell
Person
1:1M-savvy Contact records map directly to Nutshell Person records. The Person's email field serves as the primary dedupe key during import. Standard fields (name, email, phone, address) migrate directly; lifecycle stage properties from m-savvy become custom Person fields or tags in Nutshell. The original m-savvy contact owner is resolved to the corresponding Nutshell Person if the owner is also a CRM user, otherwise the record is assigned to the migrating team member for reassignment post-import.
m-savvy
Account (Company)
Nutshell
Company
1:1M-savvy Account records map to Nutshell Company records. The Account-Contact relationship is preserved by linking each Person to its parent Company during import using Company as the parent record inserted before Person. Industry, size, billing address, and website fields migrate directly. Companies with no linked Contacts in m-savvy import as standalone Company records.
m-savvy
Deal (Opportunity)
Nutshell
Deal
1:1M-savvy Deals map to Nutshell Deals with stage, amount, close date, and probability preserved. The m-savvy dealstage property maps to Nutshell's stage field; we flag any custom stage names that differ from Nutshell's default stage values and document the mapping. Each Deal is linked to its parent Company and Person at migration time using resolved IDs. Closed-won and closed-lost reasons migrate as custom fields if present in m-savvy.
m-savvy
Lead
Nutshell
Person (with lead lifecycle preserved)
1:manyM-savvy does not separate Leads from Contacts as distinct objects; leads are Contacts with specific lifecycle-stage property values. We extract all Contacts where the lifecycle stage indicates an unqualified or in-progress prospect status and import them as Nutshell Persons with a custom field ms_original_lifecycle__c preserving the original value. M-savvy's lead source property migrates to a custom Person field or tag.
m-savvy
Pipeline and Pipeline Stages
Nutshell
Deal Stages
lossyM-savvy pipeline definitions and custom stage names are read from the m-savvy schema during discovery. We map each m-savvy stage to the closest Nutshell Deal stage value, flagging any stages that cannot map directly to a Nutshell default. If m-savvy has more stages than Nutshell's configured pipeline supports, we consolidate adjacent stages and document the grouping. The customer confirms the stage mapping before production migration begins.
m-savvy
Activities (Emails, Calls, Tasks, Meetings)
Nutshell
Person Activities
1:1M-savvy Activities (emails, calls, tasks, meetings) linked to Contacts or Deals migrate as People Activities in Nutshell. Each activity is linked to the corresponding Person by resolved ID and carries the original timestamp for timeline ordering. M-savvy's activity type maps to the activity kind in Nutshell (email, call, task, meeting). Activity metadata (duration, disposition, recording URL for calls; location for meetings) migrates to custom activity fields.
m-savvy
Custom Objects
Nutshell
Custom Objects (Person or Company linked)
1:1M-savvy does not publish a public schema reference for custom objects. During discovery we inspect the live org via API to enumerate each custom object type, its fields, and its relationships to standard objects. Each discovered custom object is then configured in Nutshell as a custom record type linked to Person or Company, and the field-level map is shared with the customer for confirmation before migration. Custom object data migrates after all standard objects to ensure parent-record lookups are satisfied.
m-savvy
Attachment
Nutshell
File (attached to Person or Deal)
1:1Attachment files stored in m-savvy are not embedded in record exports; they require a separate file-export pass using m-savvy's file storage endpoints. We download files to our staging environment, re-upload to Nutshell, and relink each file to its parent Person or Deal record by resolved ID. Files whose parent record failed to migrate are flagged and held in a manual review queue. File metadata (filename, size, upload date) is preserved on the Nutshell file record.
| m-savvy | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Account (Company) | Company1:1 | Fully supported | |
| Deal (Opportunity) | Deal1:1 | Fully supported | |
| Lead | Person (with lead lifecycle preserved)1:many | Fully supported | |
| Pipeline and Pipeline Stages | Deal Stageslossy | Fully supported | |
| Activities (Emails, Calls, Tasks, Meetings) | Person Activities1:1 | Fully supported | |
| Custom Objects | Custom Objects (Person or Company linked)1:1 | Mapping required | |
| Attachment | File (attached to Person or Deal)1: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.
m-savvy gotchas
Custom object schemas require manual discovery before migration
Plan tier restrictions limit exportable record volumes
Attachment files are not embedded in record exports
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 plan assessment
We audit the m-savvy org via live API to enumerate all standard objects (Contacts, Accounts, Deals, Activities), custom object schemas, pipeline definitions, stage names, and owner assignments. We simultaneously assess the customer's m-savvy plan tier to identify any export volume restrictions that affect the migration scope. If API access is gated by plan tier, we advise on a temporary upgrade before proceeding. The discovery output is a written schema map and migration scope confirming all source objects, record counts, and custom field mappings.
Destination schema design and stage mapping
We configure the Nutshell destination org: custom Person and Company fields aligned to m-savvy properties, Deal stage mapping (documenting any non-default stages that require Professional-tier configuration), and custom object structures for any discovered m-savvy custom objects. We share the stage mapping and schema design with the customer for written sign-off before any data is prepared. If Nutshell's default stages do not cover all m-savvy pipeline stages, we document the required stage additions and the customer configures them in Nutshell before migration begins.
Attachment file export pass
We run a dedicated file-export pass using m-savvy's file storage API endpoints, downloading all attachment files to our staging environment. Files are organized by parent record ID for later relinking. This pass runs in parallel with data preparation so that the attachment queue is ready to re-upload as soon as record migration is validated in Nutshell.
Record migration in dependency order
We run production migration in record-dependency order: Companies (first, as parent to Persons), Persons (with lifecycle stage preserved in a custom field), Deals (with resolved Company and Person IDs), Activities (linked to Persons by resolved ID), then Custom Objects (last, because they may have lookups to standard objects). Each phase emits a row-count reconciliation report before the next phase begins. Owner assignment is resolved by email match against Nutshell Users; unmapped owners are flagged for the customer's admin to provision.
Attachment re-upload and relinking
After all record phases are validated, we re-upload attachment files to Nutshell and relink each file to its parent Person or Deal record using the resolved IDs from the migration. Files whose parent record failed to migrate are held in a flagged queue and reported separately. The customer reviews the flagged queue and either resolves the parent record issue or accepts manual file re-entry.
Cutover, validation, and handoff
We freeze m-savvy writes during cutover and run a final delta migration of any records modified during the migration window. We validate record counts and spot-check 20-30 records against the m-savvy source. We deliver the automation and workflow inventory (what we do not migrate, listed by type and trigger) to the customer's admin team for rebuild planning. We support a one-week hypercare window for reconciliation issues. Workflows, automations, and sequences do not migrate as code; those are outside standard migration scope.
Platform deep dives
m-savvy
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 m-savvy 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
m-savvy: Not publicly documented.
Data volume sensitivity
m-savvy doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 m-savvy to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your m-savvy 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 m-savvy
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.