Helpdesk migration
Field-level mapping, validation, and rollback between OneDesk and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
OneDesk
Source
Salesforce Service Cloud
Destination
Compatibility
8 of 12
objects map 1:1 between OneDesk and Salesforce Service Cloud.
Complexity
CModerate
Timeline
4-8 weeks
Overview
Moving from OneDesk to Salesforce Service Cloud is a schema reconciliation as much as a data transfer. OneDesk uses a unified Item object where Tickets (customer-facing) and Tasks (internal work) share the same record type and custom field layer. Salesforce separates customer cases (Case object) from internal work (Task or a custom object), and does not natively support OneDesk's shared custom field pattern. We extract the full active custom field schema during scoping, map shared fields to Salesforce typed fields (text, picklist, number, date) per ticket type, and flag picklist value discrepancies between OneDesk and Salesforce before import. We preserve the full conversation thread on Tickets as Salesforce EmailMessage and CaseComment records, migrate Knowledge Base Articles to Salesforce Knowledge with category mapping, and reconcile billable OneDesk Users against Salesforce Service Cloud Agent licenses. Workflow automations export as an inventory document for the customer's admin to rebuild in Flow; we do not migrate automation logic as code.
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
OneDesk platform overview
Scorecard, SWOT, gotchas, and pricing for OneDesk.
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 OneDesk 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.
OneDesk
Ticket
Salesforce Service Cloud
Case
1:1OneDesk Tickets map to Salesforce Case as the primary customer-facing record. Subject, description, status, priority, and assignee migrate directly. We resolve the assignee by mapping the OneDesk User email to the Salesforce User ID before insert. The original ticket ID is preserved in a custom field onedesk_id__c for reconciliation. OneDesk SLA timer fields migrate to Salesforce Case milestones if the customer has Entitlement Management enabled; otherwise they become custom date fields on Case.
OneDesk
Task
Salesforce Service Cloud
Case or Task (scope decision required)
lossyOneDesk Tasks (internal work Items) have no direct Salesforce standard equivalent because Salesforce separates customer-facing cases from internal to-do items. During scoping we confirm whether Tasks represent internal follow-up (mapped to Salesforce Task) or customer-affecting work (mapped to Case with a custom internal-external flag). If Tasks have billable time entries attached, we recommend a custom Case-based object to preserve time tracking in Salesforce. The decision is documented and confirmed with the customer before schema build.
OneDesk
Project
Salesforce Service Cloud
Account or Custom Object
lossyOneDesk Projects serve as container objects grouping related Tickets and Tasks. We assess during scoping whether the Projects represent external customer organizations (mapped to Salesforce Account) or internal work containers (mapped to a custom Project object with a lookup to Account). Projects with associated members and child Items are linked to their parent via WhatId on the migrated Case or via a custom parent-project lookup.
OneDesk
Customer
Salesforce Service Cloud
Contact
1:1OneDesk Customers are external contacts and map directly to Salesforce Contact. Name, email, phone, company, and address details migrate directly. Custom properties on Customer records require field-level mapping because the destination Contact object may not have matching standard fields; we extend Contact with custom fields where needed before import. Email deduplication uses the standard Salesforce duplicate rule on Email field.
OneDesk
User
Salesforce Service Cloud
User
1:1OneDesk Users are billable agent accounts. We extract every User referenced on Tickets, Tasks, or time entries and match by email against the Salesforce destination org's User table. This step is migration-blocking because OwnerId references on Case require a valid Salesforce User. Users without a matching Salesforce User go to a reconciliation queue for the customer's admin to provision. Permission sets and admin flags from OneDesk map to Salesforce Profiles and Permission Sets, though manual review is required because permission models differ substantially.
OneDesk
Custom Fields
Salesforce Service Cloud
Custom Fields
lossyOneDesk custom fields are shared across all Item types, which is structurally different from Salesforce where fields are added per object. We extract the complete active custom field schema during scoping (field name, type, picklist values, conditional visibility rules) and map each to a Salesforce custom field on the appropriate object (Case, Task, or Contact). Multi-select picklists in OneDesk map to Salesforce multi-select picklists with comma-separated values. Any picklist values that do not exist in the destination Salesforce org are flagged for the admin to create before import.
OneDesk
Conversations
Salesforce Service Cloud
EmailMessage + CaseComment
1:1Conversation messages on OneDesk Tickets include author, timestamp, message body, and an internal/external flag. External messages migrate to Salesforce EmailMessage records linked to the Case via ParentId. Internal notes migrate to CaseComment records. Author references are resolved to the migrated Salesforce User or Contact ID. We preserve chronological ordering by setting the EmailMessage CreatedDate to the original OneDesk timestamp. Attachments within conversation threads migrate as ContentDocument records linked to the parent EmailMessage or CaseComment.
OneDesk
Knowledge Base Articles
Salesforce Service Cloud
Knowledge Article
1:1OneDesk KB Articles export with title, body content, category assignments, and publish status. We map articles to Salesforce Knowledge using the Article Type configured in the destination org, and map OneDesk category assignments to Salesforce Data Category Groups and Categories. Published status migrates to the article's Workflow State. Draft and archived articles migrate with their original status so the customer's admin can review before publishing.
OneDesk
Attachments
Salesforce Service Cloud
ContentDocument + ContentVersion
1:1File attachments on Items are downloaded from OneDesk storage, stored temporarily in the migration workspace, and uploaded to Salesforce as ContentVersion records linked to the parent Case via ContentDocumentLink. We preserve original filenames and MIME types. Large attachment sets are chunked to stay within API batch limits, and we validate file integrity (MD5 checksum) before confirming upload success.
OneDesk
Time Entries
Salesforce Service Cloud
Custom Time Entry Fields on Case
lossyOneDesk time entries attach to Items with hours, User, date, and optional description. Salesforce has no native billable time entry object at base Service Cloud tier. We assess during scoping whether to map time entries to custom fields on Case (total hours, billable hours, last time entry date) or to a custom Time_Entry__c object with a lookup to Case. Billable hours from OneDesk migrate to a custom Currency or Number field on the destination object.
OneDesk
Workflow Automations
Salesforce Service Cloud
Flow (rebuild required)
1:1OneDesk workflow automations are exported as a written inventory document. Each automation is documented with its trigger type, conditions, actions, and any record ID references that will break after migration. We do not migrate automation logic as code because OneDesk automations and Salesforce Flow are structurally incompatible. The inventory document includes a recommended Flow equivalent for each automation and is handed off to the customer's Salesforce admin or implementation partner for rebuild post-migration.
OneDesk
Invoice
Salesforce Service Cloud
Custom Invoice Object
1:1OneDesk Professional Services invoicing exports with line items, amounts, status, and customer reference. Salesforce does not have a standard Invoice object. Invoices migrate to a custom Invoice__c object that we provision in the destination org before import, with line items as a related Invoice_Line_Item__c custom object. Currency and tax fields map to equivalent custom fields on the custom object. This is a non-standard migration object and is scoped separately.
| OneDesk | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Ticket | Case1:1 | Fully supported | |
| Task | Case or Task (scope decision required)lossy | Fully supported | |
| Project | Account or Custom Objectlossy | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Conversations | EmailMessage + CaseComment1:1 | Fully supported | |
| Knowledge Base Articles | Knowledge Article1:1 | Fully supported | |
| Attachments | ContentDocument + ContentVersion1:1 | Mapping required | |
| Time Entries | Custom Time Entry Fields on Caselossy | Fully supported | |
| Workflow Automations | Flow (rebuild required)1:1 | Mapping required | |
| Invoice | Custom Invoice 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.
OneDesk gotchas
User vs Customer billing model is migration-critical
Custom fields shared across all ticket types require schema discovery
Workflow automations reference migrated record IDs
Export via data view CSV may hit pagination limits on large datasets
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
Discovery and endpoint validation
We audit the source OneDesk tenant across billing tier, active custom field schema (extracted via API field definition endpoints), Item type distribution (Ticket vs Task counts), conversation volume, KB article count and category structure, active workflow automations, and time entry records. We validate actual API pagination behavior and rate limits against the customer's tenant since OneDesk's public API is not fully documented. We also pull the User and Customer record counts for license sizing against Salesforce Service Cloud editions. The discovery output is a written migration scope with record counts, a Salesforce edition recommendation, and the Item split decision (which Items map to Case vs Task).
Destination schema build
We design the Salesforce destination schema in a Sandbox org. This includes provisioning custom fields on Case and Task to receive the migrated OneDesk custom field values, creating any custom objects (Projects as Account or custom Project__c, Invoices as custom Invoice__c), configuring Record Types and Page Layouts for the Case object if multiple ticket types are in scope, mapping OneDesk picklist values to Salesforce picklist values (and flagging any values that do not exist in the destination), and enabling Salesforce Knowledge if KB article migration is in scope. Schema is deployed via metadata API into Sandbox first for validation before any data moves.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volume. The customer's Service Cloud admin reconciles record counts (Cases in, Tasks in, Contacts in, Knowledge Articles in), spot-checks 25-50 random records against the OneDesk source, and signs off the schema and field mapping before production migration begins. Any picklist gaps, custom field mis-mappings, or object assignment corrections are resolved in Sandbox. We do not proceed to production until the customer signs off on the Sandbox reconciliation report.
User reconciliation and Salesforce User provisioning
We extract every distinct OneDesk User referenced on Tickets, Tasks, time entries, or conversation authors and match by email against the Salesforce destination org's User table. Users without a matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users before record import resumes. OwnerId references on Case are migration-blocking, so this step must complete before any object phase that depends on assignee resolution begins.
Production migration in dependency order
We run production migration in record-dependency order: Contacts (from OneDesk Customers), then Cases (from OneDesk Tickets with ContactId resolved), then Tasks (from OneDesk Tasks with the scope decision applied), then Knowledge Articles (Salesforce Knowledge with Data Category mapping), then Conversations (EmailMessage and CaseComment records linked to Cases), then Attachments (ContentDocument and ContentVersion via chunked upload), then Time Entries (custom fields or custom object), and finally custom Project and Invoice objects if in scope. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation handoff
We freeze OneDesk writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Salesforce Service Cloud as the system of record. We deliver the workflow automation inventory document to the customer's admin team with each automation documented and a recommended Salesforce Flow equivalent noted. We support a one-week hypercare window where we resolve any reconciliation issues raised by the support team. We do not rebuild OneDesk workflows as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
OneDesk
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across OneDesk 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
OneDesk: Not publicly documented.
Data volume sensitivity
OneDesk 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 OneDesk to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your OneDesk 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 OneDesk
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.