CRM migration
Field-level mapping, validation, and rollback between Nutshell and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Nutshell
Source
Twenty CRM
Destination
Compatibility
8 of 10
objects map 1:1 between Nutshell and Twenty CRM.
Complexity
BStandard
Timeline
3-5 weeks
Try the reverse
Overview
Moving from Nutshell to Twenty CRM is a platform architecture migration that spans the API protocol gap and the object model difference between a proprietary SaaS CRM and a modern open-source CRM. Nutshell exposes its data over a JSON-RPC endpoint with no bulk endpoint, requiring paginated reads and careful rate-limit handling; Twenty CRM uses a GraphQL and REST API for data ingestion. We extract Nutshell People as Contacts, Companies as Organizations, and Leads as either Contacts or a separate Lead object depending on Twenty configuration, preserving the flat People-to-Company hierarchy through organization lookups. Activity history migrates as Timeline entries. Nutshell email sequences and Nutshell IQ enrichment data do not migrate; we deliver a written inventory of automation configurations for the customer to rebuild in Twenty's workflow engine. The add-on cost structure in Nutshell (Forms, Email Marketing, Nutshell IQ, SMS) collapses on the hosted Twenty plan, which includes core CRM functionality at a flat rate.
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
Twenty CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Twenty CRM.
Data migration guide
The complete Twenty CRM 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
Twenty CRM migration checklist
Pre- and post-cutover tasks for moving onto Twenty CRM.
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 Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Nutshell
People
Twenty CRM
Contact
1:1Nutshell People records map directly to Twenty CRM Contacts. Standard fields (name, email, phone, address, title) transfer as typed fields. We map People to Contact using the contact API endpoint and resolve the parent Organization lookup by matching the Nutshell Company name to an Organization created in Twenty before the Contact migration. Any People without an associated Company in Nutshell create Organization-less Contacts that the customer can manually link post-migration.
Nutshell
Companies
Twenty CRM
Organization
1:1Nutshell Companies map to Twenty CRM Organizations. Company name, domain, address, and industry fields transfer directly. Organization is created first in migration order so that the Organization-Contact lookup relationship is satisfied at Contact insert time. Custom fields on Companies migrate to Organization custom fields pre-created in Twenty's schema.
Nutshell
Leads
Twenty CRM
Contact
many:1Nutshell Leads are distinct records separate from People, each with their own custom fields and lifecycle status. We merge Nutshell Leads into Twenty CRM Contacts, preserving the Lead-specific custom fields as custom fields on the Contact record. The original Lead status (New, Contacted, Qualified, Disqualified) is stored in a custom field nut_legacy_lead_status__c for audit and segmentation. This merge reduces record proliferation in Twenty's single Contact model.
Nutshell
Activities
Twenty CRM
Timeline entries
1:1Nutshell Activities (calls, emails, meetings, tasks) attach to People or Companies. We migrate these as Timeline entries in Twenty, linked to the corresponding Contact or Organization by resolved ID. Call duration, disposition, and meeting attendees transfer to custom fields on the Timeline entry. Activity timestamps are preserved to maintain the historical sequence.
Nutshell
Pipeline
Twenty CRM
Opportunity
1:1Nutshell Pipelines map to Twenty CRM Opportunities. Each pipeline becomes a separate Opportunity type in Twenty with its own stage configuration. We extract pipeline stage names, order, and win/loss status during discovery and recreate them in Twenty's Opportunity settings before any Opportunity data loads.
Nutshell
Pipeline Stages
Twenty CRM
Opportunity Stage
lossyNutshell pipeline stages (Appointment Scheduled, Presentation, Proposal, Negotiation, Closed Won, Closed Lost) map to Twenty Opportunity stages. Stage probabilities migrate as percentage fields. Stage-specific automation triggers in Nutshell are documented but not migrated—Twenty's workflow configuration is a separate rebuild task.
Nutshell
Custom Fields
Twenty CRM
Custom Fields
1:1Nutshell custom fields for Companies, People, and Leads are enumerated during discovery. We pre-create matching custom fields in Twenty's Organization, Contact, and Opportunity objects before migration begins. Field types (text, number, date, dropdown) are mapped to Twenty's equivalent field types. Validation rules and required-field settings require manual configuration in Twenty post-migration.
Nutshell
Tags
Twenty CRM
Tags
1:1Nutshell tag taxonomy transfers to Twenty CRM tags on Contact and Organization records. Tags used for People and Companies export as a list on the respective record. Tag hierarchy, if any in Nutshell, is flattened during transfer since Twenty uses a flat tag model.
Nutshell
Users/Owners
Twenty CRM
Users
1:1Nutshell Users who own records map to Twenty CRM Users. We resolve by email match. Users in Nutshell who do not have a corresponding account in Twenty's destination instance go to a reconciliation queue for the customer to provision before record migration resumes.
Nutshell
Attachments
Twenty CRM
Files
1:1Nutshell exposes attachment metadata and filenames but not binary blobs via API. We export attachment filenames, URLs, and record associations. The actual files cannot be automatically downloaded and re-uploaded. We provide a manifest of all attachment references so the customer's admin can manually re-attach files post-migration.
| Nutshell | Twenty CRM | Compatibility | |
|---|---|---|---|
| People | Contact1:1 | Fully supported | |
| Companies | Organization1:1 | Fully supported | |
| Leads | Contactmany:1 | Mapping required | |
| Activities | Timeline entries1:1 | Fully supported | |
| Pipeline | Opportunity1:1 | Fully supported | |
| Pipeline Stages | Opportunity Stagelossy | Mapping required | |
| Custom Fields | Custom Fields1:1 | Fully supported | |
| Tags | Tags1:1 | Mapping required | |
| Users/Owners | Users1:1 | Mapping required | |
| Attachments | Files1: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
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Discovery and data audit
We query Nutshell's JSON-RPC API to enumerate all active objects: People, Companies, Leads, Activities, Pipelines, Custom Fields, Tags, and Users. We capture record counts per object, active pipeline configurations, custom field definitions with types, and active sequence names. We also assess the Nutshell plan tier to identify any custom field or feature restrictions that could affect extraction scope. The discovery output is a written migration scope with record counts, pipeline definitions, and a custom field inventory ready for Twenty schema creation.
Twenty schema pre-creation
We pre-create the Twenty CRM schema before any data extraction begins. This includes creating Organizations (from Nutshell Companies), setting up Opportunity types and stages matching Nutshell pipelines, creating custom fields on Organization, Contact, and Opportunity objects matching Nutshell custom field definitions, and configuring tag taxonomies. Schema is validated in Twenty's sandbox or dev environment before production migration begins.
Paginated extraction and data cleansing
We extract Nutshell data using paginated JSON-RPC requests with cursor-based pagination. Large datasets are chunked into batches of 500-1,000 records to avoid rate-limit throttling. During extraction, we identify duplicate People records (same email), incomplete records missing required fields, and inconsistent address formats. Data cleansing is performed as a separate phase before transformation, not during migration, to prevent garbage-in-garbage-out issues.
Transformation and field mapping
We transform Nutshell records into Twenty's API format. People become Contacts with Organization lookups resolved from the pre-created Organization list. Leads merge into Contacts with lead status preserved in a custom field. Activities map to Timeline entries linked to the corresponding Contact or Organization. Pipeline stages map to Opportunity stages. Custom field values map to the pre-created custom fields in Twenty. Tags transfer as flat tag lists on the respective records.
Production migration in dependency order
We run production migration in record-dependency order: Organizations first (from Companies), then Contacts (from People and Leads), then Opportunities (from Pipelines), then Timeline entries (from Activities), then Tags. Each phase emits a row-count reconciliation report comparing Nutshell source counts to Twenty destination counts. Any mapping discrepancies are corrected before the next phase begins. Attachments are processed last with the attachment manifest delivered to the customer for manual re-attachment.
Cutover, validation, and automation handoff
We freeze Nutshell writes during cutover, run a final delta migration of records modified during the migration window, and validate a random sample of records against the Nutshell source. We deliver the sequence and automation inventory document to the customer's admin for rebuild in Twenty's workflow engine. We support a one-week hypercare window for reconciliation issues. Post-migration admin support, training, and workflow rebuild are outside standard scope and require a separate engagement.
Platform deep dives
Nutshell
Source
Strengths
Weaknesses
Twenty CRM
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 Twenty CRM.
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 Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Nutshell to Twenty CRM 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 Twenty CRM
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.