CRM migration
Field-level mapping, validation, and rollback between Crust CRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Crust CRM
Source
Nutshell
Destination
Compatibility
6 of 9
objects map 1:1 between Crust CRM and Nutshell.
Complexity
BStandard
Timeline
1-3 weeks
Overview
Crust CRM and Nutshell are architecturally different platforms: Crust CRM runs as a self-hosted open-source system with configurable modules, while Nutshell is a cloud-hosted B2B CRM with unlimited contacts on all paid plans and built-in AI-assisted sales tools. We export from Crust CRM via database access for self-hosted instances or REST API for cloud-hosted instances, clean and deduplicate the data, then import into Nutshell using Nutshell's CSV import for standard objects and the Nutshell API for activity history and custom fields. Crust CRM's automated workflow engine and configurable module architecture mean we treat every migration as a schema-discovery project before mapping begins. We deliver a written inventory of Crust CRM automations requiring rebuild in Nutshell's automation settings, and we do not migrate custom objects as code—instead we document them for the customer's admin to configure in Nutshell 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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Crust CRM 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.
Crust CRM
Contact
Nutshell
Person
1:1Crust CRM Contacts map to Nutshell People. Both platforms share a standard contact schema with name, email, phone, and address fields. We preserve all standard properties and any lifecycle stage designation from Crust CRM as a custom People field in Nutshell. Email deduplication runs against existing Nutshell People records before insert to prevent duplicate contacts on migration day.
Crust CRM
Company/Account
Nutshell
Company
1:1Crust CRM Company records map directly to Nutshell Company. The company-contact relationship is preserved by resolving the Crust CRM company_id against Nutshell Company records at import time. Nutshell requires a Company to exist before a Person can be associated with it, so we import Companies before People in every migration. We run deduplication against existing Company records using domain as the match key.
Crust CRM
Deal
Nutshell
Deal
1:1Crust CRM Deals map to Nutshell Deals. We extract deal amount, close date, owner, pipeline stage, and custom fields from Crust CRM. The Crust CRM pipeline stage name maps to a Nutshell stage using the translation table generated during discovery. Crust CRM deal_owner_id resolves to Nutshell User by email match before import.
Crust CRM
Lead (distinct from Contact)
Nutshell
Person (lead status property)
1:manyWhere Crust CRM maintains a separate Lead object from Contact, we preserve the Lead_Status property as a custom field on the migrated Nutshell Person record rather than creating a separate object. Nutshell handles lead qualification through Person properties rather than a distinct Lead object. We document the original Lead record count and status distribution for the customer's admin to act on in Nutshell.
Crust CRM
Activity (calls, emails, meetings, notes, tasks)
Nutshell
Activity
1:1Crust CRM engagement records—calls, emails, meetings, notes, and tasks—migrate as Nutshell Activity records linked to their parent Person, Company, or Deal. We preserve the original timestamp on each activity record to maintain timeline ordering. Activity types map to Nutshell activity types: call engagements to Calls, meeting engagements to Meetings, emails to Emails, and notes to Notes.
Crust CRM
Pipeline and Stage
Nutshell
Pipeline and Stage
lossyCrust CRM pipeline-stage definitions migrate as Nutshell Pipeline configurations. We generate a stage translation table during discovery that maps each Crust CRM pipeline and stage name to the target Nutshell Pipeline and Stage. Stage probabilities migrate as percentage values against each stage. The customer configures pipeline visualizations (List, Map, Chart, Board) in Nutshell after migration.
Crust CRM
User/Owner
Nutshell
User
1:1Crust CRM User records and owner assignments on Contacts, Companies, and Deals map to Nutshell User records. We resolve owners by email match. Any Crust CRM Owner without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision before record import begins.
Crust CRM
Attachment
Nutshell
File attachment
1:1Crust CRM attachments stored per record are exported individually with filename and record association preserved. Files are re-attached to the corresponding Nutshell Person, Company, or Deal record after the parent record exists in Nutshell. We handle both database-stored attachments (self-hosted) and API-served attachments (cloud-hosted) depending on the Crust CRM deployment type.
Crust CRM
Custom Object
Nutshell
Custom fields (configuration)
lossyCrust CRM's configurable module architecture means every organization may have unique custom objects and field types. We audit the full custom object schema during discovery, map field types to Nutshell custom field equivalents where available, and document any fields that require custom field creation in Nutshell post-migration. Custom objects that cannot map to Nutshell's standard schema are recorded as a configuration handoff for the customer's admin. We do not migrate custom objects as code.
| Crust CRM | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company/Account | Company1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Lead (distinct from Contact) | Person (lead status property)1:many | Fully supported | |
| Activity (calls, emails, meetings, notes, tasks) | Activity1:1 | Fully supported | |
| Pipeline and Stage | Pipeline and Stagelossy | Fully supported | |
| User/Owner | User1:1 | Fully supported | |
| Attachment | File attachment1:1 | Fully supported | |
| Custom Object | Custom fields (configuration)lossy | 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.
Crust CRM gotchas
No free trial limits pre-migration evaluation
Self-hosting shifts infrastructure responsibility to the customer
Custom object schemas require explicit discovery before migration
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 deployment assessment
We identify whether the source Crust CRM instance is self-hosted or cloud-hosted by Planet Crust, as this determines our data access method. We obtain database credentials (self-hosted) or API access tokens (cloud-hosted) and run a schema audit across all standard and custom objects. We document pipeline and stage names, owner assignments, activity history volume, and any attachment storage configuration. This phase produces a written discovery summary, a preliminary field mapping spreadsheet, and a migration scope document that the customer reviews and approves before work begins.
Data quality assessment and cleanup planning
We run a data quality audit on the Crust CRM export, identifying duplicate records, incomplete fields, and formatting inconsistencies. We produce a cleanup plan that the customer executes before migration day or that we handle as a migration-phase transform. Key cleanup tasks include duplicate company and contact resolution, standardizing date formats to ISO 8601, and flagging records with missing owner assignments. This step reduces the risk of silent data issues propagating into Nutshell.
Field mapping and translation table generation
We build the complete field mapping spreadsheet that pairs each Crust CRM field with its Nutshell equivalent. For standard objects this is a direct mapping. For custom fields we create Nutshell custom field definitions and note any type conversions (date formats, picklist values, checkbox to boolean). We generate the pipeline-stage translation table from the Crust CRM pipeline definitions and the target Nutshell stage configuration. We resolve owner emails to Nutshell User records by requesting a current Nutshell user export from the customer's admin.
Pilot migration in Nutshell test environment
We run a small pilot migration using Nutshell's built-in CSV import for People and Companies to validate the field mapping against live Nutshell field behavior. We test the activity migration via API against a subset of engagement records. The customer reviews the pilot output, confirms field mapping accuracy, and approves the full migration plan. Any mapping corrections are documented and applied before the production migration begins.
Production migration in dependency order
We run the production migration in record-dependency order: Companies first (no dependencies), People second (using Company lookups), Deals third (using Company and User lookups), Activity records fourth (using Person, Company, and Deal lookups), and attachments last. Each phase emits a row-count reconciliation report. We flag any records that failed to migrate with reason codes for the customer to resolve in Crust CRM before a supplemental import.
Automation inventory delivery and cutover support
We deliver a written inventory of every Crust CRM workflow and automation with its trigger, conditions, actions, and recommended Nutshell equivalent. This document is a rebuild guide for the customer's admin; we do not configure Nutshell automations as part of the standard migration scope. We freeze Crust CRM writes during cutover, run a final delta import of records modified during the migration window, then enable Nutshell as the system of record. We provide a post-migration checklist covering data validation, user permissions, pipeline configuration, and Nutshell onboarding steps. We offer a short hypercare window to resolve any immediate post-cutover reconciliation issues.
Platform deep dives
Crust CRM
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 Crust CRM 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
Crust CRM: Not enforced as a hard SaaS quota in the open-source distribution — limits depend on the deployment topology (Postgres sizing, container resources). Commercial Planet Crust deployments may add gateway-level throttling..
Data volume sensitivity
Crust CRM 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 Crust CRM to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Crust CRM 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 Crust CRM
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.