CRM migration
Field-level mapping, validation, and rollback between Nutshell and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.
Nutshell
Source
HubSpot
Destination
Compatibility
11 of 12
objects map 1:1 between Nutshell and HubSpot.
Complexity
BStandard
Timeline
48–72 hours
Try the reverse
Overview
Teams migrate from Nutshell to HubSpot when they have outgrown Nutshell's feature set — specifically when they need HubSpot's free CRM tier with unlimited contacts, built-in marketing automation, multi-deal pipeline reporting, or integration with a partner ecosystem already running HubSpot. Nutshell stores People (contacts), Companies, Leads, Deals, and Activities in a flat object model without a native lifecycle-stage concept. HubSpot uses Contacts and Leads as separate objects, tracks lifecycle_stage as a required property for Contact records, supports multiple parallel deal pipelines, and requires custom properties to follow HubSpot's naming conventions. FlitStack AI extracts Nutshell data via the Nutshell JSON-RPC API and loads it into HubSpot via the HubSpot REST API and Bulk API, applying a Contact/Lead split rule that your team configures before migration, mapping Nutshell custom fields to HubSpot custom properties, and preserving original create dates as custom datetime fields since HubSpot's standard createdate field reflects the import timestamp. Workflows, sequences, email templates, and Nutshell sales automation do not migrate — those must be rebuilt in HubSpot's workflow engine, and we provide an export of Nutshell workflow definitions as a rebuild reference. Delta-pickup captures any records modified during the cutover window.
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
HubSpot platform overview
Scorecard, SWOT, gotchas, and pricing for HubSpot.
Data migration guide
The complete HubSpot 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
HubSpot migration checklist
Pre- and post-cutover tasks for moving onto HubSpot.
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 HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Nutshell
People
HubSpot
Contact / Lead
1:manyNutshell People split into HubSpot Contact or Lead based on your specified routing rule. The default rule sends active customers and recent engaged contacts to HubSpot Contact; everything else routes to HubSpot Lead. We apply the rule at migration time using Nutshell's last_activity_date and any custom status field your team defines as the trigger.
Nutshell
People.status
HubSpot
HubSpot Contact.lifecycle_stage
1:1HubSpot has no direct Nutshell status equivalent. We create a custom HubSpot contact property (Nutshell_Status__c or a name you specify) to preserve the original Nutshell status label. If your team has defined a lifecycle progression in Nutshell, we map the final status value into HubSpot's lifecycle_stage picklist options and set the contact's HubSpot lifecycle_stage to match.
Nutshell
People.custom_fields
HubSpot
Contact / Lead custom properties
1:1Nutshell custom fields on People map to HubSpot custom contact or lead properties. HubSpot requires each custom property to be created via the HubSpot Properties API before import. We create the properties using the same field type (text, number, date, picklist) and then map the values. Picklist custom fields in Nutshell require value-by-value mapping to HubSpot's picklist options.
Nutshell
Company
HubSpot
Company
1:1Direct map. Nutshell Company fields (name, domain, industry, phone, address) map to HubSpot company properties using HubSpot's standard field names (name, domain, industry, phone, address). HubSpot's company object also supports a city/state/country split on address fields — we map the single Nutshell address string to HubSpot's address fields or preserve it as a single address_line1 property.
Nutshell
Company.custom_fields
HubSpot
Company custom properties
1:1Nutshell custom fields attached to Company records are migrated to HubSpot company custom properties using the same pattern applied to People custom fields. Each HubSpot property is created first via the HubSpot Properties API before any data is loaded, preserving the original field type such as text, number, date, picklist, or multi-checkbox. For Nutshell Company custom fields that use multi-select picklist values, these map to HubSpot multi-checkbox properties with individual checkbox options corresponding to each Nutshell picklist choice. All custom field values are populated during the migration run once the property schema is in place.
Nutshell
Lead
HubSpot
Lead
1:1Nutshell Leads that are not also People records map directly to HubSpot Leads. Fields (name, email, phone, company, status, source) map to HubSpot Lead properties. Nutshell Lead custom fields migrate as HubSpot lead custom properties. Nutshell Leads that are also People records are already handled by the People split.
Nutshell
Deal
HubSpot
Deal
1:1Direct map. Nutshell Deal fields — name, amount, stage, expected_close_date, owner, associated_people, associated_companies — map to HubSpot Deal properties (dealname, amount, dealstage, closedate, hubspot_owner_id, contacts, companies). The Nutshell Deal association to People and Companies maps to HubSpot's deal-to-contact and deal-to-company associations via HubSpot's associations API.
Nutshell
Deal.pipeline
HubSpot
Deal pipeline
1:1If Nutshell uses multiple named deal pipelines, each Nutshell pipeline maps to a named HubSpot deal pipeline. HubSpot allows multiple concurrent pipelines — we create a HubSpot pipeline for each Nutshell pipeline, map stage names value-by-value, and configure probability defaults per stage. Single-pipeline Nutshell setups map to a single HubSpot pipeline with the same stage names.
Nutshell
Activity: Task
HubSpot
Engagement / Timeline
1:1Nutshell tasks (to-do items, action items) map to HubSpot engagements of type TASK. The task subject, body, due date, and owner email resolve to a HubSpot owner by email match. HubSpot engagements attach to the associated Contact or Company record using the associations API. Original Nutshell task timestamps are preserved as a custom property on the engagement.
Nutshell
Activity: Call / Email / Meeting
HubSpot
Engagement / Timeline
1:1Nutshell call logs, email records, and meeting records map to HubSpot engagements of types CALL, EMAIL, and MEETING respectively. HubSpot stores these as engagements attached to the relevant Contact or Company. Original timestamps, owners, and body content are preserved. Nutshell call duration and outcome fields map to HubSpot engagement metadata properties.
Nutshell
Activity: Note
HubSpot
Note / Timeline
1:1Nutshell notes map to HubSpot notes attached to the relevant Contact, Company, or Deal record. We use HubSpot's notes API (v3) to create engagements of type NOTE, preserving the note body and original creation timestamp. Rich text in Nutshell notes is preserved as HTML in HubSpot.
Nutshell
Attachment
HubSpot
File
1:1Nutshell file attachments download from Nutshell's storage and re-upload to HubSpot's file management. Files attach to the relevant Contact, Company, or Deal record via HubSpot's file associations API. HubSpot's default file size limit is 25MB per file — files exceeding this are flagged for manual handling or chunked upload.
| Nutshell | HubSpot | Compatibility | |
|---|---|---|---|
| People | Contact / Lead1:many | Fully supported | |
| People.status | HubSpot Contact.lifecycle_stage1:1 | Fully supported | |
| People.custom_fields | Contact / Lead custom properties1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Company.custom_fields | Company custom properties1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| Deal.pipeline | Deal pipeline1:1 | Fully supported | |
| Activity: Task | Engagement / Timeline1:1 | Fully supported | |
| Activity: Call / Email / Meeting | Engagement / Timeline1:1 | Fully supported | |
| Activity: Note | Note / Timeline1:1 | Fully supported | |
| Attachment | File1: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.
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
HubSpot gotchas
Marketing Contacts billing model is migration-critical
Feature tier gating is not visible until onboarding
Mandatory onboarding fees inflate year-one cost
HubSpot CSV importer cannot migrate engagements or attachments
Custom objects require Enterprise and a pre-existing schema
Pair-specific challenges
Migration approach
Audit Nutshell data and define Contact/Lead routing rule
FlitStack AI connects to your Nutshell account via the JSON-RPC API and pulls a full data export: all People (active and inactive), Companies, Leads, Deals, and Activities. We profile the data to surface duplicate records, blank required fields, and custom field usage. During this step your team specifies the Contact/Lead routing rule — typically based on Nutshell status, last_activity_date, or a custom field value — and approves the custom property names we will create in HubSpot for fields that have no native HubSpot equivalent.
Create HubSpot custom properties and configure pipelines
Before any data loads, we create all required HubSpot custom contact, lead, company, and deal properties via the HubSpot Properties API. For picklist fields, we create the picklist options matching the Nutshell values. If your Nutshell account uses multiple deal pipelines, we create corresponding HubSpot deal pipelines and configure stage names, probabilities, and display order per pipeline. This step requires a HubSpot admin to grant FlitStack AI access to the HubSpot account with sufficient permissions to create properties and pipelines.
Resolve owners and run sample migration with field-level diff
Nutshell owner email addresses are matched to HubSpot user emails. Unmatched owners are flagged for your team to either invite them to HubSpot or assign their records to a fallback HubSpot user. We run a sample migration of 100–500 representative records — spanning contacts, companies, deals, and activities — and generate a field-level diff showing source values and destination values for every mapped field. You review the diff, confirm the Contact/Lead routing is correct, and approve the full migration plan.
Run full migration with delta-pickup and audit log
The full migration loads into HubSpot via the HubSpot REST and Bulk APIs, respecting HubSpot's rate limits to avoid throttling. During the cutover window your team continues working in Nutshell; a delta-pickup window (typically 24–48 hours) captures any records created or modified in Nutshell after the initial load. Every operation is recorded in an audit log. If reconciliation identifies missing or misaligned records, one-click rollback reverts the HubSpot state to the pre-migration snapshot so the team can investigate and re-run without data loss.
Deliver export package for HubSpot workflow rebuild
FlitStack AI exports your Nutshell workflow definitions, sequence settings, task rules, and lead assignment logic as a structured JSON and PDF reference package. This package is handed off to your HubSpot admin to recreate automations in HubSpot's workflow editor. We do not migrate workflows — they require destination-specific recreation — but the export reduces rebuild effort by surfacing the exact trigger conditions and actions your team configured in Nutshell.
Platform deep dives
Nutshell
Source
Strengths
Weaknesses
HubSpot
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 HubSpot.
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 HubSpot migration scoping. Not seeing yours? Book a call.
Walk through your Nutshell to HubSpot 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 HubSpot
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.