CRM migration
Field-level mapping, validation, and rollback between ServiceTracker and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
ServiceTracker
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
14 of 15
objects map 1:1 between ServiceTracker and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
ServiceTracker organizes around work orders, technicians, and service locations with a flat schema. Dynamics 365 Sales operates on the account-contact-lead-opportunity model built on Dataverse, using Option Set integer values for picklists, business process flows for stage gating, and Copilot AI for relationship insights. Organizations migrate when ServiceTracker's limited customization and per-seat pricing no longer justify staying on a tool built for field dispatch rather than sales relationship management. We extract ServiceTracker data via its REST API and CSV export, then map every entity to Dynamics 365 Sales equivalents: customers become Accounts, work orders become Cases or a custom Work Order table, technicians map to System Users or Bookable Resources, and custom fields become msdyn_* custom fields. Picklist values like work order status require explicit integer-to-integer mapping because Dynamics stores Option Sets as integer option values, not strings. After a sample migration with field-level diff, we run the full cutover and capture any in-flight changes during the delta window.
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.
Source platform
ServiceTracker platform overview
Scorecard, SWOT, gotchas, and pricing for ServiceTracker.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a ServiceTracker 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.
ServiceTracker
Customer
Microsoft Dynamics 365 Sales
Account
1:1ServiceTracker customers map to Dynamics 365 Sales Accounts. Primary contact name, company name, email, and phone transfer as direct field mappings. Accounts without an email domain are flagged for review because Dynamics requires either a domain-verified account or manual assignment of a primary contact record.
ServiceTracker
Customer Contact
Microsoft Dynamics 365 Sales
Contact
1:1Named contacts within a ServiceTracker customer map to Dynamics Contacts linked to the target Account via AccountId. Job title, direct phone, mobile phone, and email transfer directly. Multiple contacts per customer collapse to individual Contact records with the primary contact marked in the Contact's IsPrimary field.
ServiceTracker
Work Order
Microsoft Dynamics 365 Sales
msdyn_workorder (Field Service) or Incident (Case)
1:1ServiceTracker work orders map to either the msdyn_workorder table (if Dynamics 365 Field Service is licensed) or to Incident (Case) entities. The mapping choice depends on whether the organization needs asset tracking and work order products — in which case Field Service's msdyn_workorder table is the correct target. Without Field Service, Cases serve as the closest standard CRM equivalent for service records.
ServiceTracker
Work Order Status
Microsoft Dynamics 365 Sales
msdyn_workorder / Incident State and Status
1:1ServiceTracker's string-based status values ('Open', 'In Progress', 'On Hold', 'Closed Complete', 'Cancelled') must map to Dynamics Option Set integer values. Each ServiceTracker status string is assigned a corresponding Dynamics integer option value during mapping setup. Incorrect integer mapping results in wrong status display post-migration.
ServiceTracker
Work Order Priority
Microsoft Dynamics 365 Sales
Priority (Option Set on Case)
1:1ServiceTracker priority levels ('Low', 'Medium', 'High', 'Critical') map to Dynamics Priority Option Set values (typically 1=Low, 2=Normal, 3=High). Organizations that use a 'Critical' tier must create a custom Option Set entry and specify its integer value. Priority probability weights are not transferred because Dynamics recalculates case priority probability automatically based on Business Process Flow stage.
ServiceTracker
Contract / PM Plan
Microsoft Dynamics 365 Sales
Contract (ServiceContract)
1:1ServiceTracker service contracts map to Dynamics Contracts. Contract number, billing terms, start date, expiration date, and associated customer transfer. Preventive maintenance routine details that reference specific work order templates become notes on the Contract record since Dynamics Contracts do not have a native routine structure.
ServiceTracker
Parts / Inventory Item
Microsoft Dynamics 365 Sales
Product (Product table)
1:1ServiceTracker parts catalog items map to Dynamics Products with type=Inventory. Unit price, unit of measure, and quantity on hand transfer as QuantityDecimal on the Product record. Part numbers map to ProductNumber. Inventory location data becomes a custom field since Dynamics Products store quantity per warehouse as separate inventory lines.
ServiceTracker
Work Order Line Item / Part Used
Microsoft Dynamics 365 Sales
Opportunity Product or msdyn_workorderproduct
many:1Parts used on a ServiceTracker work order merge into the corresponding Opportunity Product or msdyn_workorderproduct record. Each work order's part list is reconciled against the migrated Product catalog and linked. If the same part appears across multiple work orders, separate line items are created per work order opportunity.
ServiceTracker
Technician / Service Provider
Microsoft Dynamics 365 Sales
System User or Bookable Resource
1:1ServiceTracker technicians map to Dynamics System Users matched by email address. If the organization uses Dynamics 365 Field Service scheduling, technicians are also created as Bookable Resources linked to their System User record. Unmatched technicians are flagged and assigned to a fallback resource during migration.
ServiceTracker
Site / Location
Microsoft Dynamics 365 Sales
Account (Address composite) or CustomerAddress
1:1ServiceTracker site records containing address, city, state, and postal code map to Account address fields or CustomerAddress records. Multiple sites per customer create multiple CustomerAddress records with address number and address type (billing, shipping, service). State and postal code use the same Option Set integer mapping as other picklist values.
ServiceTracker
ServiceTracker Custom Object
Microsoft Dynamics 365 Sales
Custom Table (Dataverse)
1:1ServiceTracker custom objects or custom entity extensions require new custom tables in Dynamics 365 Sales (Dataverse). We analyze the custom object's schema, create the equivalent table with matching column types, and establish lookup relationships to standard entities. N:N relationships in ServiceTracker require a junction table in Dynamics since Dataverse supports many-to-many via its intersect entities.
ServiceTracker
Work Order Attachments / Files
Microsoft Dynamics 365 Sales
SharePoint Document Location or Note (Annotation)
1:1File attachments on ServiceTracker work orders are downloaded, stored temporarily, and re-uploaded to SharePoint Online libraries linked to the target Account or Case record. If SharePoint integration is not configured, attachments upload as Note (Annotation) records with file body stored in Dynamics. Microsoft OneDrive for Business storage is an alternative if SharePoint is unavailable.
ServiceTracker
Schedule / Dispatch Information
Microsoft Dynamics 365 Sales
Bookable Resource Booking or custom scheduling fields
1:1ServiceTracker dispatch information — scheduled date, technician assignment, route sequence — maps to Bookable Resource Booking records if Dynamics 365 Field Service is licensed. Without Field Service, scheduled dates migrate as custom fields on the Case record and technician assignment migrates as the OwnerId lookup. Route optimization data has no direct equivalent in default Dynamics 365 Sales.
ServiceTracker
Billing Information
Microsoft Dynamics 365 Sales
Custom fields on Account or Contract
1:1ServiceTracker billing addresses, billing contacts, and invoicing terms have no native equivalent in Dynamics 365 Sales beyond the Account billing address. We preserve additional billing fields (billing contact name, invoice method, PO number) as custom fields on the Account or Contract record for reference. Billing history lines migrate as Notes linked to the Account.
ServiceTracker
Original Record ID (ServiceTracker)
Microsoft Dynamics 365 Sales
Custom field: st_record_id (Text)
1:1The original ServiceTracker record ID is preserved in a custom text field on each target record in Dynamics for traceability and de-duplication across delta-run migrations. This field enables FlitStack to identify and update records correctly if a migration is re-run after initial cutover.
| ServiceTracker | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Customer | Account1:1 | Fully supported | |
| Customer Contact | Contact1:1 | Fully supported | |
| Work Order | msdyn_workorder (Field Service) or Incident (Case)1:1 | Fully supported | |
| Work Order Status | msdyn_workorder / Incident State and Status1:1 | Fully supported | |
| Work Order Priority | Priority (Option Set on Case)1:1 | Fully supported | |
| Contract / PM Plan | Contract (ServiceContract)1:1 | Fully supported | |
| Parts / Inventory Item | Product (Product table)1:1 | Fully supported | |
| Work Order Line Item / Part Used | Opportunity Product or msdyn_workorderproductmany:1 | Fully supported | |
| Technician / Service Provider | System User or Bookable Resource1:1 | Fully supported | |
| Site / Location | Account (Address composite) or CustomerAddress1:1 | Fully supported | |
| ServiceTracker Custom Object | Custom Table (Dataverse)1:1 | Fully supported | |
| Work Order Attachments / Files | SharePoint Document Location or Note (Annotation)1:1 | Fully supported | |
| Schedule / Dispatch Information | Bookable Resource Booking or custom scheduling fields1:1 | Fully supported | |
| Billing Information | Custom fields on Account or Contract1:1 | Fully supported | |
| Original Record ID (ServiceTracker) | Custom field: st_record_id (Text)1: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.
ServiceTracker gotchas
No native bulk data export API
Custom fields are not centrally documented
Offline mobile data must sync before migration window
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Discover ServiceTracker schema and export data via API
We connect to your ServiceTracker instance using scoped API credentials and export the full entity inventory: all standard objects (customers, contacts, work orders, contracts, products, sites), all custom fields, and all picklist value sets. We produce a schema inventory document listing every field name, data type, picklist value, and whether it is standard or custom. This inventory drives the Dynamics 365 Sales schema setup plan and the picklist value mapping table.
Create Dynamics 365 Sales schema: custom fields, option sets, and tables
Before any data moves, we create the custom fields, Option Sets with integer values, and any custom tables needed in Dynamics 365 Sales. The Dynamics administrator or our team provisions these via the Power Apps solution explorer. All Option Set integer values are configured to match the ServiceTracker picklist mapping table so that status, priority, and category fields render correctly after migration. We validate that the schema is complete by running a dry-run against a single record before the full batch.
Run sample migration with field-level diff
A representative slice — typically 100–300 records spanning customers, contacts, work orders, contracts, and products — migrates into Dynamics 365 Sales in a test environment. We generate a field-level diff comparing each source record to its destination counterpart, highlighting any missing fields, picklist mismatches, or truncated values. You review the diff and approve or adjust the mapping. This step catches Option Set integer mismatches, missing custom fields, and address-format issues before the production migration commits.
Execute full migration with delta-pickup window
The full dataset migrates into Dynamics 365 Sales against your production or staging environment. A delta-pickup window — typically 24–48 hours from the start of the full run — captures any records created or modified in ServiceTracker during cutover. FlitStack sequences the migration so that parent records (Accounts, Contacts) load before child records (Cases, Contract Line Items, Work Order Products), preserving referential integrity via the original ID custom fields. An audit log records every record created, updated, or skipped.
Validate, reconcile, and deliver rollback
Post-migration, we run a reconciliation report comparing record counts, picklist value distributions, and a spot-check of field values against the source. Any records that failed to migrate or landed with incorrect values are flagged for correction. A one-click rollback script is delivered alongside the final report: if reconciliation reveals systemic issues, rolling back deletes the migrated records from Dynamics and re-runs the migration with corrected mapping. The Power Automate rebuild reference document is delivered at this stage so your Dynamics admin can begin automation reconstruction immediately.
Platform deep dives
ServiceTracker
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 ServiceTracker and Microsoft Dynamics 365 Sales .
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
ServiceTracker: Inherits Salesforce platform API rate limits.
Data volume sensitivity
ServiceTracker 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 ServiceTracker to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your ServiceTracker to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave ServiceTracker
Other ways to arrive at Microsoft Dynamics 365 Sales
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.