CRM migration

Migrate from Nutshell to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Nutshell and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Nutshell logo

Nutshell

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

75%

6 of 8

objects map 1:1 between Nutshell and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Microsoft Dynamics 365 Sales
Nutshell

Overview

What this migration involves

Moving from Nutshell to Microsoft Microsoft Dynamics 365 Sales is a structural migration that requires resolving three platform differences before records can import. First, Nutshell's flat People-to-Company hierarchy has no direct Dynamics 365 equivalent because Dynamics 365 requires Contacts to attach to Accounts via a foreign key; we pre-build the Account-Contact relationship graph during extraction so that no Contact lands orphaned. Second, Nutshell has no Opportunity or Deal object, so pipeline stages and deal values stored in Nutshell Pipelines must be mapped to Dynamics 365 Opportunity with a pre-configured Record Type and Sales Process. Third, Nutshell's JSON-RPC API lacks a bulk endpoint, so we implement cursor-based pagination with rate-limit handling to extract large record sets without timeout. We do not migrate email sequences (server-side automation inaccessible via API) or attachments (binary blobs not returned by the API). We deliver a written inventory of Nutshell workflows and sequences for your Dynamics 365 admin to rebuild in Power Automate or Sales Cadences post-migration.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Nutshell logo

Nutshell

What's pushing teams away

  • Reporting features are considered weak by users—many resort to exporting data and performing analysis in Excel rather than using built-in dashboards.
  • Limited customization options for workflows, fields, and pipeline configurations compared to HubSpot or Salesforce, frustrating power users.
  • Mobile app is described as stripped-down relative to desktop, lacking many features available in the full web application.
  • Jack-of-all-trades positioning means Nutshell lacks the depth in any single area—marketing, service, or advanced sales automation—that growing teams eventually require.
  • Email integration limitations documented by TrustRadius reviewers, with some teams reporting reliability issues during high-volume campaign sends.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Nutshell objects map to Microsoft Dynamics 365 Sales

Each row shows how a Nutshell object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Nutshell

People

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Nutshell People records map directly to Dynamics 365 Contact. Standard fields (name, email, phone, address) migrate via Dataverse REST API. The critical dependency is that Contacts in Dynamics 365 require an AccountId Lookup to a parent Account; we extract Nutshell People alongside their associated Company during the same API call and resolve the AccountId at insert time. Any Person without a Company in Nutshell is created as a Contact on a placeholder Account or held for reconciliation depending on the customer's business rules.

Nutshell

Company

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Nutshell Company records map to Dynamics 365 Account. Company domain, address, industry, and custom fields migrate. Account is the parent of Contact in the Dynamics 365 data model, so we insert Accounts before Contacts in the migration sequence. The nut_companies.id field becomes the dedupe key during import to prevent duplicate Accounts.

Nutshell

Lead

maps to

Microsoft Dynamics 365 Sales

Lead

1:1
Fully supported

Nutshell Lead records map to Dynamics 365 Lead. Leads in Nutshell are separate from People and have their own lifecycle, custom fields, and owner assignment. We map Lead Status from Nutshell to Dynamics 365's leadqualitycode and map any lead score or rating custom fields to their Dynamics 365 equivalents. Leads do not require an Account parent until they are qualified and converted.

Nutshell

Pipeline

maps to

Microsoft Dynamics 365 Sales

Opportunity + Record Type + Sales Process

1:many
Fully supported

Nutshell Pipelines with their stage configurations have no direct single-object equivalent in Dynamics 365. Nutshell pipeline stages map to Dynamics 365 Opportunity StageName values, and each Nutshell Pipeline becomes a Dynamics 365 Record Type on Opportunity with a corresponding Sales Process that whitelists the mapped stage values. Stage probabilities migrate to stageprobability field on OpportunityStage. This is a configuration step that we complete in the destination environment before Opportunity records are imported.

Nutshell

Activity (calls, emails, meetings, tasks)

maps to

Microsoft Dynamics 365 Sales

Task, Event, EmailMessage

1:1
Fully supported

Nutshell Activity records attached to People or Companies migrate to Dynamics 365 Task (calls, emails, tasks) and Event (meetings). Email activities migrate as EmailMessage records linked to Tasks on the activity timeline. Call disposition, duration, and recording URL (if accessible) migrate to custom Task fields. ActivityDate preserves the original Nutshell timestamp for timeline ordering. We extract Activities via paginated API reads and insert them in batches using Dataverse batch operations with a maximum of 100 records per request.

Nutshell

Custom Field (People, Company, Lead)

maps to

Microsoft Dynamics 365 Sales

Custom Field

1:1
Fully supported

Nutshell custom field definitions for People, Company, and Lead are enumerated during discovery and recreated in Dynamics 365 with equivalent field types. Text fields map to Text, number fields to Integer or Decimal, date fields to DateTime, and checkbox fields to Two Option. Picklist fields in Nutshell map to Option Sets in Dynamics 365. Custom fields are deployed to the destination environment before any data import begins so that the schema is ready for incoming records.

Nutshell

Tag

maps to

Microsoft Dynamics 365 Sales

Multi-Select Picklist or Topic

lossy
Fully supported

Nutshell tags on People and Companies migrate to Dynamics 365 as either multi-select picklist fields on Contact and Account, or as Topics with TopicAssignment records. The customer selects the strategy during scoping. Tag hierarchies (if configured in Nutshell) are flattened during transfer. Tags used for lead scoring or segmentation are mapped to custom fields or Dynamics 365 Insights premium fields depending on the destination tier.

Nutshell

User (Owner)

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

Nutshell Users serve as record owners and appear in activity logs. We map Nutshell users to Dynamics 365 User records by email match. Users without a matching Dynamics 365 User go to a reconciliation queue for the customer's admin to provision before record import resumes. The nut_users.id maps to systemuserid in Dynamics 365.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Nutshell logo

Nutshell gotchas

High

Contact tier limits enforced on import

Medium

No bulk API endpoint requires paginated extraction

Medium

Email sequences not exportable via API

Medium

Foundation plan disables key sales features

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Nutshell's flat People-to-Company hierarchy requires pre-graph building for Dynamics 365

    Nutshell attaches People directly to Companies with no intermediate Account-Contact model. Dynamics 365 requires Contacts to have an AccountId Lookup to a parent Account. If we import Contacts before their parent Accounts exist, the import fails or creates orphaned Contacts. We extract People and their associated Company records in a single pass, build the relationship graph, and insert Accounts first so that AccountId is available at Contact insert time. Any Nutshell Person without a Company requires a customer decision about whether to create a placeholder Account or exclude the orphan.

  • No bulk API endpoint requires paginated extraction with rate-limit handling

    Nutshell's JSON-RPC API requires paginated cursor-based reads to extract records. There is no bulk export endpoint. We implement exponential backoff on 429 responses, chunk records into batches of 200-500 per request depending on payload size, and estimate extraction time at 5-10 seconds per 1,000 records for typical account sizes. Accounts with 50,000+ records require linear time scaling that must be accounted for in migration timeline planning. The extraction phase runs before any Dynamics 365 schema configuration begins.

  • Nutshell Pipelines have no direct Opportunity equivalent and require pre-configuration

    Nutshell Pipelines store deal data as pipeline-stage associations on records, not as a separate Opportunity object. Dynamics 365 has a first-class Opportunity object with Amount, CloseDate, StageName, AccountId, and OwnerId. We map Nutshell pipeline stages to Dynamics 365 Opportunity stages and pre-configure Record Types and Sales Processes before Opportunity records are inserted. If Nutshell has multiple pipelines, each becomes a Dynamics 365 Record Type on Opportunity. This configuration step is a prerequisite that extends the pre-migration preparation phase by one to two weeks compared to simpler migrations.

  • Email sequences and automation workflows are not accessible via Nutshell API

    Nutshell email sequences are server-side automation configurations accessible only within the application and not exposed via the public API. Similarly, automation rules (Pro and Business plans) are not exportable. We do not migrate sequences or automations as code. We deliver a written inventory of every active Nutshell sequence and automation with its trigger, cadence, and action list so that your Dynamics 365 admin can rebuild them in Power Automate, Sales Cadences, or Microsoft Copilot for Sales. Sequences in the destination platform are a separate implementation engagement.

Migration approach

Six steps for a successful Nutshell to Microsoft Dynamics 365 Sales data migration

  1. Discovery and schema baseline

    We audit the source Nutshell account across plan tier, People count, Company count, Lead count, Activity volume per object, custom field definitions per object, pipeline definitions (stage names, order, probabilities), active tag taxonomy, and active email sequences. We also document the Nutshell-to-Dynamics 365 edition fit: Sales Professional ($65/user) covers single-pipeline migrations without complex custom objects; Enterprise ($105/user) is needed for multi-pipeline Record Type management, advanced territory forecasting, or integration with Finance or Supply Chain modules. The discovery output is a written migration scope, a data volume estimate, and a Dynamics 365 edition recommendation.

  2. Destination schema design and pre-configuration

    We design the Dynamics 365 schema before any data extraction. This includes provisioning custom fields (mapped from Nutshell custom field definitions), creating Option Sets for picklist fields, pre-configuring Account and Contact field-level security, designing the Record Type and Sales Process structure for Opportunity based on the Nutshell pipeline inventory, and creating the Activity timeline configuration. Dynamics 365 schema is deployed to a Sandbox environment first for validation against real Nutshell sample data. Account-Contact relationship rules are established at this stage to prevent orphaned Contact imports.

  3. Paginated extraction from Nutshell JSON-RPC API

    We extract Nutshell data using cursor-based pagination with configurable batch sizes. People and their associated Company references are extracted together in a joined pass to build the relationship graph. Leads, Activities, Tags, and custom field data are extracted in parallel passes. We implement retry logic with exponential backoff on rate-limit responses (HTTP 429). Extraction produces a staging dataset organized by object with source IDs preserved for reconciliation. The extraction phase typically runs over one to three days depending on total record volume.

  4. Sandbox migration and reconciliation

    We run a full migration into the Dynamics 365 Sandbox environment using production-like data volumes from the Nutshell staging dataset. The customer's RevOps lead reconciles record counts (Accounts in, Contacts in, Leads in, Activities in), spot-checks 20-40 records against the Nutshell source for field accuracy, and validates that the Account-Contact relationship graph resolved correctly with no orphaned Contacts. Any mapping corrections, missing custom fields, or schema gaps are fixed in Sandbox before production migration begins.

  5. Owner reconciliation and User provisioning

    We extract every distinct Nutshell User referenced on People, Company, Lead, and Activity records and match by email against the Dynamics 365 destination org's User table. Any Nutshell User without a matching Dynamics 365 User goes to a reconciliation queue. The customer's Dynamics 365 admin provisions missing Users and assigns them the appropriate Security Roles before production migration begins. OwnerId references on Opportunities and Activities require a valid systemuserid, so this step is a hard prerequisite for the production phase.

  6. Production migration in dependency order

    We run production migration in record-dependency order: Accounts (from Nutshell Companies), Contacts (with AccountId resolved from the People-Company relationship graph), Leads, Opportunities (with Record Type, Sales Process, StageName, AccountId, and OwnerId resolved from Nutshell Pipeline data), Activities (Tasks, Events, EmailMessages via Dataverse batch API), and Tags (as multi-select picklist or Topics). Each phase emits a row-count reconciliation report before the next phase begins. The Nutshell source account remains live during migration so that no new records are created during the cutover window.

  7. Cutover, validation, and automation rebuild handoff

    We freeze writes to Nutshell during cutover, run a final delta migration of any records modified during the migration window, then switch the system of record to Microsoft Dynamics 365 Sales . We deliver the automation inventory document listing all Nutshell sequences and workflows with trigger conditions and recommended Power Automate or Sales Cadence equivalents. We support a one-week hypercare window for reconciliation issues. We do not rebuild Nutshell sequences or workflows as Power Automate flows inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Nutshell logo

Nutshell

Source

Strengths

  • Simple, intuitive interface with minimal learning curve for sales teams new to CRM
  • Per-seat pricing is transparent and predictable, with annual billing reducing monthly cost
  • Full data export tool available for all account data including backups
  • Open JSON-RPC API allows programmatic access to all core objects
  • Native multichannel engagement (email, SMS, WhatsApp) without third-party add-ons for communication

Weaknesses

  • Reporting and analytics are considered weak, requiring manual Excel exports for detailed analysis
  • No bulk API endpoint—migration requires paginated API reads that must be rate-limited carefully
  • JSON-RPC API is less common than REST, requiring custom integration code compared to standard REST CRMs
  • Add-on costs (Forms, Nutshell IQ, Email Marketing) are per-company charges that stack on top of per-seat pricing
  • Feature restrictions on entry-level plans mean teams often need mid-tier to get basic automation
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Nutshell and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Nutshell: Not publicly documented in summary form..

  • Data volume sensitivity

    A

    Nutshell exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Nutshell to Microsoft Dynamics 365 Sales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Nutshell to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Nutshell to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Nutshell to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 15,000 People, 3,000 Companies, and no complex multi-pipeline structures. Migrations with multiple Nutshell pipelines requiring separate Dynamics 365 Record Types and Sales Processes, large activity histories (over 200,000 records), or extensive custom field definitions across objects move to seven to twelve weeks because of schema pre-configuration time, pagination extraction, and the Account-Contact relationship graph resolution.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Nutshell.
Land in Microsoft Dynamics 365 Sales , intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day