CRM migration
Field-level mapping, validation, and rollback between Salesforce Field Service and HighLevel. We move data and schema; workflows are rebuilt natively in HighLevel.
Salesforce Field Service
Source
HighLevel
Destination
Compatibility
15 of 15
objects map 1:1 between Salesforce Field Service and HighLevel.
Complexity
BStandard
Timeline
48–72 hours
Overview
Salesforce Field Service organizes field operations around a multi-object model: Work Orders track the job, Service Appointments represent scheduled visits, and Resources with Skills handle technician assignment. Scheduling Policies and Optimization Requests drive the dispatch engine. HighLevel takes a flatter approach — Opportunities carry deal and project data, Tasks handle appointments and follow-ups, and tags or custom fields replace Skills and Entitlements. There is no native Scheduling Policy or optimization engine in HighLevel; those workflows must be rebuilt using HighLevel's Workflow Builder after migration. FlitStack AI extracts all Field Service objects via the Salesforce API (WorkOrder, ServiceAppointment, Skill, Asset, Entitlement, WorkOrderLineItem) and maps them to their HighLevel equivalents — preserving original timestamps, owner assignments, and cross-object relationships. Custom Field Service objects migrate to HighLevel custom objects via the HighLevel Custom Objects API. The migration does not carry over Salesforce Flow, Process Builder, or Field Service dispatching rules — those are destination-side automation constructs that require manual rebuild. Sample migration with field-level diff runs first so your team verifies Work Order → Opportunity mapping and Service Appointment → Task linking before the full cutover commits.
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 Salesforce Field Service object lands in HighLevel, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Salesforce Field Service
WorkOrder
HighLevel
Opportunity
1:1Salesforce Work Orders map to HighLevel Opportunities. The Work Order subject/name becomes the Opportunity name. Status maps to a custom Opportunity stage pick-list (New, In Progress, On Hold, Completed, Cancelled). Amount and expected revenue transfer to the Opportunity amount field.
Salesforce Field Service
ServiceAppointment
HighLevel
Task
1:1Service Appointments map to HighLevel Tasks linked to the corresponding Work-Order-as-Opportunity. The appointment subject becomes the task name, scheduled date maps to due date, and actual duration in minutes is stored as a custom number field. Original Service Appointment ID is preserved as a reference field for traceability.
Salesforce Field Service
WorkOrderLineItem
HighLevel
Custom Field / Opportunity Product
1:1Work Order Line Items representing parts or sub-tasks become custom fields on the HighLevel Opportunity, capturing line-item description, quantity, and unit price. If HighLevel's Products feature is enabled, line items map as opportunity products with name, quantity, and price, allowing revenue calculations and inventory tracking to be preserved within the migrated records.
Salesforce Field Service
Asset
HighLevel
Custom Field on Contact/Company
1:1Assets in Salesforce (installed products, equipment) have no direct HighLevel equivalent. Asset name, product reference, serial number, and install date migrate as custom fields on the related HighLevel Contact or Company record. Status (Active, Shipped, Retired) maps to a custom pick-list field.
Salesforce Field Service
Skill
HighLevel
Tag / Custom Field
1:1Salesforce Skill records (Electrical, HVAC, Plumbing) become HighLevel tags on the Contact/User record. Skill proficiency levels (1–5) map to a custom numeric field on the contact. Skill requirements from Service Appointments are preserved as tags on the linked task for technician matching reference.
Salesforce Field Service
SkillRequirement
HighLevel
Custom Field on Task
1:1Skill Requirements linking Service Appointments to required Skills migrate as a custom multi-select pick-list field on the HighLevel Task, listing the required skill names. This preserves which skills a job requires without a native requirement object. The multi-select format allows multiple required skills to be tracked on a single task for technician assignment and job qualification purposes.
Salesforce Field Service
Entitlement
HighLevel
Custom Field on Contact/Company
1:1Entitlements define service terms and covered SLAs per customer. Entitlement name, status (Active, Expired), start date, and end date migrate as custom fields on the HighLevel Contact or Company. The covered assets relationship is noted as a text reference field.
Salesforce Field Service
ServiceContract
HighLevel
Custom Field / Document Reference
1:1Service Contracts with contract line items and covered products have no HighLevel equivalent. Contract terms (annual value, renewal date) migrate as custom fields on the Company record. We recommend storing contract documents in HighLevel's file storage and linking via a custom URL field.
Salesforce Field Service
Resource (User/Contact)
HighLevel
Contact / User
1:1Salesforce field technicians and dispatchers (FSL Resources) map to HighLevel Users or Contacts depending on whether they are internal staff or external contractors. Email-based owner matching links the Resource's email to the HighLevel user account. This ensures that task assignments and opportunity ownership reflect the correct personnel after migration.
Salesforce Field Service
SchedulingPolicy
HighLevel
Manual Configuration (Workflow)
1:1Salesforce Scheduling Policies with work rules and priority objectives have no HighLevel equivalent. FlitStack exports the policy configuration as a reference document for rebuilding in HighLevel's Workflow Builder and Calendar settings. Scheduling logic must be manually rebuilt post-migration. This includes any travel time assumptions, break buffers, or skill-based routing rules originally configured in Salesforce.
Salesforce Field Service
OptimizationRequest
HighLevel
Manual Configuration
1:1Optimization requests and their results, including route efficiency metrics and travel time savings calculations, are Salesforce-specific constructs with no HighLevel equivalent. These records are exported as a reference CSV for your operations team to review and manually incorporate into HighLevel workflows where applicable. The optimization logic itself cannot be directly migrated and requires manual process design.
Salesforce Field Service
WorkOrder (custom fields)
HighLevel
Custom Field on Opportunity
1:1Custom fields on Work Order objects (e.g., job type, priority, PO number) are read from the Salesforce API and recreated as custom fields on the HighLevel Opportunity. Field types are preserved: text stays text, pick-lists become pick-lists, dates stay dates.
Salesforce Field Service
AppointmentBooking
HighLevel
Calendar Event / Task
1:1Appointment Booking records capturing customer-confirmed service slots map to HighLevel Calendar events linked to the contact. Booking reference numbers are stored in a custom text field for cross-reference with the original Salesforce record. This preserves the appointment confirmation workflow while transitioning to HighLevel's native calendar functionality.
Salesforce Field Service
Account (for Field Service)
HighLevel
Company
1:1Customer Accounts in Salesforce Field Service map directly to HighLevel Companies. Company name, address, industry classification, and phone number transfer field-for-field. Parent-child Account hierarchies present in Salesforce map to HighLevel Company hierarchies where supported, preserving organizational structure across the migration.
Salesforce Field Service
Contact (for Field Service)
HighLevel
Contact
1:1Customer and technician Contacts migrate directly to HighLevel. Names, email addresses, phone numbers, titles, and mailing addresses map field-for-field between systems. Contacts associated with multiple Accounts in Salesforce are linked to the primary Company in HighLevel, with secondary associations preserved as tags on the contact record.
| Salesforce Field Service | HighLevel | Compatibility | |
|---|---|---|---|
| WorkOrder | Opportunity1:1 | Fully supported | |
| ServiceAppointment | Task1:1 | Fully supported | |
| WorkOrderLineItem | Custom Field / Opportunity Product1:1 | Fully supported | |
| Asset | Custom Field on Contact/Company1:1 | Fully supported | |
| Skill | Tag / Custom Field1:1 | Fully supported | |
| SkillRequirement | Custom Field on Task1:1 | Fully supported | |
| Entitlement | Custom Field on Contact/Company1:1 | Fully supported | |
| ServiceContract | Custom Field / Document Reference1:1 | Fully supported | |
| Resource (User/Contact) | Contact / User1:1 | Fully supported | |
| SchedulingPolicy | Manual Configuration (Workflow)1:1 | Fully supported | |
| OptimizationRequest | Manual Configuration1:1 | Fully supported | |
| WorkOrder (custom fields) | Custom Field on Opportunity1:1 | Fully supported | |
| AppointmentBooking | Calendar Event / Task1:1 | Fully supported | |
| Account (for Field Service) | Company1:1 | Fully supported | |
| Contact (for Field Service) | Contact1: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.
Salesforce Field Service gotchas
250-record batch limit for Enhanced Scheduling optimization
Process Builder workflows do not migrate—must be rebuilt in Flow Builder
API rate limits vary by edition and are easy to exhaust during bulk migration
Storage overages at $125/GB inflate migration data costs
Custom fields and lookups require explicit field-level mapping
HighLevel gotchas
Sub-account architecture creates isolated data silos per client
Usage-based telecom and AI costs are not in the subscription price
Workflows have no native equivalent in most destination CRMs
API rate limits cap bulk migration throughput at 100 requests per 10 seconds per sub-account
White-label configuration and branding assets do not export via API
Pair-specific challenges
Migration approach
Extract Salesforce Field Service objects via API
FlitStack AI authenticates against your Salesforce org using OAuth and extracts all Field Service objects in scope: WorkOrder, ServiceAppointment, WorkOrderLineItem, Asset, Skill, SkillRequirement, Entitlement, ServiceContract, and any custom Field Service objects. Data is pulled via the Salesforce REST API respecting API governor limits. We extract parent-child relationships (WorkOrder → ServiceAppointment → SkillRequirement) as a joined dataset so relationship integrity is preserved during the transformation step. All records include CreatedDate, LastModifiedDate, and owner email for downstream resolution.
Set up HighLevel custom fields and pipeline stages
Before data loads, FlitStack creates the custom fields on HighLevel Opportunities and Tasks needed to hold Field Service metadata: service status pick-list, priority pick-list, work order number reference, appointment duration, GPS coordinates, SLA type, service territory, and technician skill tags. Pipeline stages in HighLevel are configured to map to Work Order status values (New, In Progress, On Hold, Completed, Cancelled). Custom field creation is done via the HighLevel API with a manifest so the schema is documented and reproducible.
Resolve owners and technicians by email match
Salesforce Resources (technicians and dispatchers) are matched to HighLevel Users by email address. Unmatched Resources are flagged before migration — your team either creates the HighLevel user account first or assigns their records to a fallback user. This step ensures every migrated Task has an assigned owner and every Opportunity has a primary contact before the full load runs. Owner resolution also validates that the matched HighLevel User account has appropriate access permissions for managing the migrated service records.
Run sample migration with field-level diff
A representative slice of 100–300 records migrates first — spanning Work Orders across different statuses, Service Appointments with varying durations, Assets, and Skills. FlitStack generates a field-level diff comparing source Salesforce values against the destination HighLevel record values, so you can verify that custom status pick-lists, date fields, skill tags, and opportunity amounts map correctly. The sample diff is reviewed by your team before the full run is authorized.
Execute full migration with delta-pickup window
The full dataset migrates to HighLevel Opportunities and Tasks. A delta-pickup window (24–48 hours) runs concurrently, capturing any Work Orders, Service Appointments, or Asset updates made in Salesforce during the cutover. FlitStack maintains an audit log of every record created or updated in HighLevel. One-click rollback reverts all operations if reconciliation fails. After rollback window closes, your team transitions field operations to HighLevel while the Salesforce org is decommissioned.
Platform deep dives
Salesforce Field Service
Source
Strengths
Weaknesses
HighLevel
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 Salesforce Field Service and HighLevel.
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
Salesforce Field Service: Per-org daily API limit starts at 100,000 requests / 24 hours for Enterprise Edition and scales with licenses purchased. Additional API calls can be purchased in 200-10,000 increments. Bulk API and Bulk API 2.0 share an allocation of 15,000 batch submissions per 24 hours. HTTP 429 returned when rate-limited..
Data volume sensitivity
Salesforce 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 Salesforce Field Service to HighLevel migration scoping. Not seeing yours? Book a call.
Walk through your Salesforce Field Service to HighLevel migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Salesforce Field Service
Other ways to arrive at HighLevel
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.