CRM migration

Migrate from ServiceTracker to Microsoft Dynamics 365 Sales

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 logo

ServiceTracker

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

93%

14 of 15

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

ServiceTracker logo

ServiceTracker

What's pushing teams away

  • Limited customization options frustrate teams that need deeper workflow control, leading them to platforms with more flexible automation and scripting capabilities.
  • Users report duplication issues when multiple note fields exist on the same record, complicating data entry and creating inconsistent records.
  • The lack of a documented public API makes deep integrations and automated data pipelines difficult, pushing technically demanding teams toward platforms with REST or bulk APIs.
  • Candidate and contact management workflows feel cumbersome with extra manual steps, prompting teams with HR-heavy use cases to look elsewhere.
  • Complex or opaque pricing at higher tiers causes some customers to reassess total cost and seek alternatives with more predictable billing.

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 ServiceTracker objects map to Microsoft Dynamics 365 Sales

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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Named 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

maps to

Microsoft Dynamics 365 Sales

msdyn_workorder (Field Service) or Incident (Case)

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

msdyn_workorder / Incident State and Status

1:1
Fully supported

ServiceTracker'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

maps to

Microsoft Dynamics 365 Sales

Priority (Option Set on Case)

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

Contract (ServiceContract)

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

Product (Product table)

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

Opportunity Product or msdyn_workorderproduct

many:1
Fully supported

Parts 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

maps to

Microsoft Dynamics 365 Sales

System User or Bookable Resource

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

Account (Address composite) or CustomerAddress

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

Custom Table (Dataverse)

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location or Note (Annotation)

1:1
Fully supported

File 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

maps to

Microsoft Dynamics 365 Sales

Bookable Resource Booking or custom scheduling fields

1:1
Fully supported

ServiceTracker 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

maps to

Microsoft Dynamics 365 Sales

Custom fields on Account or Contract

1:1
Fully supported

ServiceTracker 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)

maps to

Microsoft Dynamics 365 Sales

Custom field: st_record_id (Text)

1:1
Fully supported

The 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.

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.

ServiceTracker logo

ServiceTracker gotchas

High

No native bulk data export API

Medium

Custom fields are not centrally documented

Medium

Offline mobile data must sync before migration window

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

  • Dynamics Option Set integer mapping requires explicit per-value translation

    ServiceTracker stores picklist values as human-readable strings (e.g., status = 'Open'). Dynamics 365 Sales stores the same values as integer option values within an Option Set. When migrating work order status, priority, or any other picklist field, the integer option values must be specified explicitly in the mapping table. If the integer values in Dynamics do not match the source strings, records land with the wrong status or default to the first option value. FlitStack AI generates the complete Option Set integer mapping table during the discovery phase and validates it against a test batch before the full migration runs.

  • ServiceTracker's custom fields require pre-creation in Dynamics before data loads

    Any ServiceTracker custom field added outside the standard schema — including billing contact fields, internal reference numbers, or service-type categories — has no pre-existing Dynamics column to receive the data. Dynamics requires that custom columns be created as schema extensions before records are imported; attempting to map to a non-existent field results in a silent skip. FlitStack AI inventories all ServiceTracker custom fields during discovery, generates a schema setup plan specifying the column name, data type, and option set configuration for each, and only proceeds with the data migration once Dynamics schema is confirmed ready.

  • Workflow automations in ServiceTracker do not migrate and cannot be exported in a transferable format

    ServiceTracker's workflow triggers, notification rules, field-update automations, and approval chains are platform-specific configurations that have no equivalent representation in Dynamics 365 Sales. Dynamics 365 Sales handles workflow automation through Power Automate, which operates on a different trigger-action model and requires separate licensing. FlitStack AI exports a structured reference document listing every ServiceTracker automation with its trigger conditions and actions so that a Power Automate specialist or Dynamics administrator can rebuild them in the target environment. This export is delivered before the data migration runs so rebuild planning can proceed in parallel.

  • Technician-to-work-order assignments with N:N relationships require junction record handling

    ServiceTracker allows a single work order to be assigned to multiple technicians (e.g., a primary technician plus a helper or specialist). Dynamics 365 Sales Incident (Case) has a single OwnerId field — one owner per case. If a ServiceTracker work order has more than one assigned technician, FlitStack AI maps the primary technician to OwnerId and preserves additional technician assignments in a custom junction entity or as multi-value text in a custom field. Without pre-planning this, secondary technician assignments are silently dropped during migration.

Migration approach

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

ServiceTracker logo

ServiceTracker

Source

Strengths

  • All-in-one FSM covering dispatch, work orders, mobile access, and inventory in a single cloud platform.
  • Drag-and-drop customization for custom fields, screens, and picklists without developer involvement.
  • Mobile apps with offline capability for field technicians in low-connectivity environments.
  • Excel and CSV bulk import tools built into the platform for onboarding and data loads.
  • Customer owns their data completely with no secondary storage or data retention lock-in.

Weaknesses

  • No documented public API or bulk export endpoint — migrations require CSV pulls from individual tables.
  • Limited automation and workflow customization compared to more developer-friendly FSM platforms.
  • Data export is restricted to Excel and CSV formats with no XML or JSON option.
  • Pricing and feature tier boundaries are not publicly documented, complicating migration planning.
  • No native Knowledge Base or document management — external systems are required for standard operating procedures.
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 ServiceTracker 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

    ServiceTracker: Inherits Salesforce platform API rate limits.

  • Data volume sensitivity

    A

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

Estimator

Estimate your ServiceTracker 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 ServiceTracker to Microsoft Dynamics 365 Sales data migrations

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

Can't find your answer?

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 consultation

Most ServiceTracker-to-Dynamics 365 Sales migrations complete in 48–72 hours for under 25,000 records. The discovery and schema setup phase adds 3–7 days depending on the number of custom fields and Option Set value mappings that need to be configured. Larger datasets with 250,000+ records, multiple custom objects, or organizations without pre-existing Dynamics 365 Field Service licensing extend to 5–7 days. Option Set integer mapping validation during the sample migration is the longest single step in the planning phase.

Adjacent paths

Related migrations to explore

Ready when you are

Move from ServiceTracker.
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