CRM migration

Migrate from Dynamics 365 Field Service to Nutshell

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

Dynamics 365 Field Service logo

Dynamics 365 Field Service

Source

Nutshell

Destination

Nutshell logo

Compatibility

100%

12 of 12

objects map 1:1 between Dynamics 365 Field Service and Nutshell.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Microsoft Dynamics 365 Field Service runs on the Dataverse model, storing Work Orders, Bookings, Resources, and schedule data alongside standard CRM objects like Accounts, Contacts, and Opportunities. Nutshell's data model is simpler — Companies, People, Leads, Deals, Activities, Products, and Competitors — with no native work-order or field-service scheduling entity. We map Accounts to Companies, Contacts to People, Opportunities to Deals, and Work Orders to a Deal-plus-custom-field structure that preserves incident type, priority, and status without forcing you into Nutshell's sales-only paradigm. Custom fields from both platforms carry over as Nutshell custom fields on their respective record types. Dynamics automations, Power Automate flows, and Resource Scheduling Optimization rules do not migrate — we export the definitions as rebuild references for your Nutshell admin. The migration runs via Nutshell's JSON-RPC API (impersonation mode) and Dynamics' Dataverse Web API, sequenced so foreign-key dependencies resolve correctly: Accounts before Contacts, then Work Orders mapped after Deals are staged.

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

Dynamics 365 Field Service logo

Dynamics 365 Field Service

What's pushing teams away

  • Implementation requires certified Microsoft partners for anything beyond basic configuration; simple customizations that competitors handle in-house demand developer resources, inflating total cost of ownership.
  • Per-user licensing at $105/month compounds quickly—technicians, dispatchers, supervisors, and parts staff each require seats, and the true headcount often exceeds initial estimates.
  • Performance degrades when Work Order histories grow large; pages load slowly and offline sync timeouts occur in datasets exceeding tens of thousands of records without careful FetchXML tuning.
  • Change management and staff training are underestimated; technicians accustomed to simple mobile tools struggle with the learning curve, leading to low adoption and shadow systems.
  • The platform integrates poorly with non-Microsoft ERPs out of the box; customers using Business Central face custom integration work, and those on other ERP systems must build middleware.

Choosing

Nutshell logo

Nutshell

What's pulling them in

  • Lowest cost entry point among mid-market CRMs—Foundation plan starts at $13/user/month, making it accessible for teams validating CRM fit before committing.
  • Integrated sales automation and email sequencing on Pro plans without requiring a separate email marketing platform, per verified Capterra reviews.
  • Consistently praised for intuitive interface and fast onboarding, with case studies reporting 100% team adoption rates within initial deployment periods.
  • Strong customer support responsiveness cited across G2 reviews, with dedicated support tiers available on Enterprise plans.
  • Native integrations with WhatsApp, Facebook Messenger, Instagram, and Slack reduce reliance on third-party middleware for common communication channels.

Object mapping

How Dynamics 365 Field Service objects map to Nutshell

Each row shows how a Dynamics 365 Field Service 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 Field Service

Account

maps to

Nutshell

Company

1:1
Fully supported

Direct map. Dynamics Accounts map to Nutshell Companies. Account.Name becomes Company.name. The primary address (address1_line1, city, state, postal code, country) maps to the standard Nutshell Company address fields. Any secondary addresses are recorded as Nutshell Notes tagged with address type (e.g., 'Billing', 'Shipping') for reference. This preserves the full address hierarchy while keeping the Company record clean.

Dynamics 365 Field Service

Contact

maps to

Nutshell

Person

1:1
Fully supported

Direct map. Dynamics Contacts become Nutshell People. All standard person fields (name, email, phone, title, address) map directly. The Contact's primary AccountId resolves to a Company lookup in Nutshell — if the Account is not yet migrated, the Contact is held in a staging queue until the Account is confirmed.

Dynamics 365 Field Service

Lead

maps to

Nutshell

Lead

1:1
Fully supported

Direct map with a value-mapping note. Dynamics Lead.statuscode and statecode map to Nutshell's Lead status pick-list (New, Working, Dead, Won). Dynamics lead-quality scores or grading fields become a custom Number field on Nutshell Leads. Dynamics Lead.industry maps to a custom pick-list if that data is tracked.

Dynamics 365 Field Service

Opportunity

maps to

Nutshell

Deal

1:1
Fully supported

Direct map. Dynamics Opportunities map to Nutshell Deals. opportunity.amount becomes deal.value, close date maps to the Deal close date, and OwnerId resolves by email to the Nutshell User. The Dynamics salesstage (statecode/statuscode) maps to Nutshell's pipeline stage pick-list per pipeline.

Dynamics 365 Field Service

Product

maps to

Nutshell

Product

1:1
Fully supported

Direct map. Dynamics Product records (name, productnumber, defaultuomscheduleid, quantitydecimal, standardprice) map to Nutshell Products. Pricing_unit maps to Nutshell's unit field. Bundle and Option products from Dynamics expand into flat product entries in Nutshell — the bundle relationship is preserved in a custom text field on the Nutshell Product.

Dynamics 365 Field Service

msdyn_workorder

maps to

Nutshell

Deal + Custom Fields

1:1
Fully supported

Work Orders have no direct Nutshell equivalent. We create a Nutshell Deal per Work Order and add custom fields: Work_Order_ID__c (Dynamics ID for traceability), Incident_Type__c, Service_Territory__c, Priority__c, and Actual_Duration__c. The Deal name derives from the Work Order subject or the related Account + incident reference. This preserves Work Order data in a Nutshell-native format without forcing it into a non-contextual Notes field.

Dynamics 365 Field Service

msdyn_bookableresource

maps to

Nutshell

Person + Custom Fields

1:1
Fully supported

Dynamics Resources (technicians, crews, facilities) map to Nutshell People with a custom Resource_Type__c field set to 'Bookable Resource'. Resource traits, skills, and organizational unit are captured as custom multi-select or text fields on the Person record. Resource-specific constraints (like start/end locations) cannot map to Nutshell's simpler schema and are exported as a reference CSV for the customer's FSM tooling decision.

Dynamics 365 Field Service

msdyn_workorderincident

maps to

Nutshell

Note (on related Deal)

1:1
Fully supported

Work Order Incidents (the line-item problems being resolved) map to Notes attached to the corresponding Nutshell Deal. Each incident's description, product, and service task lines are concatenated into a Note with a prefix tag '[Work Order Incident]' so the original data is searchable post-migration.

Dynamics 365 Field Service

Activity (Task, Email, PhoneCall, Appointment)

maps to

Nutshell

Activity

1:1
Fully supported

Direct map across activity types. Dynamics Tasks, Emails, Phone Calls, and Appointments map to Nutshell Activities with original timestamps, owners, and subject lines preserved. The activity's regardingobjectid resolves to the mapped Nutshell record (Company, Person, or Deal). Email body content maps to the Nutshell Activity description field.

Dynamics 365 Field Service

msdyn_customfield (any entity)

maps to

Nutshell

Custom Field (same entity)

1:1
Fully supported

Any Dynamics custom attribute on Account, Contact, Lead, Opportunity, or Work Order that has no direct Nutshell equivalent is created as a Nutshell custom field on the target entity. We create the field before the migration run, preserving data type (text, number, date, dropdown). Pick-list values from Dynamics map as options in the Nutshell custom field.

Dynamics 365 Field Service

Competitor

maps to

Nutshell

Competitor

1:1
Fully supported

Direct map. Dynamics Competitor entity maps 1:1 to Nutshell Competitors, transferring name, website URL, and description fields. Additional attributes such as primary contact or address stored on the Dynamics record become custom fields on the Nutshell Competitor. When a Dynamics Opportunity references a Competitor, the relationship is recreated as a Competitor association on the corresponding Nutshell Deal, preserving competitive context for the sales pipeline.

Dynamics 365 Field Service

msdyn_fieldservicecoveragetemplate / Territory

maps to

Nutshell

Tag

1:1
Fully supported

Dynamics territory and coverage templates have no Nutshell equivalent, so territory information is saved as tags on the related Account/Company record. Each territory name becomes a Nutshell Tag, and the associated region and priority are stored in a CSV export. The export includes fields such as territory ID, region, service area, and scheduling constraints, giving the customer's FSM rebuild team a reference for configuring territories in their new scheduling system.

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.

Dynamics 365 Field Service logo

Dynamics 365 Field Service gotchas

High

Dataverse service protection API limits throttle bulk exports

Medium

Offline profile FetchXML tuning is source-environment-specific

Medium

Project Operations integration has bidirectional sync limitations

Medium

Copilot add-on credits do not migrate and reset at zero

Low

File attachments stored in SharePoint require separate file migration

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

Pair-specific challenges

  • Work Orders have no Nutshell equivalent and require a Deal-plus-custom-field structure

    Microsoft Dynamics 365 Field Service stores work orders in the msdyn_workorder Dataverse table with sub-tables for incidents, service tasks, and product lines. Nutshell has no work-order entity — it has Deals, which model sales opportunities. FlitStack creates a Nutshell Deal per Work Order and adds custom fields (Work_Order_ID__c, Incident_Type__c, Priority__c, Service_Territory__c) to preserve the work order context inside Nutshell. The Deal name is prefixed '[Work Order]' so sales reps immediately distinguish them from standard pipeline Deals. Scheduling constraints, travel-time rules, and Resource Scheduling Optimization parameters cannot map to Nutshell's schema and are exported as a reference CSV for the customer's post-migration FSM tooling decision.

  • Nutshell caps custom fields on People and Companies at 50 total across the account

    Nutshell allows custom fields on Companies, People, and Leads, but the total number of custom fields per account is governed by your Nutshell plan tier. Dynamics environments with heavy custom-field usage (often 20–50+ custom fields per entity) can exceed Nutshell's limits on lower tiers. FlitStack audits your Dynamics custom-field inventory before the migration plan is finalized. If the count exceeds Nutshell's limit, we surface the overflow fields and propose a priority ranking — critical business fields get migrated first; archival or audit-only fields get exported as a CSV reference. We also flag this during the pre-migration schema review so you can upgrade your Nutshell plan or consolidate fields before the migration run.

  • Multi-company contact associations collapse to a single primary company in Nutshell

    Dynamics 365 allows a Contact to have multiple Account associations via the contactcustomeraccounts_accounts many-to-many relationship. Nutshell People have a single primary Company link. If a Dynamics Contact is associated with more than one Account, FlitStack sets the most recently modified Account as the primary Company in Nutshell and attaches a Company_Association_Export__c custom field listing the full set of source Account IDs. This preserves the full relationship graph as a reference artifact without forcing a schema extension in Nutshell.

  • RSO scheduling constraints and booking rules have no destination equivalent

    Dynamics 365 Field Service's Resource Scheduling Optimization engine applies multi-constraint optimization — geography, skill match, work order priority, travel time, and territory rules — to generate booking recommendations. Nutshell has no scheduling module and no resource-management entity. FlitStack exports the RSO configuration (constraint weights, territory boundaries, resource pool definitions) as a JSON reference file. Customers planning to adopt a dedicated FSM tool (such as ServiceTitan, Jobber, or UpKeep) can use this export as a configuration input for their new scheduling system.

  • Dynamics leads convert to Contact + Account; Nutshell leads convert in-place

    In Dynamics 365, qualifying a Lead creates a new Contact and Account record and optionally deactivates the Lead. In Nutshell, converting a Lead updates the Lead's status to Won and optionally creates a Company and Person if the lead represents a new organization. FlitStack's migration maps all Dynamics Leads to Nutshell Leads based on their statecode/statuscode. Leads with statecode=1 (Qualified) and an existing Contact are mapped to both a Nutshell Company/Person AND a Lead record, so the existing relationship history is preserved. Leads with no converted Contact land as Nutshell Leads for rep follow-up.

Migration approach

Six steps for a successful Dynamics 365 Field Service to Nutshell data migration

  1. Discovery audit and field-level schema inventory

    We pull the full metadata from your Dynamics 365 instance via the Dataverse Web API — all entities, custom attributes, pick-list option sets, and relationship definitions. We simultaneously inventory your Nutshell account's existing custom fields, pipeline configuration, and user list. The audit output is a gap analysis: which Dynamics fields have direct Nutshell equivalents, which need custom fields created in Nutshell before migration, and which (like RSO scheduling constraints) have no Nutshell home and will be exported as reference artifacts. This step typically runs 1–2 days and produces the migration plan your team reviews before we touch production data.

  2. User and owner resolution by email

    Dynamics stores owner assignments as systemuserid GUIDs. Nutshell identifies users by email address. We run an email-resolution pass: every Dynamics owner email is matched against your Nutshell user list. Matched owners map directly. Unmatched owners are flagged in a pre-flight report — your team either creates the corresponding Nutshell user or assigns those records to a fallback owner before migration begins. Work Order resources (msdyn_bookableresource) are resolved the same way, with unmatched resources surfaced as People records tagged with a Resource_Type__c custom field.

  3. Work Order transformation and staging

    Because Nutshell has no work-order entity, we pre-compute the Work Order-to-Deal transformation before any records are written. For each msdyn_workorder record, we generate a corresponding Nutshell Deal payload with the prefix '[Work Order]', custom fields for incident type, priority, and service territory, and a source-system ID pointing back to the Dynamics GUID. The Work Order sub-tables (incidents, service tasks, products) are resolved — incidents attach as Notes on the Deal; products link to the Nutshell Product catalog. The staging payload is validated against Nutshell's field type constraints before the migration run commits any data.

  4. Sample migration with field-level diff

    A representative slice of 100–300 records migrates first: a mix of Accounts/Companies, Contacts/People, Leads, Opportunities/Deals, Work Orders, and Activities. We generate a field-level diff between the source Dynamics record and the resulting Nutshell record so you can verify that pick-list value mappings are correct, custom fields populated, owner resolution worked, and Deal names derived from Work Orders carry the expected context. You sign off on the sample before the full run commits. This is where we catch mapping gaps before they affect your entire dataset.

  5. Full migration with delta-pickup and one-click rollback

    The full record set migrates via the Nutshell JSON-RPC API, batched and paced to respect Nutshell's rate limits. A delta-pickup window of 24–48 hours after the full run captures any Dynamics records modified or created during cutover. Every operation — inserts, updates, skipped records, and errors — is written to an audit log. If reconciliation fails (record count mismatch, field validation error, or data integrity issue), one-click rollback reverts the Nutshell instance to its pre-migration state so you can investigate and re-run without a partial-data problem.

Platform deep dives

Context on both ends of the pair

Dynamics 365 Field Service logo

Dynamics 365 Field Service

Source

Strengths

  • Intelligent schedule board with multi-constraint optimization (skills, location, SLA, travel time) reduces manual dispatch effort on large technician fleets.
  • IoT integration via Connected Field Service enables proactive maintenance alerts that auto-create Work Orders before equipment fails.
  • Native mobile app with robust offline mode allows technicians to work disconnected and sync changes when connectivity returns.
  • Deep Dataverse foundation means seamless data sharing with Microsoft Dynamics 365 Sales , Customer Service, and Power Platform apps without middleware.
  • Microsoft's regular release cadence keeps the platform current with AI features, Copilot assistance, and updated compliance certifications.

Weaknesses

  • Per-user licensing at $105/month creates predictable cost inflation as technician headcount grows, with no meaningful volume discounts for large fleets.
  • Implementation and ongoing customization require certified Microsoft partners or developer-staffed IT teams, limiting agility for mid-market organizations.
  • Performance degrades in large datasets without careful FetchXML optimization; offline sync timeouts are common without proactive query tuning.
  • Integration with non-Microsoft ERP systems (SAP, Oracle, NetSuite) requires custom middleware or third-party connectors that add cost and maintenance overhead.
  • Schema changes between release waves can break custom field references, requiring re-validation of data mappings after each major update.
Nutshell logo

Nutshell

Destination

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

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 Dynamics 365 Field Service and Nutshell.

  • 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

    Dynamics 365 Field Service: Service protection limits enforced per org; specific numeric thresholds are not publicly documented by Microsoft and vary by workload type.

  • Data volume sensitivity

    A

    Dynamics 365 Field Service exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Dynamics 365 Field Service to Nutshell 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 Dynamics 365 Field Service to Nutshell data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations complete in 24–72 hours for under 50,000 records. Larger Dynamics environments with 200,000+ records or complex Work Order-to-Deal transformation logic extend to 5–10 days. The longest single step is usually the Work Order staging and transformation — each work order requires custom field creation in Nutshell before the Deal payload can validate. We include a 48-hour delta-pickup window in every migration so any records modified during cutover are captured before go-live.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dynamics 365 Field Service.
Land in Nutshell, 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