Helpdesk migration
Field-level mapping, validation, and rollback between DoneDone and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
DoneDone
Source
Salesforce Service Cloud
Destination
Compatibility
8 of 11
objects map 1:1 between DoneDone and Salesforce Service Cloud.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from DoneDone to Salesforce Service Cloud is a structural migration from a lightweight issue tracker into an enterprise-grade service management platform. DoneDone tracks Issues with status, priority, assignee, watchers, due date, linked tasks, attachments, and tags organized under Projects with per-project Workflows. Salesforce Service Cloud manages Cases with a different data model: single-assignee OwnerId, standard Case Status and Priority picklists, a Record Type and Sales Process system for pipeline configuration, and separate Feed tracking for activity history. We resolve the DoneDone multi-watcher-to-single-assignee flattening, map private comments to internal notes, enumerate every distinct Project Workflow for Record Type and stage mapping, and use the Salesforce Bulk API for any large attachment or historical log migrations. Saved Replies do not have a direct Salesforce equivalent; we map them to Salesforce Solutions or pre-built Email Templates and flag the gap for admin review. Workflows, auto-responders, and automation rules are not migrated as code — we deliver a written inventory for the admin to rebuild in Salesforce Flow or Omni-Channel.
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
DoneDone platform overview
Scorecard, SWOT, gotchas, and pricing for DoneDone.
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 DoneDone 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.
DoneDone
Issue
Salesforce Service Cloud
Case
1:1DoneDone Issues map to Salesforce Cases. DoneDone status maps to Salesforce Case Status, priority to Case Priority, assignee to Case OwnerId (resolved via email match against Salesforce User), and due date to TargetDate. The DoneDone Issue title becomes Case Subject; the description body becomes Case Description. DoneDone edit history replays as Case Comments with IsPublished controlled by the original comment visibility (public comments as standard Case Comments, private comments as internal Case Comments). We flag any Issue with no assignee for admin review before migration.
DoneDone
Project
Salesforce Service Cloud
Account or Custom Project object
lossyDoneDone Projects map to Salesforce Accounts if the project corresponds to a customer account, or to a custom Project__c object if the project represents an internal or non-customer grouping. The mapping decision is confirmed during scoping based on whether DoneDone Projects track customer-facing support issues or internal software development tasks. Each Project's default fixer and priority settings are preserved as custom fields on the destination record.
DoneDone
Workflow
Salesforce Service Cloud
Record Type + Sales Process
lossyEach distinct DoneDone Workflow (with its ordered Status list and permitted transitions) maps to a Salesforce Record Type with a corresponding Sales Process that whitelists the matching Case Status values. DoneDone's Bug Tracking, Task Tracking, and Customer Support workflow templates get mapped to separate Record Types. Projects using identical Workflows share the same Record Type. Status color assignments migrate as custom hex values in a custom field and do not override Salesforce's standard status color palette.
DoneDone
Watcher
Salesforce Service Cloud
Custom multi-select picklist or Case Team Member
lossyDoneDone Issues allow multiple watchers in addition to a primary assignee. Salesforce Cases have a single OwnerId. We map the primary watcher (or the designated fixer on DoneDone Projects) to Case OwnerId. Additional watchers are preserved in a custom multi-select picklist field watcher__c and optionally replayed as CaseTeamMember records if the customer's Salesforce edition supports Case Team and the admin opts in. This is confirmed during scoping.
DoneDone
Private Comments
Salesforce Service Cloud
Internal Case Comments
1:1DoneDone distinguishes public customer-visible comments from private internal comments. Public comments migrate as standard Case Comments (IsPublished = true). Private comments migrate as Case Comments with IsPublished = false, visible only to internal users within Salesforce. We confirm the target field and visibility mapping with the customer during the discovery call. Failure to preserve this distinction risks exposing internal team discussions to end customers.
DoneDone
Linked Tasks
Salesforce Service Cloud
Related Cases or Custom Lookup
1:1DoneDone Issues can reference other Issues as sub-tasks or related items with relationship semantics (parent-child, blocks, relates-to). Salesforce Cases support parent Case via ParentId and lookups to other Cases. We preserve the raw DoneDone Issue ID in a custom field source_issuelink__c and map the relationship semantics: DoneDone parent-child issues map to Salesforce parent Case via ParentId; blocks and relates-to map to a custom Case_Relationship__c lookup. The admin verifies the semantic intent during scoping.
DoneDone
Attachment
Salesforce Service Cloud
ContentDocument / Salesforce Files
1:1DoneDone Issue attachments include file name, size, uploader, and a URL pointing to the Google Drive integration. We download attachments from the source URL and re-upload them as Salesforce Files attached to the corresponding Case via ContentDocumentLink. File metadata (original uploader, upload timestamp, file size) is preserved in the ContentVersion custom fields. Attachments exceeding Salesforce file size limits are flagged for the customer to host externally and link via URL field.
DoneDone
Tag
Salesforce Service Cloud
Custom multi-select picklist
1:1DoneDone Tags are flat labels applied to Issues across Projects without hierarchy or categories. We migrate tags as a string array on each Issue record and map them to a Salesforce custom multi-select picklist field on Case. If the customer uses tags for classification beyond 20 values, we recommend a custom Tag__c object with a junction table instead of a picklist, which is confirmed during scoping.
DoneDone
Saved Replies
Salesforce Service Cloud
Solutions or Email Templates
1:1DoneDone Saved Replies are template text snippets agents use for recurring ticket responses. Salesforce has no direct Saved Replies equivalent. We map Saved Replies to Salesforce Solutions (if the template describes a known resolution) or to Salesforce Email Templates (if it is a standard agent response). The customer confirms the preferred target during scoping, and we deliver a mapping document listing each Saved Reply with its target object and any required merge field updates.
DoneDone
Task History
Salesforce Service Cloud
Case Comments (feed-style replay)
1:1DoneDone Issues carry a timestamped history log of field changes (status transitions, assignee changes, priority changes, description edits). We export this as a chronological array of change events and replay it as internal Case Comments during migration, each annotated with the timestamp and original actor from DoneDone. This preserves the audit trail for compliance review and agent handoff. The customer confirms during scoping whether history replay is in scope or whether only current-state migration is required.
DoneDone
User / Assignee
Salesforce Service Cloud
User
1:1DoneDone assignees and watchers resolve by email match against the Salesforce destination org User table. Any DoneDone user without a matching Salesforce User is held in a reconciliation queue for the customer's admin to provision before record import proceeds. Active DoneDone users must have a corresponding active Salesforce User; inactive DoneDone users map to inactive Salesforce Users to preserve historical assignment. Admin credentials on DoneDone are required for full data export as the API is permission-gated to the authenticated user's role.
| DoneDone | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Issue | Case1:1 | Fully supported | |
| Project | Account or Custom Project objectlossy | Fully supported | |
| Workflow | Record Type + Sales Processlossy | Fully supported | |
| Watcher | Custom multi-select picklist or Case Team Memberlossy | Fully supported | |
| Private Comments | Internal Case Comments1:1 | Mapping required | |
| Linked Tasks | Related Cases or Custom Lookup1:1 | Mapping required | |
| Attachment | ContentDocument / Salesforce Files1:1 | Fully supported | |
| Tag | Custom multi-select picklist1:1 | Fully supported | |
| Saved Replies | Solutions or Email Templates1:1 | Mapping required | |
| Task History | Case Comments (feed-style replay)1:1 | Fully supported | |
| User / Assignee | User1: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.
DoneDone gotchas
Reporting data cannot be exported as structured records
Private comments require explicit visibility handling
Flexible project structure causes workflow divergence over time
Multi-watcher Issue model requires flattening for most destinations
API access is permission-gated to match application access
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 Workflow enumeration
We audit DoneDone across all active Projects, enumerating every distinct Workflow in the account. For each Workflow we record the Status sequence, transition rules, and any non-standard naming. We extract total Issues by status, total Projects, total Users, attachment count and average file size, Saved Replies, and tag cardinality. We verify admin-level API access to DoneDone. We review the customer's Salesforce edition (Service Cloud Starter, Pro, Enterprise, Unlimited, or Agentforce 1 Service) and identify any Record Type or custom field limits. The discovery output is a written migration scope with a Workflow-to-Record Type map and an object-level data volume estimate.
Schema design and custom field provisioning
We design the Salesforce destination schema: Record Types for each DoneDone Workflow, Sales Processes scoped to each Record Type, standard Case Status values mapped from DoneDone Status, custom Priority mapping, custom fields for watcher lists, source Issue IDs, tag arrays, and edit history replay. We create custom multi-select picklist fields for tags and Saved Replies mapping. All schema is deployed via Salesforce metadata API into a Sandbox org for validation before any data moves. If the customer uses Salesforce Knowledge, we scope Knowledge article types and data-category hierarchy for parallel migration.
Sandbox migration and scoping validation
We run a full migration into a Salesforce Sandbox using production-like data volume drawn from the DoneDone export. The customer's Service Cloud admin reconciles record counts (Cases in, Accounts or Projects in, Case Team Members in), spot-checks 25-50 random Cases against the DoneDone source for field-level accuracy, and verifies the Workflow-to-Record Type mapping. Private comment visibility is verified for a sample of Cases with both comment types. Any mapping corrections are documented and applied before production migration begins. No production data moves until sandbox sign-off.
User reconciliation and Salesforce provisioning
We extract every distinct DoneDone user referenced as an assignee or watcher on Issues and match by email against the Salesforce destination org's User table. Users with no matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users (active if the original DoneDone user is active, inactive if the user has left). Migration cannot proceed past this step because OwnerId references on Cases must resolve at insert time. We also confirm that the migration user has Modify All Data, API Enabled, and Bulk API permissions in Salesforce.
Production migration in dependency order
We run production migration in record-dependency order: custom objects and schema first (if applicable), then Salesforce Users (manually provisioned, validated), then Accounts or custom Project objects (from DoneDone Projects), then Cases (with OwnerId resolved, Record Type assigned per Workflow mapping, Status mapped, Priority mapped, and due date set). Task history replays as internal Case Comments. Attachments download from DoneDone source URLs and re-upload as Salesforce Files linked via ContentDocumentLink. Saved Replies export as a separate CSV for the admin to import into Salesforce Solutions or Email Templates. Tags and watchers migrate as custom field values. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta migration, and automation handoff
We freeze writes in DoneDone during cutover and run a final delta migration of any Issues modified during the migration window. We enable Salesforce as the system of record and disable DoneDone write access for the migration user. We deliver the automation inventory document — listing every DoneDone auto-responder and workflow rule with a recommended Salesforce Flow or Omni-Channel equivalent — to the customer's admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild DoneDone automations as Salesforce Flow within migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
DoneDone
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 DoneDone 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
DoneDone: Not publicly documented.
Data volume sensitivity
DoneDone 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 DoneDone to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your DoneDone 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 DoneDone
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.