CRM migration
Field-level mapping, validation, and rollback between Touchdown and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Touchdown
Source
Nutshell
Destination
Compatibility
6 of 10
objects map 1:1 between Touchdown and Nutshell.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Touchdown to Nutshell is a transition from a marketing automation CRM focused on contact management and campaign execution to a sales-focused CRM with contact, lead, and account management. Touchdown does not publish a public API schema, so we begin every engagement with authenticated API exploration to discover the live data model, custom field definitions, segment logic, and engagement object structure before designing any mapping. Nutshell uses a JSON-RPC API with a revision-based cache control system (Rev) that requires us to pass the correct rev identifier on every edit call to prevent accidental overwrites. We map Touchdown Contacts to Nutshell Leads (for unqualified prospects) or Contacts attached to Accounts (for qualified records), preserving any custom field values in Nutshell's customFields dictionary structure. Campaign metadata and audience segments do not migrate as structured objects; we deliver a written inventory of every campaign and segment with the recommended Nutshell equivalent for the customer's admin to rebuild.
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 Touchdown 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.
Touchdown
Contact
Nutshell
Lead or Contact (routing required)
1:manyTouchdown Contacts map to Nutshell Leads if the contact is marketing-sourced or unqualified, and to Nutshell Contacts tied to an Account if the contact has a company association and sales activity. We determine the split using Touchdown's segment membership flags and lifecycle stage properties discovered during API exploration. The original Touchdown contact score and segment tags preserve in Nutshell custom fields on the corresponding object.
Touchdown
Company
Nutshell
Account
1:1Touchdown Company records map to Nutshell Account. We resolve the Company-to-Account mapping during import by matching on domain name, which becomes the Account's website field and the dedupe key. Account is created before any Contact import so the lookup relationship is satisfied at Contact insert time. Touchdown's company-level custom properties map to Account custom fields in Nutshell's customFields structure.
Touchdown
Deal
Nutshell
Task
lossyTouchdown Deals map to Nutshell Tasks or Opportunity records depending on Nutshell tier and configuration. On Nutshell Starter and Pro, Deals map to Tasks attached to the relevant Account or Contact. On Nutshell Pro+ and Enterprise with the Sales Automation suite enabled, Deals map to Nutshell Opportunity records with stage, amount, and close date preserved. We configure the appropriate mapping during scoping based on the destination Nutshell plan.
Touchdown
Deal Stage
Nutshell
Task Status or Opportunity Stage
lossyTouchdown pipeline stages map to Nutshell Task status values or Opportunity stage values depending on the Deal-to-Object mapping chosen during scoping. Each stage probability percentage transfers to the corresponding Nutshell stage definition.
Touchdown
Campaign
Nutshell
Campaign (inventory only)
1:1Touchdown campaign metadata (name, description, audience segment, start date, end date) transfers to a Nutshell Campaign record. Campaign logic, automation triggers, and personalization tokens do not migrate as structured code. We deliver a written inventory of every Touchdown campaign with its audience criteria, associated email templates, and recommended Nutshell equivalent (manual campaign rebuild or Nutshell Engagement suite configuration) for the customer's admin.
Touchdown
Segment
Nutshell
List (inventory only)
1:1Touchdown audience segments map to Nutshell List records with member contacts enumerated. Segment filter logic (the criteria that define membership) does not migrate as an automated rule. We deliver a written inventory of every Touchdown segment with its filter definition and member count, so the customer's admin can rebuild segments as static Lists or dynamic filters in Nutshell.
Touchdown
Email Template
Nutshell
Email Template (inventory only)
1:1Touchdown email template content and merge field names export as a written inventory with HTML source and token references. We do not import templates as live Nutshell Email Template records because template format compatibility between marketing automation CRMs and sales CRMs requires manual reformatting of merge token syntax. The customer's admin rebuilds templates in Nutshell using the exported content.
Touchdown
Activity (engagement history)
Nutshell
Activity
1:1Touchdown engagement history (email opens, clicks, sends, call records, meeting logs) maps to Nutshell Activity records attached to the corresponding Lead, Contact, or Account. Activity timestamps and disposition values preserve. The Nutshell JSON-RPC API requires a valid rev value on every edit; we retrieve and pass the current rev before each activity insert to prevent conflicts.
Touchdown
Custom Field (all types)
Nutshell
Custom Field (customFields dictionary)
lossyTouchdown custom field schema is discovered via API exploration since it is not publicly documented. Each custom field maps to a named entry in Nutshell's customFields dictionary on the appropriate entity (Lead, Account, or Contact). Currency custom fields in Touchdown map to Nutshell's currency object format {currency: "USD", amount: "value"}. Text, date, and numeric custom fields map directly. We flag any Touchdown field type that has no equivalent Nutshell representation during scoping.
Touchdown
Owner
Nutshell
User
1:1Touchdown Owner records map to Nutshell User accounts. We resolve owners by email match. Any Touchdown Owner without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision before record import resumes. Inactive Touchdown owners map to inactive Nutshell users to preserve historical assignment.
| Touchdown | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (routing required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Tasklossy | Fully supported | |
| Deal Stage | Task Status or Opportunity Stagelossy | Fully supported | |
| Campaign | Campaign (inventory only)1:1 | Fully supported | |
| Segment | List (inventory only)1:1 | Fully supported | |
| Email Template | Email Template (inventory only)1:1 | Fully supported | |
| Activity (engagement history) | Activity1:1 | Fully supported | |
| Custom Field (all types) | Custom Field (customFields dictionary)lossy | Fully supported | |
| Owner | User1: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.
Touchdown gotchas
Catalog website appears mismatched
Touchdown stores its data inside the Dynamics 365 / Dataverse tenant
SMS data and consent records require careful handling
Templates and landing pages reference Microsoft-hosted assets
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
Schema discovery and scoping
We begin with authenticated API exploration of the customer's Touchdown instance using their credentials. We enumerate all object types, field names, custom field definitions, segment logic, campaign metadata, and engagement object structures present in the live data. We pair this with a Nutshell tenant review to confirm the destination plan (Starter, Pro, Pro+, or Enterprise) and note which features (Opportunities, Engagement suite, API access) are available at the customer's tier. The discovery output is a written schema map and a preliminary migration specification.
Mapping specification and Nutshell schema preparation
We design the full object mapping between the discovered Touchdown schema and the Nutshell target. This includes deciding the Lead-versus-Contact split rule based on the customer's segment and lifecycle data, configuring Nutshell custom fields to receive Touchdown custom field values, and designing the Account-to-Company routing for company records. If the customer is on Nutshell Starter (no Opportunities), we confirm that Deals map to Tasks. We coordinate with the customer's Nutshell admin to pre-create any custom field definitions in the Nutshell customFields structure before data import begins.
Sandbox validation
We run a test migration into the customer's Nutshell sandbox environment (or a trial account) using a representative subset of records: 50-200 Contacts, 20-50 Companies, and a sample of Activity history. The customer's team reconciles field values, confirms the Lead-versus-Contact split is applied correctly, and validates that custom field data landed in the right places. We correct any mapping errors in the specification before moving to production migration. Sandbox validation typically takes one to three business days.
Owner and User reconciliation
We extract every distinct Touchdown Owner referenced on Contact, Company, Deal, and Activity records and match by email against the Nutshell destination User list. Any Owner without a matching Nutshell User goes to a reconciliation queue for the customer's admin to provision. Migration cannot proceed past this step because Nutshell requires a valid OwnerId on standard entity edits. We provide a simple spreadsheet listing the missing owners with instructions for provisioning them.
Production migration in dependency order
We run production migration in record-dependency order: Nutshell Users (manually provisioned, validated), Accounts (from Touchdown Companies), Contacts and Leads (with AccountId resolved for Contacts), Activity history (via Nutshell JSON-RPC API with rev handling), and finally custom field values in the Nutshell customFields dictionary. Each phase emits a row-count reconciliation report showing records attempted, succeeded, skipped, and failed before the next phase begins. We handle Nutshell's rate limits and rev conflicts with exponential backoff and retry logic.
Cutover, validation, and automation handoff
We freeze Touchdown writes during cutover, run a final delta migration of any records modified during the migration window, then enable Nutshell as the system of record. We deliver the campaign and segment inventory document to the customer's admin team with recommended rebuild steps. We support a five-business-day hypercare window where we resolve any data quality issues raised by the customer's team. We do not rebuild Touchdown campaigns, segments, or email templates as Nutshell live records; that work is handled by the customer's admin using the inventory and token mapping table.
Platform deep dives
Touchdown
Source
Strengths
Weaknesses
Nutshell
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 Touchdown and Nutshell.
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
Touchdown: Governed by Dataverse Web API service protection limits (per-user/per-app rate ceilings published by Microsoft). Touchdown does not impose additional documented limits on top..
Data volume sensitivity
Touchdown 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 Touchdown to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Touchdown 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 Touchdown
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.