Helpdesk migration

Migrate from Desky to Salesforce Service Cloud

Field-level mapping, validation, and rollback between Desky and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.

Desky logo

Desky

Source

Salesforce Service Cloud

Destination

Salesforce Service Cloud logo

Compatibility

70%

7 of 10

objects map 1:1 between Desky and Salesforce Service Cloud.

Complexity

CModerate

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Desky to Salesforce Service Cloud is a structural migration that crosses from a lightweight agent-based helpdesk into an enterprise CRM platform. Desky has no documented public API, so we sequence the migration through Desky's admin-level CSV bulk export and Salesforce's REST and Bulk APIs, downloading any attachment URLs for re-upload at the destination. Desky's flat Ticket model maps to Salesforce's Case object, but Cases require a parent Account or Contact, which means we must pre-build the Account and Contact records before inserting Cases and re-establishing all ticket-to-contact links. We do not migrate Desky's internal automations, automation rules, or knowledge-base publish-state logic as code; we deliver a written inventory of these for the customer's admin to rebuild in Salesforce Flow and Salesforce Knowledge.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Desky logo

Desky

What's pushing teams away

  • Some customers report receiving incorrect parts or damaged items during delivery, pointing to fulfillment inconsistencies that affect brand trust.
  • Assembly instructions are described as confusing in multiple reviews, with QR codes linking to outdated video guides that do not match current products.
  • Shipping delays and split deliveries frustrate customers who expect single-shipment fulfillment for large furniture purchases.
  • Higher price points compared to competing standing desks prompt some customers to seek less expensive alternatives.
  • Limited color options and product customization restrict customer choice when matching desks to specific office aesthetics.

Choosing

Salesforce Service Cloud logo

Salesforce Service Cloud

What's pulling them in

  • Deep Salesforce ecosystem integration with Sales Cloud, Marketing Cloud, and custom Apex apps creates a single pane of glass for enterprise customer data and cross-functional workflows.
  • Omnichannel case routing — email, chat, phone, social, and messaging — unified under one case object means agents do not lose context when customers switch channels mid-interaction.
  • AI for customer service (Einstein AI / Agentforce) offers automated case classification, suggested replies, and chatbot routing that reduces Tier-1 ticket volume without manual rule authoring.
  • Entitlement and milestone tracking enforces SLA compliance natively, automatically calculating breach windows and surfacing violations to supervisors in dashboards.
  • Salesforce's massive AppExchange ecosystem provides pre-built connectors, industry-specific managed packages, and third-party tools that extend Service Cloud beyond its out-of-box capabilities.

Object mapping

How Desky objects map to Salesforce Service Cloud

Each row shows how a Desky 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.

Desky

Ticket

maps to

Salesforce Service Cloud

Case

1:1
Fully supported

Desky Tickets migrate to Salesforce Case as the primary support record. Each Ticket's subject, description, status, priority, created date, and updated date map to Case Subject, Description, Status, Priority, CreatedDate, and LastModifiedDate. The mapping resolves the Ticket's linked Customer to a Salesforce Contact record and the linked Company to a Salesforce Account record before Case insertion. Custom ticket fields are detected during the source scan, custom fields are created in Salesforce (as text, picklist, or checkbox depending on content), and field values transfer directly. Tickets in closed states (Resolved, Closed) preserve their original status mapping so that Case history reflects the same resolution state.

Desky

Customer

maps to

Salesforce Service Cloud

Contact

1:1
Fully supported

Desky Customers map to Salesforce Contact. The customer's name, email, phone, and company association migrate directly. The Company-to-Account relationship is resolved during the Account migration pass so that Contact.AccountId is set at insert time. Any Desky Customer records without a company link create Contacts without an Account (unparented) and are flagged for the customer admin to resolve post-migration. Custom contact properties migrate to Salesforce custom fields on Contact where the destination org supports the field type.

Desky

Company

maps to

Salesforce Service Cloud

Account

1:1
Fully supported

Desky Company records map to Salesforce Account. The Company name becomes Account Name. Address fields (street, city, state, country, postal code) map to BillingAddress fields on Account. We use Account Name as the dedupe key during import and create Accounts before Contact import so that the Contact.AccountId lookup is satisfied at the moment of insert. Company records with no associated Customers still migrate as standalone Accounts and are flagged for manual review if the customer expects a different organizational structure at the destination.

Desky

Agent

maps to

Salesforce Service Cloud

User

1:1
Fully supported

Desky Agents map to Salesforce User records by email address match. We extract the full agent list from the Desky export and match each by email to the destination org's User table. Agents without a matching Salesforce User are held in a reconciliation queue; the customer's Salesforce admin provisions missing Users before the migration resumes. Agent role (Admin, Agent) maps to Salesforce Profile and Role assignments based on a mapping table agreed during scoping.

Desky

Knowledge Base Article

maps to

Salesforce Service Cloud

Knowledge__kav

1:1
Fully supported

Desky KB Articles migrate to Salesforce Knowledge (Knowledge__kav object). The article title maps to ArticleTitle, body content to ArticleBody, publication status to ValidationStatus (Published, Draft, Archived), and category to DataCategoryGroup selections. HTML formatting within article bodies may require sanitization before import to prevent rendering issues in Salesforce Lightning. Articles with embedded images are flagged for manual re-embedding as Salesforce stores inline images as ContentDocument references. Draft articles migrate as draft Salesforce Knowledge articles; the customer admin publishes them post-migration.

Desky

Tag

maps to

Salesforce Service Cloud

Topic or Custom Multi-Select Picklist

lossy
Fully supported

Desky Tags are lightweight label strings attached to Tickets and Articles. We extract all unique tags from the export and apply them as either Salesforce Topics (via TopicAssignment records linked to Case or Knowledge article) or as a custom multi-select picklist on Case, depending on the destination org's configuration. The customer chooses the tagging strategy during scoping. Tag-to-topic mapping is stored as a lookup table for audit and rebuild reference.

Desky

Attachment

maps to

Salesforce Service Cloud

ContentVersion + ContentDocumentLink

1:1
Fully supported

Desky ticket and article attachments are stored as file URLs in the CSV export. We download all referenced files, preserve original filenames and MIME types, and re-upload them to Salesforce as ContentVersion records (file blob) linked to the parent Case via ContentDocumentLink. Files over 25 MB are flagged individually because Salesforce has a 25 MB per-file upload limit via API. Tickets with more than 10 attachments are flagged upfront so the customer can decide whether to proceed with automated re-attachment or handle them manually. The re-attachment pass runs as a separate post-import job after all Cases are inserted.

Desky

Custom Ticket Field

maps to

Salesforce Service Cloud

Custom Case Field

lossy
Fully supported

Desky supports user-defined fields on Tickets beyond the standard set (subject, description, status, priority, assignee). We detect all custom fields during the source scan, infer Salesforce field types from the data content (text, number, date, checkbox, picklist), and create matching custom fields on the Case object in Salesforce before migration begins. Fields that cannot be typed confidently from content analysis are flagged for the customer's admin to define before the migration phase starts.

Desky

Ticket Thread / Conversation

maps to

Salesforce Service Cloud

EmailMessage + CaseComment

1:1
Fully supported

Desky ticket conversation threads contain agent and customer replies with timestamps and author attribution. These migrate to Salesforce as EmailMessage records linked to the Case, preserving the original sender email, timestamp, and body text. Internal agent comments flagged as private in Desky migrate to CaseComment with CommentType=Private. Thread ordering is preserved by the EmailMessage MessageDate field.

Desky

Tag

maps to

Salesforce Service Cloud

Case Tag

lossy
Fully supported

If the destination org does not use Salesforce Topics, we apply Desky tags as Case Tag records (the legacy tagging model) which appear in the Case Tags related list in Lightning. This is a fallback option discussed with the customer during scoping. Tag cardinality is checked against the destination org's tag limits per object.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Desky logo

Desky gotchas

High

No publicly documented API complicates programmatic migration

Medium

Furniture product and software product share the same brand name

Medium

Attachment handling requires manual re-attachment

Salesforce Service Cloud logo

Salesforce Service Cloud gotchas

High

Data Export 512MB file size cap breaks large org exports

High

API Daily Request Limits vary by license edition

High

No automatic data backup in base Salesforce

Medium

Picklist dependencies silently break records when unmapped

Medium

Workflow rules fire unexpectedly during data load

Pair-specific challenges

  • Desky has no public API — migration relies on CSV sequencing

    Desky does not appear to have a publicly accessible REST API or developer documentation in available research. Without an API, we extract data through Desky's admin-level CSV bulk export, validate the CSV structure in a pre-migration pass to catch encoding issues and field-length violations, then import into Salesforce via the REST and Bulk APIs. This differs from API-first migrations in that record ordering cannot be enforced through API calls, so we sequence the import phases in strict dependency order (Accounts, then Contacts, then Cases, then attachments) and validate each batch before proceeding. Large datasets may require CSV chunking to avoid import timeouts.

  • Desky Tickets need a parent Account or Contact at the destination

    Salesforce Case requires a parent AccountId or ContactId on insert; Desky Tickets are flat records that may or may not have a linked Customer. We pre-build the Account and Contact records from Desky's Company and Customer objects before inserting Cases, and we resolve the Ticket-to-Customer lookup during the transform step. Tickets with no linked Customer are inserted with ContactId set to null and AccountId set to null, which Salesforce allows but which the customer admin should resolve post-migration to associate those cases with the correct account hierarchy.

  • Attachment re-upload requires a separate post-import pass

    Desky exports ticket and KB article attachments as URLs in the CSV, not as binary blobs. We download all referenced files before migration and re-upload them as Salesforce ContentVersion records after the primary data import completes. This means attachments are not available in Salesforce until the re-upload pass finishes, which can extend the total migration timeline by hours to days depending on file count and size. Tickets with more than 10 attachments or files over 25 MB are flagged individually for manual handling.

  • Salesforce Knowledge article formatting requires remediation

    Desky KB articles may contain HTML formatting, embedded images, and inline styles that are not compatible with Salesforce Knowledge's rich-text storage model. We sanitize HTML to a safe subset before import and flag articles with complex layouts for manual formatting review by the customer admin. Published status in Desky maps to a ValidationStatus of In Review in Salesforce Knowledge by default; the customer admin publishes articles post-migration through the Knowledge UI.

Migration approach

Six steps for a successful Desky to Salesforce Service Cloud data migration

  1. Source extraction and scoping

    We audit the Desky portal to establish record counts across Tickets, Agents, Customers, Companies, KB Articles, Tags, and attachments. We confirm with the customer which Desky product they are using (desky.support, not the furniture brand) and identify any custom ticket fields, unusual data structures, or historical data that should be excluded. We also confirm the destination Salesforce org edition, whether Service Cloud is already provisioned, and whether the customer has an existing Account-Contact hierarchy they want us to preserve or overwrite. The scoping output is a written migration scope document with record counts, object mapping table, and a timeline estimate.

  2. CSV extraction and validation

    We extract data from Desky using the admin-level CSV bulk export. We run a validation pass on the extracted CSV to catch field-length violations, missing required fields, encoding issues, and orphaned attachment URLs. Any tickets without a linked Customer or Company are flagged and logged with the customer for resolution before migration begins. We also download all attachment files referenced in the CSV during this phase so they are ready for the re-upload pass.

  3. Destination schema setup

    We design and deploy the Salesforce destination schema into a Sandbox org for validation. This includes creating any custom fields on Case, Contact, Account, and User to receive Desky's custom ticket fields and agent properties; configuring Case Record Types if the customer needs separate ticket types; setting up Salesforce Knowledge article types and data categories for KB article import; and creating a tag-to-topic or tag-to-custom-field mapping based on the customer's preference. We coordinate with the customer's Salesforce admin to grant the migration user the Bulk API, REST API, and ContentVersion upload permissions needed for migration.

  4. Sandbox migration and reconciliation

    We run a full migration into the Salesforce Sandbox using production-like record counts. The customer's service operations lead reconciles record counts (Accounts in, Contacts in, Cases in, Knowledge articles in, attachments in), spot-checks 25-50 random Cases against the Desky source to verify field mapping accuracy, and reviews the thread-level conversation migration. Any mapping corrections are made before production migration begins. This step also validates that Salesforce validation rules and field-level security do not reject the incoming records.

  5. Production migration in dependency order

    We run production migration in strict dependency order: Accounts (from Desky Companies), Contacts (with AccountId resolved), Users (agent mapping validated), Cases (with ContactId and AccountId resolved), EmailMessage records (ticket conversations linked to Case), Knowledge articles (with sanitized HTML), then Tags (as TopicAssignment or Case Tag). Each phase emits a row-count reconciliation report before the next phase begins. Attachment re-upload runs as a separate final pass.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Desky ticket creation during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver a written inventory of Desky Automation Rules and KB publish-state configurations that the customer's admin rebuilds in Salesforce Flow and Salesforce Knowledge. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's service team. We do not rebuild Desky automation rules as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Desky logo

Desky

Source

Strengths

  • Free tier provides a functional helpdesk starting point with no time limit, suitable for evaluating the platform before committing.
  • Agent-based pricing keeps costs linear and predictable as teams grow, with no hidden per-ticket or per-contact charges on paid tiers.
  • Integrated Knowledge Base allows support teams to publish self-service articles alongside the ticketing workflow without a separate tool.
  • Multi-channel support reportedly allows tickets to be opened from email, chat, and other sources into a unified inbox.
  • Some customers report the brand's association with ergonomic office furniture adds credibility when evaluating office support tools.

Weaknesses

  • No documented public API or developer portal found in available research, limiting automated migration options to bulk CSV export and manual re-import.
  • Rate limits, migration endpoints, and bulk API capabilities are not publicly documented, creating uncertainty for teams planning data-heavy migrations.
  • The brand name is shared with a physical furniture company, which may cause confusion when searching for the software product and may explain inconsistent research results.
  • Custom object creation and advanced workflow automation features are not confirmed in the available product documentation.
  • Billing is agent-count based, meaning adding agents during or after migration will incur immediate plan upgrades.
Salesforce Service Cloud logo

Salesforce Service Cloud

Destination

Strengths

  • Enterprise-grade security, compliance certifications, and audit logging available across all paid editions with Shield offering enhanced event monitoring.
  • Scalable multi-tenant cloud architecture supporting orgs from 5 users to 150,000+ seat enterprises without infrastructure management overhead.
  • Omnichannel contact center unifying email, live chat, phone, messaging, and social into a single Case timeline per customer interaction.
  • Rich workflow automation via Salesforce Flow, Process Builder, and Apex triggers enabling complex case escalation, routing, and field updates.
  • Native AI capabilities (Agentforce / Einstein) for case auto-routing, classification, suggested responses, and chatbot escalation without third-party add-ons.

Weaknesses

  • Per-seat pricing model with no contact limits creates unpredictable cost scaling for large organizations adding many agents over time.
  • No automatic data backup — organizations must purchase a third-party backup solution or build manual Data Loader exports to protect against data loss from human error, failed deployments, or integrations overwriting records.
  • Steep learning curve for non-technical users requiring dedicated admin resources and formal training investment before teams reach productive velocity.
  • Annual contract requirements and limited pro-ration on exit create significant switching cost friction, especially for organizations evaluating alternatives mid-cycle.
  • Add-on licensing (CPQ, Einstein Activity Capture, Shield, Data Cloud) can double effective per-seat cost without clear documentation of which features are included in base tiers.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 1 of 7 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Desky and Salesforce Service Cloud.

  • Object compatibility

    C

    1 of 7 objects need a manual workaround.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Desky: Not publicly documented.

  • Data volume sensitivity

    B

    Desky doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Desky to Salesforce Service Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Desky to Salesforce Service Cloud data migrations

Answers to the questions buyers ask most during Desky to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Desky to Salesforce Service Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between two and four weeks for accounts under 10,000 Tickets, 2,000 Customers, and a manageable KB article set. Migrations with large KB article counts (over 500 articles), high-attachment ticket volumes, complex custom ticket fields, or multi-file-per-ticket threads move to six to ten weeks because of the CSV sequencing overhead, HTML sanitization for KB articles, and the separate attachment re-upload pass.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Desky.
Land in Salesforce Service Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day