Helpdesk migration
Field-level mapping, validation, and rollback between DoneDone and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
DoneDone
Source
Zendesk
Destination
Compatibility
6 of 11
objects map 1:1 between DoneDone and Zendesk.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from DoneDone to Zendesk is a structural migration that crosses from a lightweight issue tracker into an enterprise helpdesk platform. DoneDone's combined shared-inbox-and-issue-tracking model maps to Zendesk's Ticket object with a requester, assignee, and group structure, but the conceptual gaps require explicit mapping decisions before any data moves. DoneDone Issues carry a multi-watcher model where most destination platforms support only a single assignee per ticket; we preserve the full watcher list as a multi-select custom field while mapping the primary watcher to the standard assignee. DoneDone's flexible per-project Workflows accumulate divergent status sets over time; we enumerate every distinct Workflow across all Projects and map each to a Zendesk custom status group, flagging ambiguous transitions for customer confirmation. Private comments migrate as Zendesk internal notes, and we flag the Reporting gap upfront because DoneDone generates reporting data on-demand from the issue history log rather than storing it as a discrete object. Saved Replies, Workflow automations, and auto-responders do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Zendesk.
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.
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 Zendesk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
DoneDone
Issue
Zendesk
Ticket
1:1DoneDone Issues map directly to Zendesk Tickets. The Issue title becomes Ticket Subject, description becomes Ticket Description, and the primary assignee maps to the Zendesk Assignee field. Status maps from the Issue's current Workflow Status to a Zendesk custom status value that we define during scoping. Priority, due date, and created/updated timestamps transfer directly. We preserve the original DoneDone Issue ID in a custom field donedone_issue_id__c for cross-referencing.
DoneDone
Project
Zendesk
Organization or View
1:manyDoneDone Projects group Issues under a named Workflow. In Zendesk, Organizations represent company-level entities, and Views provide filtered ticket lists by team or topic. We map Projects to Zendesk Views with ticket field filters matching the Project's Workflow, so agents see only Issues from that Project when working a given View. Alternatively, if the customer uses Organizations to represent business entities, we map Projects to Organizations and create a Project lookup field on Tickets.
DoneDone
Workflow
Zendesk
Custom Ticket Status
lossyEach distinct DoneDone Workflow becomes a Zendesk custom status group. DoneDone allows each Project to define its own Workflow independently, so we enumerate all distinct Workflows across all Projects during discovery and define Zendesk custom statuses for each. Status colors and order migrate from DoneDone Status to Zendesk Status. Transitions are not preserved as automation rules; we document the original transition map for the customer's admin to rebuild as Zendesk Triggers if needed.
DoneDone
Tag
Zendesk
Tag
1:1DoneDone Tags are flat labels applied to Issues across Projects. Tags migrate to Zendesk Tags as a flat string array on each Ticket. DoneDone does not support tag hierarchy or categories, so no transformation is needed. Tags from DoneDone become searchable and filterable in Zendesk's tag management.
DoneDone
Saved Reply
Zendesk
Macro
lossyDoneDone Saved Replies are template text snippets agents use for recurring responses. In Zendesk, the equivalent is Macros. We map Saved Reply content to Zendesk Macro text and subject, mapping dynamic placeholders like {{customer_name}} to Zendesk's {{ticket.requester.name}} syntax. The customer reviews and categorizes Macros post-migration; we deliver the full macro inventory with category suggestions.
DoneDone
Private Comment
Zendesk
Internal Note
1:1DoneDone distinguishes public customer-visible comments from private internal comments. We map private comments to Zendesk Internal Notes on the Ticket. This is a required mapping because exposing internal team discussions to end customers is a data-privacy risk. We confirm the target field with the customer during the scoping call and apply this mapping by default.
DoneDone
Assignee and Watcher
Zendesk
Assignee and CC User
lossyDoneDone Issues support multiple watchers plus a primary assignee. Most destination platforms, including Zendesk, support only a single assigned user per ticket. We map the primary watcher from DoneDone to the Zendesk Assignee field. The full watcher list migrates as a multi-select custom field donedone_watchers__c. Customers should verify that their Zendesk workflow does not rely on single-assignee semantics for routing or escalation. If the customer uses Zendesk's CC model, we can optionally add remaining watchers as CC requesters on the Ticket.
DoneDone
Attachment
Zendesk
Ticket Attachment
1:1DoneDone stores attachments via Google Drive integration URLs pointing to the native file store. We download each attachment and re-upload it to Zendesk as a Ticket Attachment using the Zendesk Attachments API. File name, size, and uploader metadata migrate alongside the binary. Attachments exceeding Zendesk's 50 MB per-file limit are flagged for manual handling during scoping.
DoneDone
Linked Task
Zendesk
Related Ticket or Custom Field
lossyDoneDone Issues can reference other Issues as linked sub-tasks or related items with relationship semantics (parent-child, blocks, relates-to) that vary across Projects. We preserve the raw linked-Issue IDs and original relationship type as a custom field donedone_related_issues__c on each Ticket. The customer decides during scoping whether to create Zendesk custom ticket fields to represent the specific relationship types or leave them as raw ID references in the custom field for manual linking post-migration.
DoneDone
Task History
Zendesk
Ticket Comments
1:1Every DoneDone Issue carries 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 comments on the Zendesk Ticket with the timestamp and actor preserved. This ensures the full audit trail is available to agents reviewing the Ticket in Zendesk.
DoneDone
User (Fixer, Tester)
Zendesk
User
1:1DoneDone Projects define default Fixer (primary developer) and Tester roles. These are User references on each Issue. We match DoneDone Users by email address against the Zendesk User table. Users without a matching Zendesk account go to a reconciliation queue for the customer's admin to provision before record import resumes.
| DoneDone | Zendesk | Compatibility | |
|---|---|---|---|
| Issue | Ticket1:1 | Fully supported | |
| Project | Organization or View1:many | Fully supported | |
| Workflow | Custom Ticket Statuslossy | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Saved Reply | Macrolossy | Fully supported | |
| Private Comment | Internal Note1:1 | Fully supported | |
| Assignee and Watcher | Assignee and CC Userlossy | Fully supported | |
| Attachment | Ticket Attachment1:1 | Fully supported | |
| Linked Task | Related Ticket or Custom Fieldlossy | Fully supported | |
| Task History | Ticket Comments1:1 | Fully supported | |
| User (Fixer, Tester) | 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
Zendesk gotchas
Data export requires API scripting on non-Enterprise plans
Automations cap at 500 active rules and 1,000 tickets per hour
Help Center has no native export feature
Custom Objects and full data export are Enterprise-only
Pair-specific challenges
Migration approach
Discovery and API credential verification
We audit the source DoneDone account for all Projects, Workflows, Issues, Tags, Saved Replies, Users, and attachment count. We verify API credential access and confirm administrator-level permissions are available for full data export. We enumerate every distinct Workflow across all Projects and document the status sets and transition rules that require mapping. We flag the Reporting gap and advise the customer to export any needed reports as PDFs before migration cutover. The discovery output is a written migration scope covering record counts, distinct Workflow count, and any access or data gaps.
Zendesk environment setup and custom field provisioning
Before any data migration, we configure the Zendesk target environment. This includes creating custom ticket fields to hold DoneDone-specific data (donedone_issue_id__c, donedone_watchers__c, donedone_related_issues__c), defining custom ticket Status values mapped from each distinct DoneDone Workflow, and configuring Views or Organizations based on the customer's chosen Project-to-Zendesk mapping strategy. We temporarily disable any Zendesk triggers or automations that could fire during migration to prevent unwanted notifications being sent to end customers.
User provisioning and assignee reconciliation
We extract every distinct DoneDone User referenced as Fixer, Tester, or Watcher on Issues and match by email address against the Zendesk User table. Users without a matching Zendesk account go to a reconciliation queue for the customer's admin to provision before record import resumes. This step is a prerequisite for any record migration because Zendesk requires a valid Assignee UserId on every ticket.
Test migration into Zendesk sandbox
We run a full migration into a Zendesk Sandbox using a representative sample of Issues from each Project and Workflow. The customer's support manager reconciles record counts, spot-checks 25-50 random tickets against the DoneDone source, and validates that private comments landed as internal notes and watcher lists populated the custom field. Any mapping corrections, missing status values, or field mismatches are resolved in this phase before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Users (validated), Ticket data (Issues with Subject, Description, Status, Assignee, Priority, Due Date mapped), Tags (applied per ticket), Private Comments (mapped to internal notes), Task History (replayed as internal comments), Linked Tasks (stored in custom field), Attachments (downloaded and re-uploaded to Zendesk). Saved Replies are exported as a structured CSV and mapped to Zendesk Macros in a separate pass. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and Saved Reply handoff
We freeze DoneDone writes during cutover and run a final delta migration of any Issues modified during the migration window. We deliver the Saved Reply inventory mapped to Zendesk Macro format for the customer's admin to categorize and activate. We deliver a written Workflow inventory documenting each DoneDone Workflow's status set, transition rules, and recommended Zendesk trigger equivalents for the customer's admin to rebuild. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's support team. We do not rebuild DoneDone Workflows, auto-responders, or Saved Replies as Zendesk automations inside the migration scope; that is a separate configuration engagement.
Platform deep dives
DoneDone
Source
Strengths
Weaknesses
Zendesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across DoneDone and Zendesk.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
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 Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your DoneDone to Zendesk 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 Zendesk
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.