CRM migration
Field-level mapping, validation, and rollback between ContactDB and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
ContactDB
Source
Nutshell
Destination
Compatibility
4 of 8
objects map 1:1 between ContactDB and Nutshell.
Complexity
CModerate
Timeline
1-2 weeks
Overview
ContactDB is a purchased B2B contact list, not a live CRM, which means this migration is a flat-record-to-relational schema conversion rather than a data copy. ContactDB provides no API: we ingest the customer's CSV export package directly. Each ContactDB contact row carries name, title, email, phone, company name, industry, country, and segment criteria; we split that flat record into a Nutshell People object and a deduplicated Companies object, then reconstruct segment membership as custom People fields since ContactDB does not expose segment labels as standalone tags. We flag email-format validation failures and stale firmographic data (outdated titles, dissolved company names) in a pre-import review pass so the customer decides what enters Nutshell. Any engagement history, pipeline stages, or automation logic does not exist in ContactDB and is therefore excluded from migration scope. We deliver the contact and company record set in Nutshell ready for the admin to configure pipeline stages, ownership assignments, and integrations.
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 ContactDB 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.
ContactDB
Contact
Nutshell
People
1:1ContactDB contact records map directly to Nutshell People. Name, title, email, phone, and mailing address fields map to their Nutshell equivalents. The original ContactDB record ID is preserved in a custom field (e.g., contactdb_id__c) to support reconciliation against the source export if needed later. Because ContactDB exports flat rows, each contact may carry a company name; that company is resolved separately in the Companies phase below.
ContactDB
Contact (company field)
Nutshell
Companies
1:manyContactDB firmographic data includes company_name per contact row. We extract all distinct company names, deduplicate by normalized string (trimming Inc, LLC, Ltd suffixes), and create one Nutshell Companies record per unique business. Industry and SICCODE from ContactDB map to Company custom fields. Each People record then receives a Company lookup link after the Companies phase completes. This split-and-remerge step is the primary schema transformation in this migration.
ContactDB
Contact (segment criteria)
Nutshell
People custom fields
lossyContactDB segments contacts by industry, profession, title, country, and software-usage criteria at purchase time, but these segment labels are not exported as standalone tag objects. We reconstruct segment membership as multi-value custom fields on Nutshell People during migration. The customer confirms which segment categories carry business value post-migration. This step is explicit configuration rather than automated mapping because the segment axes are customer-defined.
ContactDB
No equivalent object
Nutshell
People custom fields (data quality flags)
lossyContactDB records frequently contain outdated titles (person changed roles), stale email addresses (person left company), and dissolved company names. We apply a pre-import validation step that flags records with malformed email formats, missing required fields, and company names matching known inactive entities. Flagged records appear in a pre-import review report; the customer decides whether to exclude or correct them before Nutshell ingestion. No equivalent validation object exists in ContactDB.
ContactDB
N/A
Nutshell
Tags
lossyContactDB does not expose tags or segment labels as exportable standalone objects. If the customer has internal tagging conventions they applied post-purchase, those tags must be provided as a separate column in the export or reconstructed manually in Nutshell post-migration. We configure Nutshell Tags as part of the target schema but cannot populate them from ContactDB data without explicit tagging data in the export.
ContactDB
N/A
Nutshell
Pipeline / Deals
1:1ContactDB has no pipeline or deal-tracking model. Pipeline stages and deal records are created fresh in Nutshell post-migration. We do not migrate any pipeline data because none exists in ContactDB.
ContactDB
N/A
Nutshell
Activities
1:1ContactDB stores no engagement history: no email opens, no call logs, no meeting records, no task completions. No activity data is available to migrate. All activity tracking begins after the Nutshell go-live date.
ContactDB
N/A
Nutshell
Users / Owners
1:1ContactDB is a data product without team user accounts. Owner assignment does not apply. The customer provisions Nutshell users and assigns ownership of migrated records after migration during their internal onboarding.
| ContactDB | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Contact (company field) | Companies1:many | Fully supported | |
| Contact (segment criteria) | People custom fieldslossy | Fully supported | |
| No equivalent object | People custom fields (data quality flags)lossy | Fully supported | |
| N/A | Tagslossy | Mapping required | |
| N/A | Pipeline / Deals1:1 | Fully supported | |
| N/A | Activities1:1 | Fully supported | |
| N/A | Users / Owners1: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.
ContactDB gotchas
No public API requires manual CSV export
No engagement or lifecycle data to migrate
Segment membership is not a first-class object
Data freshness depends on purchase 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
CSV export coordination
We coordinate with the customer to extract the full ContactDB export package from the portal. The customer downloads the CSV or delimited file and shares it with us via a secure transfer mechanism. We validate the file structure against the expected field layout (name, title, email, phone, company, industry, country, segment criteria columns) and confirm the row count. If the export is incomplete or missing required columns, we request a re-export before proceeding. This step is the critical path dependency for the entire migration.
Data profiling and quality audit
We ingest the ContactDB export and run a profiling pass to identify field覆盖率, email format validity, duplicate rows, and company name variance. We produce a data quality report showing the count of valid records, records with malformed emails, records missing required fields, and records with duplicate company name variants. The customer reviews this report and provides direction on exclusion thresholds (e.g., exclude records with invalid emails, include records with outdated titles). This step ensures the customer makes the inclusion decision before any data enters Nutshell.
Nutshell schema setup
We configure the Nutshell target schema before any data import. This includes creating custom People fields to hold segment membership categories (confirmed during scoping), setting up company type values if the customer uses them, and configuring any tag taxonomy the customer wants to apply post-migration. We also verify that the Nutshell account has sufficient user seats for the team that will manage the migrated records.
Company normalization and deduplication
We extract all distinct company names from the ContactDB contact rows, normalize them by stripping legal suffixes (Inc, LLC, Ltd, Corp) and standardizing spacing and capitalization, and deduplicate into a unique company list. Each deduplicated company becomes a Nutshell Companies record with the industry and SICCODE mapped from the source firmographic data. This step produces the Companies layer that the People records will link to.
People import with company linkage
We import ContactDB contact records as Nutshell People in batches. After each batch, we run a linkage pass that matches each Person's company name against the deduplicated Companies list and populates the Company field on the People record. Email format validation errors from the profiling step are withheld from import and presented to the customer for a final exclusion decision. The original ContactDB record ID is stored in a custom field for reconciliation.
Validation and handoff
We deliver a final reconciliation report comparing the exported ContactDB row count against the Nutshell People and Companies record counts, with any exclusions documented. We flag any People records that could not be linked to a Company due to unrecognized or missing company names. We do not configure pipeline stages, ownership assignments, or integrations as part of this migration scope; those are Nutshell admin tasks that follow go-live. We provide a written summary of the migrated record set and the segment field configuration for the customer's records.
Platform deep dives
ContactDB
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 2 of 8 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across ContactDB and Nutshell.
Object compatibility
2 of 8 objects need a manual workaround.
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
ContactDB: Not applicable — no live API surface..
Data volume sensitivity
ContactDB 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 ContactDB to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your ContactDB 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 ContactDB
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.