CRM migration
Field-level mapping, validation, and rollback between FreeCRM and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
FreeCRM
Source
Nutshell
Destination
Compatibility
8 of 9
objects map 1:1 between FreeCRM and Nutshell.
Complexity
CModerate
Timeline
2-3 weeks
Overview
FreeCRM has no documented public API, so every migration runs through their CSV import/export tooling. This shapes the entire approach: we discover every active template set during scoping, normalize template-driven custom fields into standard CRM properties before writing, and coordinate export file sizes to avoid free-tier storage throttles. Nutshell accepts Contacts, Companies, and Deals via its API or CSV loader with custom fields supported on People, Companies, and Leads. We map FreeCRM's free-text stage values to Nutshell pipeline columns, split comma-separated tags into Nutshell's tag format, and resolve the owner-to-user lookups by email. Workflow automations, sequences, and any custom objects built inside FreeCRM do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Nutshell.
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 FreeCRM 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.
FreeCRM
Contact
Nutshell
Person
1:1FreeCRM Contact records export with standard fields (name, email, phone, address) via CSV. These map directly to Nutshell Person records. We preserve the related-to Company link by resolving the parent FreeCRM Company name against the Nutshell Account before Contact insert, satisfying the lookup at migration time.
FreeCRM
Company
Nutshell
Account
1:1FreeCRM Company records export with name, domain, and industry fields intact. These map to Nutshell Account records. The Account is created before any Person import so that the Person-to-Account relationship is resolved at insert time rather than requiring a post-migration reconciliation pass.
FreeCRM
Lead
Nutshell
Lead
1:1FreeCRM Lead records use the template system so field names vary by account. We extract the complete field set during discovery, then normalize lead-status and lead-source fields into Nutshell's standard Lead fields. Any FreeCRM custom properties on Leads that have no Nutshell equivalent become Nutshell custom fields on the Lead object, which Nutshell supports on all paid tiers.
FreeCRM
Deal
Nutshell
Account (related Deal)
1:1FreeCRM Deal records export with amount, stage, and expected close date. Stage values are stored as free text per FreeCRM's Kanban setup. We extract the full stage list during discovery, map each free-text stage to a corresponding Nutshell pipeline column during migration, and preserve the deal-to-account link by resolving the parent FreeCRM Company name.
FreeCRM
Pipeline Stage
Nutshell
Pipeline Column
lossyFreeCRM uses a Kanban board with account-defined stage names rather than a structured stage object. We inventory every distinct stage value in the FreeCRM export, configure matching Nutshell pipeline columns in the destination account during the pre-migration setup phase, and map each FreeCRM stage value to the corresponding Nutshell column by name match or customer-confirmed mapping.
FreeCRM
Activity (Task, Event, Call Log)
Nutshell
Activity
1:1FreeCRM tasks, events, and call logs export as activity records with a related-to link to Contact or Company and a timestamp. We preserve the related-to link and timestamp in Nutshell's activity model. Note that the activity sequence ordering may not be complete for accounts with high activity density due to the flat nature of CSV exports.
FreeCRM
Custom Fields (template-driven)
Nutshell
Custom Fields
1:1FreeCRM custom fields are defined per-record via templates and vary by account. This is the highest-severity migration risk. We inventory every custom field across all active templates during discovery, normalize each into a Nutshell custom property on the appropriate object (Person, Account, or Lead), and document the mapping in a field-level export. Fields with no Nutshell equivalent are flagged for the customer to review during scoping.
FreeCRM
Tags
Nutshell
Tags
1:1FreeCRM exports tags as comma-separated values on Contact and Company records. We split them into individual tag values and map them to Nutshell's tag format, which attaches to Person and Account records. The customer confirms tag strategy during scoping if the FreeCRM account uses tags for both contact classification and content labeling.
FreeCRM
Users/Owners
Nutshell
Users
1:1FreeCRM user accounts exist but owner assignment on records is not always consistently populated across the export. We extract distinct owner email addresses from FreeCRM and map them to Nutshell User records by email match. Any FreeCRM owner without a matching Nutshell User is held in a reconciliation queue for the customer's admin to provision before record import resumes.
| FreeCRM | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Person1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Deal | Account (related Deal)1:1 | Fully supported | |
| Pipeline Stage | Pipeline Columnlossy | Fully supported | |
| Activity (Task, Event, Call Log) | Activity1:1 | Fully supported | |
| Custom Fields (template-driven) | Custom Fields1:1 | Fully supported | |
| Tags | Tags1:1 | Mapping required | |
| Users/Owners | Users1:1 | Mapping required |
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.
FreeCRM gotchas
Template-driven fields vary per account
Free tier storage and feature caps are undocumented
Workflow automations do not export
No documented public API
Invoice and campaign data only in Pro tier
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 template inventory
We audit the FreeCRM account for all active templates, export field lists per template, inventory pipeline stage names, list active workflows, and assess storage headroom. We confirm the FreeCRM account tier (Free or Pro) to determine whether invoice data, unlimited campaigns, or advanced reporting fields are present. The discovery output is a written migration scope including the full template inventory, per-template field maps, stage list, and a storage headroom assessment.
Nutshell account setup and schema design
We configure the Nutshell destination account: creating custom fields on Person, Account, and Lead to match any FreeCRM template fields that have no standard Nutshell equivalent; configuring pipeline columns to match the discovered FreeCRM stage list; and setting up the Nutshell user accounts corresponding to the FreeCRM owners extracted from the export. Nutshell's Settings > Data > Import tool supports custom field mapping, which we use alongside direct API writes for complex transformations.
CSV export coordination and data extraction
We coordinate the CSV export with the customer, requesting exports in manageable batches if the record count exceeds 50,000 rows per object. We extract Contacts, Companies, Leads, Deals, and Activities from FreeCRM's CSV export tooling. Any attachment URLs are extracted separately for reassembly in Nutshell if the export captures them. We flag any records that hit free-tier storage throttling and escalate to the customer for resolution before proceeding.
Transformation and field normalization
We apply the per-template field maps produced during discovery, splitting comma-separated tags into individual values, normalizing date formats to ISO 8601, resolving FreeCRM owner email addresses to Nutshell User lookups, and applying the stage-mapping worksheet to Deal records. Any custom object or template-specific fields that have no Nutshell equivalent are written to Nutshell custom fields with a naming convention that preserves the original FreeCRM field label for the customer's reference.
Sandbox import and reconciliation
We run a trial import into a Nutshell test account or sandbox equivalent using production-like data volume. The customer reconciles record counts across all objects, spot-checks 20-30 records for field-level accuracy, and validates that related-to links (Person-to-Account, Deal-to-Account) resolved correctly. Mapping corrections are documented and applied to the production import script before cutover.
Production migration and cutover
We run production migration in dependency order: Accounts first (from FreeCRM Companies), then Persons (with AccountId resolved), then Leads (with custom fields applied), then Deals (with stage mapping applied and AccountId resolved), then Activities (with related-to links resolved). Owner lookups that lack a matching Nutshell User are held until the customer provisions the missing accounts. We freeze FreeCRM writes during cutover and run a final delta migration for any records modified during the window.
Workflow inventory handoff and post-migration support
We deliver a written inventory of every active FreeCRM workflow and automation with its trigger conditions, actions, and a recommended Nutshell equivalent based on the destination tier. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team. We do not rebuild FreeCRM workflows as Nutshell sales automation rules inside the migration scope; that work is handled by the customer's admin or a separate Nutshell implementation engagement.
Platform deep dives
FreeCRM
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across FreeCRM and Nutshell.
Object compatibility
4 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
FreeCRM: Not publicly documented.
Data volume sensitivity
FreeCRM 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 FreeCRM to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your FreeCRM 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 FreeCRM
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.