CRM migration
Field-level mapping, validation, and rollback between Dynamics 365 Marketing and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Dynamics 365 Marketing
Source
Nutshell
Destination
Compatibility
7 of 10
objects map 1:1 between Dynamics 365 Marketing and Nutshell.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Dynamics 365 Marketing to Nutshell is a platform simplification, not a direct replacement of equivalent features. Dynamics 365 Marketing stores core CRM records (Contacts, Leads, Accounts, Opportunities) in Dataverse alongside marketing-specific objects in Customer Insights - Journeys, while Nutshell uses a single unified People model that combines Dynamics Leads and Contacts into one record type. We split the Dataverse Contact and Lead entities into Nutshell People during import, preserving the original Lifecycle Stage as a custom field. Marketing-specific objects including Customer Journeys, Segments, Marketing Lists, and marketing email templates do not have Nutshell equivalents and are delivered as exported data with a rebuild inventory for the customer's admin. The $1,500-per-month per-tenant marketing billing model does not carry forward; we map each source contact's marketing-flag status to a custom People field in Nutshell so the customer retains the data if they later evaluate a marketing automation layer. We do not migrate Power Automate flows, Customer Journey definitions, or marketing automation rules; these require manual rebuild in Nutshell's native workflow builder.
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 Dynamics 365 Marketing 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.
Dynamics 365 Marketing
Contact
Nutshell
People
1:manyDynamics 365 Marketing Contact records map to Nutshell People. Where the source Contact has a related Lead, we evaluate the Lead's lifecycle stage and merge into a single People record in Nutshell with a custom field retaining the original lifecycle stage value from Dataverse. The primary email address becomes the dedupe key during import. The Contact-to-Account lookup resolves to the Account mapping described below before the People import begins.
Dynamics 365 Marketing
Lead
Nutshell
People
1:manyDynamics Lead records that have not been qualified into Contacts merge into Nutshell People. We preserve the leadscore, lead status, and source attribution fields as custom fields on the People record. Active Leads and Contacts are processed together in a single pass using the lifecycle stage evaluation logic to avoid creating duplicate People records for the same individual.
Dynamics 365 Marketing
Account
Nutshell
Company
1:1Dynamics 365 Marketing Accounts map to Nutshell Companies. The primary address, industry, website, and any custom account fields migrate as Company fields. The Account is created before any People import so that the Account-to-People relationship is satisfied at the moment of People insert.
Dynamics 365 Marketing
Opportunity
Nutshell
Deal
1:1Dynamics Opportunities map to Nutshell Deals. Pipeline stage maps from the Dynamics stage name to the Nutshell pipeline stage. Estimated close date, deal amount, probability, and owner assignment migrate directly. The opportunity-to-People and opportunity-to-Company lookups resolve via the People and Company import passes completed earlier.
Dynamics 365 Marketing
Activity: Task
Nutshell
Activity
1:1Dynamics Task records (ActivityPointer with Task type) map to Nutshell Activity entries on the relevant People or Deal timeline. Subject, description, due date, priority, and owner assignment transfer. The regarding object lookup (WhoId, WhatId) resolves to the migrated People or Deal record using the ID mapping table built during the People and Deal passes.
Dynamics 365 Marketing
Activity: PhoneCall
Nutshell
Activity
1:1Dynamics PhoneCall records (ActivityPointer with PhoneCall type) map to Nutshell Activity entries with the call disposition and duration preserved in custom fields. The Activity timestamp preserves the original Dynamics call date and time. Resolved WhoId and WhatId references connect the activity to the migrated People or Deal record.
Dynamics 365 Marketing
Activity: Appointment
Nutshell
Activity
1:1Dynamics Appointment records map to Nutshell Activity entries with start time, end time, and location preserved. Attendee information migrates as custom fields on the Activity record because Nutshell does not have a separate EventRelation equivalent. The original Dynamics timestamp is retained as the Activity date.
Dynamics 365 Marketing
Annotation (Note with Attachment)
Nutshell
Attachment
1:1Dynamics Annotations with file attachments export as individual records. We map each Annotation to a Nutshell Attachment linked to the parent People or Deal record via the objectid and objecttypecode from Dataverse. The attachment content and the note body migrate as separate entries: note body as Activity content and the file as a linked Attachment.
Dynamics 365 Marketing
User
Nutshell
User
1:1Dynamics Users referenced as record owners are mapped to Nutshell Users by email match. We extract the complete owner list from Dataverse during discovery and the customer's Nutshell admin provisions the corresponding users before production migration begins. Owner resolution is a prerequisite for the Deal and Activity passes because OwnerId is a required reference on those object types.
Dynamics 365 Marketing
Custom Property
Nutshell
Custom Field
lossyCustom fields defined in the Dataverse solution schema migrate to Nutshell custom fields on the corresponding People, Company, or Deal object. The customer must confirm which custom fields are available on their Nutshell plan (Enterprise tier required for custom fields on some objects). We require the managed solution ZIP or Configuration Migration Tool schema export to capture field type, required status, and picklist values before creating the Nutshell field definitions.
| Dynamics 365 Marketing | Nutshell | Compatibility | |
|---|---|---|---|
| Contact | People1:many | Fully supported | |
| Lead | People1:many | Fully supported | |
| Account | Company1:1 | Fully supported | |
| Opportunity | Deal1:1 | Fully supported | |
| Activity: Task | Activity1:1 | Fully supported | |
| Activity: PhoneCall | Activity1:1 | Fully supported | |
| Activity: Appointment | Activity1:1 | Fully supported | |
| Annotation (Note with Attachment) | Attachment1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Custom Property | Custom Fieldlossy | 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.
Dynamics 365 Marketing gotchas
Marketing Contact billing triggers on record import
Configuration Migration Tool does not migrate high-volume transactional data
Customer Insights segments are stored separately from Dataverse CRM records
Marketing Lists and Campaign Activities have legacy schema dependencies
Custom entities require a managed solution schema, not a UI export
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 schema audit
We audit the source Dynamics 365 Marketing environment across Dataverse core entities (Contact, Lead, Account, Opportunity, ActivityPointer) and marketing-specific tables under the msdynmkt_ prefix. We extract the managed solution ZIP or Configuration Migration Tool schema file to capture custom entity definitions, field types, picklist values, and relationship metadata. We inventory marketing assets (Journeys, Segments, marketing emails, forms) and count owner, activity, and attachment volumes. The discovery output is a written migration scope covering object counts, custom field inventory, and a recommendation on whether the customer wants a separate Customer Insights segment pass.
Nutshell workspace preparation
We create the Nutshell workspace structure: People fields configured to match the Dataverse contact and lead schema, Company fields aligned with the account schema, Deals configured with pipeline stages mapped from Dynamics opportunity stages, and custom fields created for any lifecycle stage, lead score, or custom property values. Owner users are provisioned in Nutshell by the customer's admin with email addresses matching the Dynamics user records. Custom field creation is confirmed with the customer before any data import begins because Nutshell's custom field availability varies by plan.
Sandbox migration and reconciliation
We run a full migration into a Nutshell trial or staging environment using production-equivalent data volumes. The customer's admin reviews record counts (People in, Companies in, Deals in, Activities in), spot-checks 25-50 random records against the Dynamics source, and confirms the lifecycle stage mapping is accurate before we proceed to production. Mapping corrections and custom field additions happen at this stage, not during production cutover.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (from Accounts), then People (from Contacts and Leads with the lifecycle stage split applied and marketing contact flag preserved in a custom field), then Deals (with resolved People and Company lookups and owner references), then Activity history (Tasks, PhoneCalls, Appointments via batched API writes with parent-record resolution), then Attachments. Marketing asset exports (Journeys, Segments, marketing emails) run as a separate data pass with the output delivered as structured data files rather than Nutshell records.
Cutover and handoff
We freeze writes in Dynamics 365 Marketing 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 marketing asset inventory and segment data export to the customer's admin. We support a one-week hypercare window to resolve reconciliation issues reported by the Nutshell end users. We do not rebuild Dynamics marketing workflows, Customer Journeys, or segment automations inside the migration scope; these are documented for the customer's admin to rebuild in Nutshell or a dedicated marketing automation platform.
Platform deep dives
Dynamics 365 Marketing
Source
Strengths
Weaknesses
Nutshell
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Dynamics 365 Marketing and Nutshell.
Object compatibility
1 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
Dynamics 365 Marketing: Dataverse Web API enforces organization-level throttling; specific limits vary by workload and are not publicly documented at fixed thresholds.
Data volume sensitivity
Dynamics 365 Marketing 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 Dynamics 365 Marketing to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Dynamics 365 Marketing 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 Dynamics 365 Marketing
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.