CRM migration
Field-level mapping, validation, and rollback between Connect Field Service and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Connect Field Service
Source
Salesforce Sales Cloud
Destination
Compatibility
12 of 12
objects map 1:1 between Connect Field Service and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
24–48 hours
Overview
Connect Field Service (Microsoft Dynamics 365 Connected Field Service) is a field service management platform built around Work Orders, Service Appointments, Bookings, and a resource-and-territory scheduling model. Salesforce Sales Cloud is a CRM centered on Leads, Accounts, Contacts, Opportunities, and Cases. The two platforms share a relational object model — Accounts map to Connect Field Service's customer accounts, and Work Orders map to Salesforce Cases — but the FSM-specific layer (service territories, scheduling policies, work order line items, and asset hierarchies) requires custom field creation and a value-mapping pass for status and priority pick-list values. FlitStack AI extracts Connect Field Service data via the Dynamics 365 API, transforms Work Order and Service Appointment records into Salesforce Case and Task objects, and maps asset hierarchies into the Salesforce Asset object with ParentId chains intact. We preserve original Work Order create dates as a custom datetime field because Salesforce's CreatedDate reflects migration time. Connect Field Service resources resolve to Salesforce Users by email match; unmatched resources land under a designated fallback owner and are flagged for admin review. What does not migrate: Connect Field Service scheduling policies, FSM territory management, booking optimization rules, and any Power Automate workflows built inside Dynamics 365. Those require a separate rebuild project in Salesforce — we deliver an FSM configuration checklist as part of every migration so your admin knows exactly what to set up post-migration. Automation logic does not transfer between platforms because the underlying action models are incompatible.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Connect Field Service object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Connect Field Service
Account (Connect Field Service)
Salesforce Sales Cloud
Account
1:1Direct map. Connect Field Service customer accounts map to Salesforce Accounts by name, using case‑insensitive matching; duplicate account names are flagged for admin review. Address, phone, and industry fields map field‑by‑field, and any missing required fields trigger a pre‑load validation report. Parent‑child account hierarchies in Connect Field Service translate to Salesforce's ParentId chain, so the top‑level account must load before its child accounts to satisfy foreign‑key constraints.
Connect Field Service
Contact (Connect Field Service)
Salesforce Sales Cloud
Contact
1:1Direct map. Field technicians, dispatchers, and customer contacts migrate to Salesforce Contacts linked to their Account, using email address as the primary match key. Duplicate contacts with the same email are flagged for admin resolution, and any missing required fields (such as LastName or AccountId) generate a pre‑load validation report. Because each Contact requires an AccountId, the parent Account must be loaded first so foreign‑key references resolve correctly during the load.
Connect Field Service
Work Order
Salesforce Sales Cloud
Case
1:1Work Order maps to Salesforce Case as the primary service record. CFS-specific Work Order fields (priority, status, description, address) map to Case fields. FSM-specific fields — scheduling policy reference, service territory, and assigned resource — become custom fields on Case because Salesforce's standard Case object has no native territory or resource-assignment fields.
Connect Field Service
Work Order
Salesforce Sales Cloud
Opportunity
1:1Connect Field Service Work Orders with a revenue component do not map to Salesforce Opportunity without business logic — revenue-bearing work orders require your team to decide whether to create Opportunities from Work Order amounts or treat Case records as the service-of-record only.
Connect Field Service
Service Appointment
Salesforce Sales Cloud
Task
1:1Connect Field Service Service Appointments map to Salesforce Tasks. Scheduled Start and End times from CFS become custom datetime fields on the Task because Salesforce Tasks store a single DueDate field. Appointment status (Scheduled, In Progress, Completed) maps via value mapping to Salesforce Task Status.
Connect Field Service
Asset
Salesforce Sales Cloud
Asset
1:1Direct map. Connect Field Service assets (installed products at customer locations) map to Salesforce Asset using the asset name as a matching key. Parent‑child hierarchies translate to Salesforce Asset.ParentId links, so top‑level assets load first to generate IDs for children; missing ParentId triggers a validation error. AccountId on each Asset links to customer's Salesforce Account, and assets without a matching Account are flagged for admin review before the load.
Connect Field Service
Work Order Product (Line Item)
Salesforce Sales Cloud
OpportunityLineItem
1:1Work Order Line Items map to OpportunityLineItems when the Work Order has a revenue or product component. Requires a Salesforce Pricebook2 to be active before line items can load — PricebookEntryId is mandatory on every OpportunityLineItem. Quantity and UnitPrice from CFS map directly; product lookup resolves via product name match.
Connect Field Service
Bookings (Resource Scheduling)
Salesforce Sales Cloud
Custom Field on Case
1:1Connect Field Service Bookings record which technician is assigned to which work order at which time. Salesforce Sales Cloud has no native booking object — this data migrates as custom fields on the Case (Assigned_Technician__c, Booking_Start__c, Booking_End__c). Scheduling visualization requires Salesforce Field Service add-on or a third-party app.
Connect Field Service
Service Territory
Salesforce Sales Cloud
Custom Field on Case + Salesforce Territory (if enabled)
1:1Connect Field Service service territories define geographic dispatch zones. Salesforce Sales Cloud standard does not include Territory management — territory names migrate as a custom pick-list on Case (Service_Territory__c). Full territory-based routing requires Salesforce Territory Management or Field Service add-on.
Connect Field Service
Resource / Technician
Salesforce Sales Cloud
User
1:1Connect Field Service Resources (technicians and dispatchers) resolve to Salesforce Users by email match. CFS Resources without a matching Salesforce User email are assigned to a designated fallback User and flagged. Salesforce User records must exist before Work Orders and Bookings can link to OwnerId.
Connect Field Service
Custom Field on Work Order
Salesforce Sales Cloud
Custom Field on Case (__c)
1:1Any Connect Field Service custom properties on Work Order require a corresponding custom field on Salesforce Case. We generate a custom field creation plan before the migration run so Salesforce-side schema is ready for validation. Custom pick-list fields on CFS need value-by-value mapping to Salesforce pick-list options.
Connect Field Service
Agreement / Contract
Salesforce Sales Cloud
Contract
1:1Connect Field Service service agreements and SLAs map to Salesforce Contract linked to the Account, using the agreement name as the match key. Contract start and end dates, status, and description migrate directly; any missing fields (such as Contract Type or ActivationDate) are flagged before the load. CFS agreement line items translate to Salesforce Contract Line Items, each requiring a ContractId and a valid Product2 record to pass validation.
| Connect Field Service | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Account (Connect Field Service) | Account1:1 | Fully supported | |
| Contact (Connect Field Service) | Contact1:1 | Fully supported | |
| Work Order | Case1:1 | Fully supported | |
| Work Order | Opportunity1:1 | Fully supported | |
| Service Appointment | Task1:1 | Fully supported | |
| Asset | Asset1:1 | Fully supported | |
| Work Order Product (Line Item) | OpportunityLineItem1:1 | Fully supported | |
| Bookings (Resource Scheduling) | Custom Field on Case1:1 | Fully supported | |
| Service Territory | Custom Field on Case + Salesforce Territory (if enabled)1:1 | Fully supported | |
| Resource / Technician | User1:1 | Fully supported | |
| Custom Field on Work Order | Custom Field on Case (__c)1:1 | Fully supported | |
| Agreement / Contract | Contract1: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.
Connect Field Service gotchas
Per-seat licensing applies to dispatchers, technicians, and often read-only users
Custom fields and non-standard objects require explicit mapping before migration
Offline sync state is not persistently exported via standard API
Scheduling optimization rules and territory logic do not transfer between platforms
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Extract Connect Field Service data via Dynamics 365 API
FlitStack AI connects to your Connect Field Service instance using the Dynamics 365 Web API with read-only permissions. We extract Accounts, Contacts, Work Orders, Service Appointments, Assets, Work Order Products, Resources, and any custom entities. A pre-extraction data audit profiles record counts, identifies missing required fields, and surfaces duplicate Account records before transformation begins. API extraction uses pagination and rate-limit handling to avoid throttling your Dynamics 365 environment.
Build Salesforce schema: custom fields and pick-list alignment
Before data loads, FlitStack AI generates a Salesforce custom field creation plan covering every CFS field that has no direct Salesforce equivalent — Service_Territory__c, Work_Order_Type__c, Scheduling_Policy__c, Original_Create_Date__c, and Source_System_ID__c on Case, and Appointment_Start__c and Appointment_End__c on Task. Your Salesforce admin creates these fields using the provided API names and field types. We also deliver a value-mapping spreadsheet aligning CFS Work Order status and priority pick-list values to your Salesforce Case pick-list values so the load does not hit validation errors.
Resolve Connect Field Service Resources to Salesforce Users
FlitStack AI runs an email-match pass against your Salesforce User list for every CFS Resource record. Matched Resources link Work Orders to OwnerId on the Case record. Unmatched Resources are flagged in a pre-migration report with the CFS Resource name, email, and role. Your team either creates Salesforce User accounts for those technicians or designates a fallback User owner. No Work Order loads with an unresolved owner — Salesforce requires OwnerId to be a valid User ID.
Run sample migration with field-level diff
A representative slice — typically 100–500 records spanning Accounts, Contacts, Work Orders, Service Appointments, and Assets — migrates to a Salesforce sandbox first. FlitStack AI generates a field-level diff comparing source values against destination values so your team can verify that CFS status and priority pick-list values landed in the correct Salesforce pick-list options, that Asset.ParentId chains resolved correctly, and that Resource-to-User resolution covered the active technician roster. Approval of the sample diff triggers the full migration run.
Full migration run with delta-pickup window
The full data set loads into Salesforce with records sequenced to satisfy foreign key dependencies: Accounts → Contacts → Assets (top-down for hierarchy) → Work Orders → Service Appointments. A delta-pickup window of 24–48 hours captures any Connect Field Service records modified or created during the cutover window so Salesforce reflects the final CFS state at go-live. FlitStack AI generates an audit log of every record created or updated. One-click rollback reverts all migrated records if post-migration reconciliation reveals data integrity issues.
Platform deep dives
Connect Field Service
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Connect Field Service and Salesforce Sales Cloud.
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
Connect Field Service: 100 API calls per minute per org for standard REST API; bulk API available for larger data volumes.
Data volume sensitivity
Connect Field Service 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 Connect Field Service to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Connect Field Service to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Connect Field Service
Other ways to arrive at Salesforce Sales Cloud
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.