Helpdesk migration
Field-level mapping, validation, and rollback between Desku.io and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Desku.io
Source
Salesforce Service Cloud
Destination
Compatibility
6 of 10
objects map 1:1 between Desku.io and Salesforce Service Cloud.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Desku.io to Salesforce Service Cloud connects your support operation to a full CRM ecosystem rather than a standalone help desk. Desku.io structures its data around Tickets and Conversations in a unified inbox model; Salesforce Service Cloud uses Cases as the primary support object linked to Accounts and Contacts within the CRM. That structural difference shapes the entire migration: Conversations do not map as a first-class Salesforce object, so we thread them into EmailMessage records attached to the Case, preserving agent replies, customer messages, and internal notes with timestamps and author attribution. Shared Inboxes become Queues with routing rules your admin configures post-migration. Eva chatbot flows and Automation rules are platform-specific JSON configuration and do not migrate; we export them as a reference JSON bundle and deliver a written rebuild guide for your team to reconstruct them in Salesforce Flow or Omni-Channel. Knowledge Base articles export from Desku and import as Salesforce Knowledge articles, with category structure flattened to match the destination article type hierarchy.
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
Desku.io platform overview
Scorecard, SWOT, gotchas, and pricing for Desku.io.
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 Desku.io 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.
Desku.io
Ticket
Salesforce Service Cloud
Case
1:1Desku.io Tickets map directly to Salesforce Case. Subject and description map to Case Subject and Description; status (Open, Pending, Resolved, Closed) maps to Case Status with a status value mapping defined during schema design; priority maps to Case Priority. We thread the full conversation history (agent replies, customer messages, internal notes) into EmailMessage records linked to the Case. Desku's created_at, updated_at, and closed_at timestamps migrate to Case.CreatedDate, LastModifiedDate, and a custom closed_date__c field because Salesforce does not expose a native Case closed date.
Desku.io
Contact
Salesforce Service Cloud
Contact + Account
1:manyDesku Contacts (name, email, phone, company, custom properties) map to Salesforce Contact with an Account lookup. If Desku's company field is populated, we create or match a Salesforce Account first and link the Contact. If Desku stores no company data, we create a Personal Account (Salesforce allows this without a separate Account record) or a placeholder Account based on the customer's preference during scoping.
Desku.io
Conversations
Salesforce Service Cloud
EmailMessage + Task
1:manyEach Desku conversation message (agent reply, customer message, internal note) becomes a separate Salesforce record. Agent and customer messages become EmailMessage linked to the Case with direction (Inbound/Outbound) and timestamps preserved. Internal notes become Task records with TaskSubtype=Task and IsVisibleInSelfService=False. We use CaseId as the parent reference and WhoId pointing to the Contact for each message author where a Contact record exists.
Desku.io
Shared Inboxes
Salesforce Service Cloud
Queue + Case Assignment Rule
1:1Desku Shared Inboxes (limited to 5 on Startup tier, unlimited on Team and Business) map to Salesforce Queues with a matching object type of Case. Each inbox's routing configuration (channel assignment, team assignment) is documented as a Queue SObject entry and the customer rebuilds routing rules in Salesforce Omni-Channel post-migration. We flag any inbox count exceeding Salesforce Queue limits (100 queues per org) during scoping.
Desku.io
Knowledge Base Articles
Salesforce Service Cloud
KnowledgeArticleVersion
1:1Desku Knowledge Base articles with sections and categories export to Salesforce Knowledge as KnowledgeArticleVersion records. Desku category structure may need flattening because Salesforce Knowledge uses Data Category Groups for hierarchical taxonomy. We export publication status (Draft, Published) and map it to Salesforce's Article Visible flag. Article content with rich text and images transfers as-is; inline images are stored as ContentDocument linked via ContentDocumentLink.
Desku.io
Ticket Tags
Salesforce Service Cloud
Case Tag or Custom Multi-Select Picklist
lossyDesku ticket tags (key-value labels) migrate to Salesforce Case Tag if the destination org has tag management enabled, or to a custom multi-select picklist field on Case if tags are not active. We inventory all distinct tag values during discovery and the customer selects the preferred destination strategy during scoping. Tags used for automation routing in Desku are flagged for rebuild in Salesforce Flow criteria.
Desku.io
CSAT Surveys
Salesforce Service Cloud
Custom Field on Case + Survey
1:1Desku CSAT scores (Team and Business tiers only; Starter customers have no CSAT data) migrate to a custom numeric field csat_score__c on Case. The survey metadata (respondent, timestamp, channel) migrates to a custom Case field or related Survey Response object if the customer licenses Salesforce Surveys. We flag any Starter-tier migration missing CSAT data and document it in the reconciliation report.
Desku.io
Users/Agents
Salesforce Service Cloud
User
1:1Desku agent records (name, email, role, team assignment) map to Salesforce User by email match. Role maps to Salesforce Profile and Permission Set assignments the customer configures pre-migration. Desku's Round Robin assignment configuration is documented as a reference for rebuilding in Salesforce Omni-Channel Assignment Rules. Any agent without a matching Salesforce User goes to a reconciliation queue for the customer's admin to provision.
Desku.io
Custom Fields
Salesforce Service Cloud
Custom Field on Case or Contact
1:1Desku custom ticket fields and custom contact properties (text, number, dropdown, date, checkbox) export with their field type and migrate to Salesforce custom fields pre-created on the Case or Contact object. Field type mapping: text to Text(255), dropdown to Picklist, multi-select to Multi-Select Picklist, number to Number, date to Date. We require the destination custom fields to be created before migration begins so that values can insert directly rather than requiring a second pass.
Desku.io
Automations
Salesforce Service Cloud
Not migrated (configuration export)
lossyDesku Automation rules (Ticket Automation on Business tier, limited rules on Team tier) are platform-specific JSON configuration, not records in a transferable schema. We export the full rule definitions as a structured JSON bundle including trigger conditions, filters, and actions. The customer receives a written rebuild guide mapping each Desku automation trigger to a Salesforce Flow record-triggered flow or Omni-Channel routing rule. Rebuild typically requires 1-4 hours depending on automation complexity.
| Desku.io | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Ticket | Case1:1 | Fully supported | |
| Contact | Contact + Account1:many | Fully supported | |
| Conversations | EmailMessage + Task1:many | Fully supported | |
| Shared Inboxes | Queue + Case Assignment Rule1:1 | Mapping required | |
| Knowledge Base Articles | KnowledgeArticleVersion1:1 | Mapping required | |
| Ticket Tags | Case Tag or Custom Multi-Select Picklistlossy | Fully supported | |
| CSAT Surveys | Custom Field on Case + Survey1:1 | Mapping required | |
| Users/Agents | User1:1 | Fully supported | |
| Custom Fields | Custom Field on Case or Contact1:1 | Mapping required | |
| Automations | Not migrated (configuration export)lossy | Mapping required |
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.
Desku.io gotchas
Ticket volume cap creates migration billing risk
Rate limits are documented but the link is broken
Automations and chatbot flows are configuration, not data
Widget and channel code must be reinstalled at destination
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 scoping
We audit the Desku.io tenant across all tiers — Startup, Team, and Business — to inventory ticket volume, contact count, conversation thread depth, Knowledge Base article count and category structure, Shared Inbox configurations, active automation rules, Eva chatbot flows, custom fields, and CSAT history. We probe the Desku API with small request batches to characterise effective rate limits in the absence of public documentation. The discovery output is a written migration scope with object counts, a schema gap analysis (what exists in Desku that needs a Salesforce equivalent), and a Salesforce edition recommendation based on routing complexity and Einstein AI requirements.
Salesforce schema design
We design the destination Salesforce schema in a Sandbox org before production migration. This includes activating Salesforce Knowledge with an Article Type, pre-creating custom fields on Case and Contact (mapped from Desku custom fields), designing Queue structures from Desku Shared Inboxes, and creating Data Category Groups if the Knowledge Base uses hierarchical categories. If Omni-Channel routing is required, we document the Presence Configuration and Capacity Profile settings the customer needs to configure. Schema is validated in Sandbox before any data moves.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volume. The customer reconciles record counts (Cases in, Contacts in, Articles in), spot-checks 25-50 records against Desku source data, and validates that conversation threads are readable in the Salesforce Case feed. Any mapping corrections — field type mismatches, missing picklist values, category mapping errors — happen here in Sandbox. No production data moves until the Sandbox sign-off is received from the customer's admin.
User provisioning and owner reconciliation
We extract every distinct Desku agent (by email) and match against the Salesforce destination org's User table. Any Desku agent without a matching Salesforce User is held in a reconciliation queue. The customer's admin provisions missing Users (active or inactive depending on whether the original Desku agent is still employed and requires Salesforce access). We do not import records with unresolved OwnerId references because Salesforce requires a valid OwnerId on Case and Contact at insert time.
Production migration in dependency order
We run production migration in record dependency order: Accounts (from Desku company data), Contacts (with AccountId resolved), Users (manually provisioned and validated), Cases (with ContactId and OwnerId resolved), EmailMessage records (threaded to Case, with WhoId pointing to Contact), Task records for internal notes, Knowledge Articles (with Data Category assignments), and Custom Fields (with values inserted against pre-created fields). Each phase emits a row-count reconciliation report before the next phase begins. We monitor for 429 responses and back off on rate limit encounters.
Cutover, widget overlap window, and handoff
We schedule a cutover window with a brief overlap period: Salesforce Case and Contact widgets are installed at the destination before we disable Desku's live chat and email channel integrations. This prevents messages from dropping during the transition. After cutover we deliver the automation rebuild guide (JSON exports of Desku Automation rules and chatbot flows mapped to Salesforce Flow equivalents) and the Knowledge Base category mapping notes. We offer a one-week hypercare window for reconciliation issues. Rebuilding Eva chatbot flows in Einstein Bot Builder and configuring Omni-Channel routing are outside standard migration scope.
Platform deep dives
Desku.io
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 Desku.io 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
Desku.io: Stated to exist but documentation link is broken; effective limits must be empirically characterised during discovery.
Data volume sensitivity
Desku.io 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 Desku.io to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Desku.io 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 Desku.io
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.