Helpdesk migration
Field-level mapping, validation, and rollback between Service and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Service
Source
Salesforce Service Cloud
Destination
Compatibility
15 of 15
objects map 1:1 between Service and Salesforce Service Cloud.
Complexity
BStandard
Timeline
72–96 hours
Overview
Service and Salesforce Service Cloud take fundamentally different approaches to case management. Service typically stores tickets in a flat, single-object model with limited custom field extensibility, while Salesforce Service Cloud uses a rich object graph built around Case, Contact, Account, Asset, Entitlement, and custom objects with RecordType-based page layouts. FlitStack AI reads Service's API-exported data model, maps it to Salesforce's standard and custom objects, transforms pick-list values per record type, and handles the complex foreign-key chain (AccountId, ContactId, ContractId, AssetId) that Salesforce requires before cases can link to entitlements and assets. We surface the objects that cannot migrate automatically — workflows, assignment rules, SLA definitions, and macros — as rebuild-ready exports so your Salesforce admin knows exactly what to recreate in Flow, Omni-Channel, and Entitlement Processes. The migration runs via Salesforce Bulk API with API-drip sequencing to stay within your org's daily limit. Data validation runs before migration commits — duplicate detection, referential integrity checks, and field-level audits ensure the Salesforce org reflects Service's source of truth.
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 platform overview
Scorecard, SWOT, gotchas, and pricing for Service.
Destination platform
Salesforce Service Cloud platform overview
Scorecard, SWOT, gotchas, and pricing for Salesforce Service Cloud.
Data migration guide
The complete Salesforce Service Cloud migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Salesforce Service Cloud migration checklist
Pre- and post-cutover tasks for moving onto Salesforce Service Cloud.
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 object lands in Salesforce Service Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Service
Ticket / Case
Salesforce Service Cloud
Case
1:1The core ticket object maps directly to Salesforce Case. The CaseNumber in Salesforce is auto-generated; the original Service ticket ID is stored as Source_System_Ticket_ID__c for traceability. Priority, status, and origin pick-list values are mapped value-by-value against the target org's active Case Status and Case Origin pick-lists.
Service
Customer Contact
Salesforce Service Cloud
Contact
1:1Service customer records map to Salesforce Contact. Salesforce requires a Contact to have an AccountId — contacts without a primary company are attached to a default 'Unassigned Account' or resolved by domain-matching to an existing Account. Email is the deduplication key.
Service
Company / Organization
Salesforce Service Cloud
Account
1:1Service company or organization records map to Salesforce Account. Parent-company hierarchies in Service map to Account.ParentId, preserving organizational structures across both platforms. Annual revenue, employee count, and standard address fields map directly. Industry pick-list values require value-mapping against Salesforce's standard Industry pick-list; any Service-specific industry values must be added to the target org's pick-list before migration.
Service
Agent / Assigned Agent
Salesforce Service Cloud
User (Case.OwnerId)
1:1Service agent IDs are resolved by email match against Salesforce User records. OwnerId on Case accepts both UserId (individual owner) and QueueId (team queue). Unmatched agents are flagged before migration and assigned to a fallback owner or pre-created as Salesforce Users. Queues must exist in Salesforce before they can receive Case.OwnerId assignments.
Service
Ticket Comment / Thread Entry
Salesforce Service Cloud
EmailMessage + CaseComment
1:1Service comment entries become Salesforce EmailMessage records for inbound/outbound messages or CaseComment records for internal notes. Original timestamp, body, and author are preserved. HTML-formatted comments are sanitized to Salesforce's rich-text EmailMessage.Body field. Each message gets its own record so thread chronology is intact.
Service
Service Level Agreement / SLA Field
Salesforce Service Cloud
Entitlement + MilestoneType
1:1Service's SLA duration fields (time-to-first-response, resolution-time) have no direct Salesforce equivalent — they map to Entitlement and MilestoneType objects. Each Entitlement record links to a Contract and defines milestone types with business-hours calendars. FlitStack creates Entitlement records with milestone history preserved as custom datetime fields (Original_FirstResponse__c, Original_Resolution__c) for reporting continuity.
Service
Product / Asset
Salesforce Service Cloud
Product2 + Asset
1:1Service product records map to Salesforce Product2. If Service links products to tickets as installed assets, those become Salesforce Asset records linked to the Account and Product2. Serial number, status, and install date fields map directly. Asset must exist before the Case can reference it via AssetId.
Service
Custom Field / Extended Property
Salesforce Service Cloud
Custom Field (__c) on Case/Contact/Account
1:1Service custom fields are created as Salesforce custom fields on the corresponding object. Salesforce API names get the __c suffix. Pick-list custom fields require value-by-value mapping against the target pick-list. Multi-select pick-lists in Service map to Salesforce multi-select pick-lists. If the target org does not yet have the custom field, FlitStack creates it via API before writing data.
Service
Attachment / File
Salesforce Service Cloud
ContentVersion + ContentDocumentLink
1:1Service file attachments are downloaded and re-uploaded as Salesforce Files (ContentVersion / ContentDocument). Each file is linked to the Case via ContentDocumentLink. File size limit in Salesforce is 25MB per file; larger files are flagged for manual handling. Inline images embedded in comments are extracted and rehosted as Salesforce Files.
Service
Tag / Label / Category
Salesforce Service Cloud
Custom Pick-list or Multi-select on Case
1:1Service tags or category labels used for ticket classification have no native Salesforce equivalent beyond standard Case Type and Reason pick-lists. We migrate them as a custom multi-select pick-list (Ticket_Categories__c) for reference and reporting. Your admin can expand this into a formal taxonomy using Case Type hierarchy.
Service
Workflow / Assignment Rule
Salesforce Service Cloud
Flow / Omni-Channel Routing Rule (not migrated — rebuilt)
1:1Service workflows and auto-assignment rules are business logic that live in the source platform's execution engine. They are not exportable as data. FlitStack extracts rule definitions as JSON exports and documents the rebuild steps in Flow Builder and Omni-Channel Routing so your admin can reconstruct the logic in Salesforce.
Service
SLA Definition / Business Hours
Salesforce Service Cloud
BusinessHours + Entitlement Process
1:1Service SLA definitions map to Salesforce BusinessHours records and Entitlement Processes. The Entitlement Process defines which milestones apply to which cases based on Entitlement name or Account. Business hours (timezone, working-hours schedule) must exist in Salesforce before the Entitlement Process can reference them.
Service
Macros / Templates
Salesforce Service Cloud
Salesforce Quick Actions or Flow (not migrated — rebuilt)
1:1Service macros and email templates are not data objects and cannot be migrated as records. FlitStack exports macro body text and template content as structured JSON. Salesforce Quick Actions, Flow email actions, or Salesforce Knowledge article templates are the destination equivalents — rebuilding them is a post-migration step.
Service
Report / Dashboard
Salesforce Service Cloud
Report / Dashboard (not migrated — rebuilt)
1:1Report and dashboard definitions live in the application layer, not in data. Salesforce reports reference object IDs that change post-migration. FlitStack documents the source report metrics and filter logic so your admin can rebuild them in Salesforce Report Builder pointing at the migrated Case object.
Service
Time Entry / Billable Hours
Salesforce Service Cloud
Custom Field on Case or Custom Object
1:1If Service tracks billable time entries per ticket, those map to a custom field (Billable_Hours__c) on Case or a custom TimeEntry__c object linked via lookup. Whether billable time is a single aggregate field or a line-item table depends on your reporting needs — FlitStack surfaces this choice in the mapping plan.
| Service | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Ticket / Case | Case1:1 | Fully supported | |
| Customer Contact | Contact1:1 | Fully supported | |
| Company / Organization | Account1:1 | Fully supported | |
| Agent / Assigned Agent | User (Case.OwnerId)1:1 | Fully supported | |
| Ticket Comment / Thread Entry | EmailMessage + CaseComment1:1 | Fully supported | |
| Service Level Agreement / SLA Field | Entitlement + MilestoneType1:1 | Fully supported | |
| Product / Asset | Product2 + Asset1:1 | Fully supported | |
| Custom Field / Extended Property | Custom Field (__c) on Case/Contact/Account1:1 | Fully supported | |
| Attachment / File | ContentVersion + ContentDocumentLink1:1 | Fully supported | |
| Tag / Label / Category | Custom Pick-list or Multi-select on Case1:1 | Fully supported | |
| Workflow / Assignment Rule | Flow / Omni-Channel Routing Rule (not migrated — rebuilt)1:1 | Fully supported | |
| SLA Definition / Business Hours | BusinessHours + Entitlement Process1:1 | Fully supported | |
| Macros / Templates | Salesforce Quick Actions or Flow (not migrated — rebuilt)1:1 | Fully supported | |
| Report / Dashboard | Report / Dashboard (not migrated — rebuilt)1:1 | Fully supported | |
| Time Entry / Billable Hours | Custom Field on Case or Custom Object1: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 gotchas
Performance slowness in UI and load times is a documented issue
Salesforce Service Cloud gotchas
Data Export 512MB file size cap breaks large org exports
API Daily Request Limits vary by license edition
No automatic data backup in base Salesforce
Picklist dependencies silently break records when unmapped
Workflow rules fire unexpectedly during data load
Pair-specific challenges
Migration approach
Enumerate Service data model and create Salesforce custom fields
FlitStack reads Service's API schema and exports the full object and field inventory. For each Service custom field, we create the corresponding Salesforce __c custom field (with correct data type, pick-list values, and field-level security) before any data moves. We also create Salesforce Queues for any team-based routing in Service, and create Entitlement Process and BusinessHours records if Service SLA data needs to map to Salesforce milestones. This step produces a pre-migration schema plan reviewed by your Salesforce admin before FlitStack commits any changes.
Resolve agents and customers to Salesforce User and Contact records
Migrating cases without resolved owners creates orphaned records. FlitStack reads Service agent and customer email addresses, matches them against Salesforce User and Contact records by email, and flags any unmatched records. Your team pre-invites unmatched agents to Salesforce or designates a fallback owner. Unmatched customers are linked to a default 'Unassigned Account' or resolved by domain-matching to an existing Account. This step runs before any Case migration so every case has a valid OwnerId and ContactId at write time.
Migrate Accounts, Contacts, and Assets in sequence
Salesforce foreign-key constraints require Account records before Contact records, and Asset records before Case records that link to them. FlitStack runs the migration in three ordered passes: (1) Accounts with ParentId resolved, (2) Contacts with AccountId linked, (3) Assets with AccountId and Product2 resolved. Each pass generates a de-duplication report using Source_System_ID__c to prevent duplicate accounts or contacts from re-migrating on a delta run. All three passes use Salesforce Bulk API 2.0 with batch sizes tuned to stay within the org's daily API limit.
Run sample migration with field-level diff before full migration
A representative slice — typically 100–500 records spanning cases of different priorities, origins, and with attachments — migrates first. FlitStack generates a field-level diff showing source value, mapped value, and destination field for every mapped column. Your team verifies SLA field mapping, attachment re-upload, Entitlement linking, and owner resolution before the full run commits. Any value-mapping errors or pick-list mismatches are corrected in the mapping plan and the sample re-runs until the diff is clean.
Execute full migration with delta-pickup window and audit log
The full case migration runs against Salesforce using Bulk API 2.0. A delta-pickup window — typically 24–48 hours — is opened at the time of migration start. Any Service records created or modified during the migration window are captured in a second pass and merged into Salesforce before go-live. Every operation is logged to an audit trail (object, record ID, before/after state, operator). If reconciliation fails or the delta pass reveals data quality issues, FlitStack rolls back the migration with one click and surfaces the specific record set causing the failure for correction.
Deliver rebuild packages for workflows, SLA definitions, and reports
After data migration completes, FlitStack delivers three packages: (1) Workflow/Rule Export — JSON definitions of Service assignment rules, macros, and trigger logic for Flow Builder rebuild; (2) Entitlement Package — Salesforce Entitlement Process and BusinessHours configuration as a Change Set or ANT deployment package; (3) Report Spec — documented metrics, filters, and grouping logic from Service reports for Salesforce Report Builder rebuild. These packages are not installed automatically — they are handoff artifacts for your Salesforce admin to review and deploy in the post-migration stabilization window.
Platform deep dives
Service
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Service and Salesforce Service Cloud.
Object compatibility
1 of 7 objects need a manual workaround.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Service: Configurable per-instance rate limits. ServiceNow enforces a default inbound transaction quota and inbound API rate limits that admins can tune by user, IP, or system property. HTTP 429 responses signal throttling..
Data volume sensitivity
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 Service to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Service to Salesforce Service 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 Service
Other ways to arrive at Salesforce Service Cloud
Same-Helpdesk migrations
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.