CRM migration
Field-level mapping, validation, and rollback between Copper and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Copper
Source
Nutshell
Destination
Compatibility
7 of 10
objects map 1:1 between Copper and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Copper to Nutshell is a lateral-tier migration for small-to-mid sales teams that have outgrown Copper's Google Workspace dependency or encountered its contact-limit walls on Starter and Basic plans. The data models are structurally similar: Copper's People, Companies, Opportunities, and Activities map to Nutshell's Persons, Companies, Deals, and Activity log with straightforward 1:1 field transforms. The main migration complexity comes from Copper's 180 requests-per-minute API rate limit during extraction, which requires paginated chunking on large record sets, and from Google Drive-hosted attachments that must be migrated and re-linked separately from CRM records. Workflows, bulk email sequences, and custom reports are tier-gated on Copper and do not migrate; we deliver a written inventory of every active workflow and sequence so the customer's admin can rebuild them in Nutshell's automation builder 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 Copper 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.
Copper
People
Nutshell
Person
1:1Copper's People records map to Nutshell Persons with direct field transforms: name fields (first_name, last_name), email addresses, phone numbers, postal addresses, and social URLs. We use the person's email as the dedupe key during import to prevent duplicate creation. Custom fields on People migrate to Nutshell Person custom fields, which we pre-create with matching types (text, number, date, picklist) before any Person records are written. The Copper Person-to-Company linkage maps to Nutshell's Company Person associations, which we write after both objects are in place to satisfy the lookup dependency.
Copper
Company
Nutshell
Company
1:1Copper Companies map 1:1 to Nutshell Companies. The company name, domain, industry, phone, address, and annual revenue fields transfer directly. We use the company name as the dedupe key and create Companies before any Person import so that the Person-to-Company relationship is established at insert time rather than patched afterward.
Copper
Opportunity
Nutshell
Deal
1:1Copper Opportunities map to Nutshell Deals with the deal name, monetary value, expected close date, and pipeline stage transferred. The Copper pipeline stage name maps to the Nutshell Deal status value; we create a Nutshell stage mapping table during schema design so that stage names from Copper appear correctly in Nutshell's deal pipeline view. Loss reason and win reason custom properties from Copper migrate to Nutshell's loss_reason field if configured, or to a custom deal field if the customer's workflow uses a non-standard win-loss taxonomy.
Copper
Lead
Nutshell
Lead or Person (decision required)
lossyCopper's separate Lead object (distinct from People) requires a scoping decision: whether to import as Nutshell Leads or merge into Nutshell Persons. If the customer's sales process treats Leads as unqualified prospects that do not yet have a Company relationship, we create Nutshell Leads and preserve Copper's lead_status as a custom field. If leads are already associated with Companies and have a sales-qualified status, we merge them into Nutshell Persons and set a lead_source property from Copper's original lead data. The customer makes this decision during scoping, and we document both paths with a sample record count for each approach.
Copper
Pipeline
Nutshell
Deal Status
lossyCopper pipelines and their custom stages map to Nutshell Deal statuses. We extract the full stage list from Copper (stage name, stage order, probability percentage, and stage type — open, won, or lost) and create matching statuses in Nutshell before any Deal records are imported. Nutshell's deal statuses are a flat ordered list per pipeline, which maps cleanly from Copper's pipeline stage model with no multi-pipeline complexity at this scale.
Copper
Task
Nutshell
Task
1:1Copper Tasks map to Nutshell Tasks with due date, task name, status, priority, and assignee preserved. We resolve Copper owner IDs to Nutshell user emails during owner reconciliation and use the resolved email to set the Nutshell task assignee at import time. Open tasks and completed tasks both migrate; the status field maps directly (Copper open maps to Nutshell pending, Copper completed maps to Nutshell completed).
Copper
Project
Nutshell
Task or Tag grouping
lossyCopper Projects are a lightweight grouping object with associated tasks. Nutshell does not have a native project object, so we map Projects to a tagged task grouping: the project's tasks migrate as Nutshell Tasks with a tag matching the project name. This preserves the grouping context without forcing a structural fit to a non-existent object. The customer chooses whether to create a Nutshell tag per project name or a custom picklist field on tasks during scoping.
Copper
Activities (emails, calls, meetings, notes)
Nutshell
Activities
1:1Copper Activities — email logs, call records, meeting records, and notes — map to Nutshell's Activity system with the activity type, date, duration (for calls and meetings), notes content, and related Person or Company preserved. Emails migrate as note-type activities with the email body and timestamp. Call duration and call disposition migrate to custom fields. Meeting details include the attendee list and location. We write activities after Persons and Companies are loaded so that the activity-to-contact relationship is satisfied at insert time. Large activity histories require multiple API passes due to Copper's 180 req/min ceiling.
Copper
Custom Fields
Nutshell
Custom Fields
1:1Copper custom fields on People, Companies, Opportunities, Leads, Projects, and Tasks enumerate from the Custom Field Definitions API. We map each field's type (text, number, date, currency, picklist, checkbox, multi-select) to an equivalent Nutshell custom field type. Nutshell's ceiling is 250 custom fields per object; we flag any customer whose total custom field count approaches this ceiling before migration begins so the customer can decide whether to consolidate or archive retired fields.
Copper
Tag
Nutshell
Tag
1:1Copper's flat tag model on People, Companies, and Opportunities transfers as-is to Nutshell Tags. We map the tag label directly and attach it to the corresponding Nutshell Person, Company, or Deal record. Tags with no corresponding record are held in a reconciliation report for the customer's admin to review.
| Copper | Nutshell | Compatibility | |
|---|---|---|---|
| People | Person1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Lead | Lead or Person (decision required)lossy | Fully supported | |
| Pipeline | Deal Statuslossy | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Project | Task or Tag groupinglossy | Fully supported | |
| Activities (emails, calls, meetings, notes) | Activities1:1 | Fully supported | |
| Custom Fields | Custom Fields1:1 | Mapping required | |
| Tag | Tag1: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.
Copper gotchas
Contact limit enforcement varies by tier and can block imports
API rate limit of 180 requests per minute requires throttled extraction
Workflows, bulk email, and custom reports are tier-gated features
Attachment files live in Google Drive, not Copper's own storage
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 scoping
We audit the Copper account to enumerate People, Companies, Opportunities, Leads, Projects, Tasks, Activities, Custom Field Definitions, Tags, and attachment references. We also document any active Workflows, email sequences, and custom reports. The discovery output is a migration scope document with record counts per object, a list of custom fields with their types, a pipeline stage mapping table, and a count of Google Drive attachment references requiring file migration. We share this scope with the customer and confirm the Lead-to-Person strategy before proceeding to schema design.
Schema design and custom field creation
We design the Nutshell destination schema to match Copper's source schema. This includes creating Nutshell custom fields for every Copper custom field (with type conversion applied where necessary), configuring Deal statuses to match Copper pipeline stages (stage name, order, and type), and setting up any Tags needed for Copper tag migration. Nutshell's custom field creation is done via the API before any data is written, and we validate that field counts stay within Nutshell's 250-field per object ceiling.
Google Drive file preparation
We enumerate every Google Drive file referenced by Copper attachment records, verify that the migration service account has read access to the relevant Drive folders, and download the files to a staging location. We prepare a file mapping table that associates each original Google Drive file ID with its new destination location (a URL or file path in the customer's chosen file hosting system). This file migration runs in parallel with the CRM record migration and completes before cutover so that the re-link step is ready at the moment of record import.
Owner reconciliation and user provisioning
We extract every distinct Copper owner referenced on People, Companies, Opportunities, Tasks, and Activity records and match by email against Nutshell's user list. Owners without a matching Nutshell user are added to a reconciliation queue for the customer's admin to provision. Because Copper's 180 req/min API rate limit applies to owner lookup calls, we batch owner resolution into a separate pass rather than resolving owners inline during record extraction, reducing the total number of API calls needed for the migration.
Production migration in dependency order
We migrate records in dependency order: Companies first (as the primary lookup for Persons), then Persons (with Company associations established), then Leads or merged Persons depending on the scoping decision, then Deals (with Person and Company lookups resolved), then Tasks, then Activities. Activities that include email bodies, call durations, and meeting notes are written last and may require multiple passes due to the Copper API rate limit. The file re-link step runs after record migration, updating any attachment fields with the new file location references. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation handoff
We freeze Copper writes during cutover, run a delta migration of any records modified during the migration window, then confirm Nutshell as the system of record. We deliver the Workflow and Sequence inventory document to the customer's admin team with recommended Nutshell equivalents for each automation. We conduct a spot-check validation comparing 25-50 migrated records against the Copper source. We offer a one-week hypercare window for reconciliation issues. Workflow rebuild in Nutshell's automation builder sits outside the standard migration scope and is a separate engagement or internal admin task.
Platform deep dives
Copper
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 Copper 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
Copper: 180 requests per minute on a rolling window, returning HTTP 429 when exceeded. Bulk endpoints have a separate ceiling of 3 requests per second..
Data volume sensitivity
Copper 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 Copper to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Copper 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 Copper
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.