CRM migration
Field-level mapping, validation, and rollback between Service Autopilot and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Service Autopilot
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
11 of 12
objects map 1:1 between Service Autopilot and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Service Autopilot organizes field-service data around Clients, Properties, Jobs, and Schedules — a model built for dispatch-first operations with built-in invoicing and automations. Dynamics 365 Sales uses the Microsoft Dataverse schema: Account, Contact, Lead, and Opportunity are the core entities, with custom tables handling anything outside the standard CRM model. The two platforms share a record-based structure for people and organizations, but Service Autopilot's property-centric data model (service addresses, measurements, GPS coordinates) and its job/scheduling layer have no direct Dataverse equivalents — those require custom tables created in Dynamics before migration. We extract Service Autopilot data via their list-export and API tools, validate field-level completeness, create the custom tables and fields in your Dynamics 365 Sales environment, then load Accounts and Contacts first, followed by custom property and job tables with foreign-key resolution. Automations, sequences, routing rules, and payment-processing logic are not migratable — we document the source automation definitions for your Dynamics admin to rebuild in Power Automate or Dynamics workflows. A 24–48 hour delta pickup window captures any records modified during the cutover window, and one-click rollback is available if reconciliation finds issues.
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
Service Autopilot platform overview
Scorecard, SWOT, gotchas, and pricing for Service Autopilot.
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 Service Autopilot 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.
Service Autopilot
Client
Microsoft Dynamics 365 Sales
Contact
1:1Service Autopilot clients are person-level records with name, email, phone, address, and client-specific notes. They map 1:1 to Dynamics 365 Sales Contact records. Multiple phone numbers (home, mobile, work) on a client collapse to Phone and MobilePhone; extra numbers migrate as custom fields on Contact.
Service Autopilot
Client
Microsoft Dynamics 365 Sales
Lead
1:manyService Autopilot records that have Lead status in the source (unconverted prospects) route to Dynamics 365 Sales Lead. Active clients (those with at least one completed or scheduled job) route to Contact. The split is determined by job-history presence before migration.
Service Autopilot
Client Company
Microsoft Dynamics 365 Sales
Account
1:1Service Autopilot allows a client to be attached to a company name. That company name maps to Account.Name in Dynamics 365 Sales. When a client has no company, a default 'Individual Client' account is created so Contact.AccountId is never null.
Service Autopilot
Property
Microsoft Dynamics 365 Sales
Service_Property__c (custom table)
1:1Service Autopilot's Property entity stores the service-site address, GPS coordinates, property measurements, access notes, and photos. Dynamics 365 Sales has no native property entity. We create a Service_Property__c custom table with a lookup to Account. Photos migrate as file attachments on the property record.
Service Autopilot
Job
Microsoft Dynamics 365 Sales
Job__c (custom table) / Opportunity
1:1Jobs in Service Autopilot represent a scheduled service at a property, linked to a client and assigned employee. They map to a custom Job__c table linked to Service_Property__c and Contact. If the business uses deals to track revenue tied to jobs, Opportunity is used for that purpose with a custom lookup back to Job__c.
Service Autopilot
Invoice
Microsoft Dynamics 365 Sales
Invoice (Order) + custom fields
1:1Service Autopilot invoices carry the job reference, line items, totals, payment status, and payment method. In Dynamics 365 Sales, invoices are created from Order records. We create Invoice_Number__c, Payment_Status__c, and Original_Job_ID__c custom fields on the Order entity so the full billing context is preserved.
Service Autopilot
Employee
Microsoft Dynamics 365 Sales
SystemUser (User)
1:1Service Autopilot employees (field crews and office staff) map to Dynamics 365 Sales SystemUser records. Resolution happens by email match — the employee's email in Service Autopilot is matched to a User's email in Dynamics. Unmatched employees are flagged for the admin to provision or assign to a fallback user.
Service Autopilot
Service / Product
Microsoft Dynamics 365 Sales
Product
1:1Service Autopilot services (mowing, landscaping, cleaning) and products map directly to Dynamics 365 Sales Product2 records. Each service or product carries a unit price, cost, and service-duration field that translates cleanly to Dynamics Price List items. Bundle services, where multiple service types are packaged together, collapse to a Product Bundle entity in Dynamics to maintain pricing accuracy and simplify order management.
Service Autopilot
Schedule / Route
Microsoft Dynamics 365 Sales
Custom scheduling fields
1:1Service Autopilot's scheduled start/end times, assigned route, and employee assignment on a job are captured as custom fields on the Job__c table (Scheduled_Start__c, Route__c, Assigned_Employee__c). Dynamics 365 Sales has no native scheduling entity — these values are searchable but not visualized on a calendar without Field Service or a third-party scheduling app.
Service Autopilot
Automation / Sequence
Microsoft Dynamics 365 Sales
Power Automate / Dynamics Workflows
1:1Service Autopilot Automations (trigger → condition → email/SMS/task sequences) have no equivalent in Dynamics 365 Sales. We export the automation definitions as a reference document listing each sequence's trigger, conditions, and actions. Your Dynamics admin rebuilds them in Power Automate or Dynamics workflows.
Service Autopilot
Client Note
Microsoft Dynamics 365 Sales
Annotation (Note)
1:1Client notes in Service Autopilot migrate as Dynamics 365 Sales Annotations attached to the Contact record. The original create timestamp, last-modified date, and note author are all preserved in the annotation metadata. Rich-text formatting in notes is converted to plain text for full compatibility with Dataverse annotation storage, ensuring that no note content is lost or displays incorrectly in the target system.
Service Autopilot
Payment
Microsoft Dynamics 365 Sales
Custom payment fields on Order
1:1Payment transactions in Service Autopilot (amount, method, date, status) are stored as custom fields on the associated Order record (Last_Payment_Date__c, Payment_Method__c, Amount_Paid__c). Dynamics 365 Sales does not have a native payment sub-entity — payment history is preserved as audit fields rather than transactional records.
| Service Autopilot | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Client | Contact1:1 | Fully supported | |
| Client | Lead1:many | Fully supported | |
| Client Company | Account1:1 | Fully supported | |
| Property | Service_Property__c (custom table)1:1 | Fully supported | |
| Job | Job__c (custom table) / Opportunity1:1 | Fully supported | |
| Invoice | Invoice (Order) + custom fields1:1 | Fully supported | |
| Employee | SystemUser (User)1:1 | Fully supported | |
| Service / Product | Product1:1 | Fully supported | |
| Schedule / Route | Custom scheduling fields1:1 | Fully supported | |
| Automation / Sequence | Power Automate / Dynamics Workflows1:1 | Fully supported | |
| Client Note | Annotation (Note)1:1 | Fully supported | |
| Payment | Custom payment fields on Order1: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.
Service Autopilot gotchas
V2 to new platform transition is still in progress
Exports are gated by User Roles and Rights
Export only supports words, letters, and basic special characters
Automations (Sequences) have no bulk export path
Job Costing reports depend entirely on upstream data quality
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
Audit Service Autopilot data export and scope custom-table requirements
FlitStack extracts the full client list, property list, job history, invoice history, employee list, and service/product catalog from Service Autopilot via their list-export tool. We profile record counts, identify custom properties on each entity, and review lead-status distributions. This output drives the Dynamics 365 Sales schema plan: which custom tables are needed, how many custom fields per entity, and what value mappings apply to pick-list fields.
Create Dynamics 365 Sales schema: custom tables and fields
Before any data moves, FlitStack delivers a comprehensive schema setup plan naming each required custom table (Service_Property__c, Job__c), custom field (GPS_Latitude__c, Access_Notes__c, Payment_Status__c), and pick-list value set needed in Dynamics. Your Dynamics admin creates the schema in your target environment following the plan. We validate the completed schema matches the plan before the field-level diff runs — no data loads against an incomplete schema. This validation step prevents mapping failures during the actual migration run.
Resolve employees and owners by email match
Service Autopilot employees are matched to Dynamics 365 Sales SystemUser records by email address. Clients with a company name are matched or created as Account records. Property records are created next with a lookup to their parent Account. Jobs are created with lookups to the resolved Contact, Service_Property__c, and Assigned_User. Any employee or client that cannot be resolved by email is flagged in a pre-migration exception report so the admin can provision accounts or assign fallback owners before the migration run.
Run sample migration with field-level diff
A representative slice of records (typically 200–500) spanning clients, properties, jobs, and invoices migrates first. FlitStack generates a field-level diff comparing source values to destination field values, highlighting any mapping discrepancies, truncated text, missing lookups, or value-mapping gaps. You review the diff before the full run commits. This step catches custom-field name mismatches, pick-list value gaps, and lookup resolution failures before they affect the full dataset.
Execute full migration with delta-pickup window and rollback readiness
The full record set loads into Dynamics 365 Sales in dependency order: Accounts first, then Contacts and Leads, then Service_Property__c records, then Job__c records, then Orders with invoice fields. A 24–48 hour delta-pickup window runs in parallel, capturing any Service Autopilot records modified during the cutover (new jobs, updated client information, payment recordings). An audit log records every insert and update operation. If reconciliation finds missing records or data integrity issues, one-click rollback reverts the Dynamics environment to its pre-migration state.
Platform deep dives
Service Autopilot
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 Service Autopilot 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
Service Autopilot: Not applicable — no public API.
Data volume sensitivity
Service Autopilot doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Service Autopilot to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Service Autopilot 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 Service Autopilot
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.