Helpdesk migration
Field-level mapping, validation, and rollback between DoneDone and Gorgias. We move data and schema; workflows are rebuilt natively in Gorgias.
DoneDone
Source
Gorgias
Destination
Compatibility
9 of 12
objects map 1:1 between DoneDone and Gorgias.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from DoneDone to Gorgias is a conceptual shift from a project-centric issue tracker to a customer-centric helpdesk. DoneDone organizes around Issues within Projects and Workflows; Gorgias organizes around customer profiles linked to Tickets across channels (email, chat, social, phone). We resolve that structural difference during scoping by mapping each DoneDone Project to a Gorgias Tag or Rule-based routing category, and each Workflow status to a Gorgias ticket status value. Multi-watcher issues flatten to a primary assignee with the full watcher list preserved as a custom customer multi-select property. Saved Replies have no Gorgias equivalent — we flag this and offer a written Saved Replies inventory for macro rebuild in Gorgias. Automation rules, routing logic, and SLA policies do not migrate as code; we deliver an automation reconstruction document for the customer's admin. Reporting data cannot migrate because DoneDone generates its Reports dashboard on-demand rather than storing it as a queryable data object — we advise exporting any needed SLA or velocity reports as PDFs before cutover.
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 Gorgias, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
DoneDone
Issue
Gorgias
Ticket
1:1DoneDone Issues map to Gorgias Tickets as the primary record. Issue title becomes Ticket subject; Issue description becomes Ticket messages (as an initial internal note or first customer message depending on whether the issue originated from a customer channel). Status maps from the DoneDone Workflow Status to a Gorgias ticket status value that we configure during migration. Priority maps from DoneDone priority (Low, Medium, High, Critical) to Gorgias priority (Low, Normal, High, Urgent). The original DoneDone Issue ID is preserved in a custom field donedone_issue_id__c on the Ticket for audit traceability.
DoneDone
Project
Gorgias
Tag or Rule routing category
lossyDoneDone Projects do not have a direct Gorgias equivalent — Gorgias organizes tickets by customer and channel rather than by project bucket. We map each distinct DoneDone Project to a Gorgias Tag (e.g., donedone_project_[name]) that the customer applies to tickets during or after migration. Alternatively, for customers with a small number of high-priority projects, we create Rule conditions in Gorgias that route incoming tickets to specific teams or views based on tag or subject pattern. The customer chooses the strategy during scoping.
DoneDone
Workflow
Gorgias
Ticket status configuration
lossyEach DoneDone Workflow defines an ordered list of Status values with permitted transitions. We enumerate every distinct Workflow across all DoneDone Projects during discovery (DoneDone allows each Project to define its own Workflow independently, so long-running accounts may have 5-30 distinct Workflows). Each Workflow status maps to a Gorgias ticket status value. If multiple Workflows share status names (e.g., Open, In Progress, Closed), we consolidate them to a single status set in Gorgias to avoid confusion. Customers with non-standard status sets must confirm the consolidation strategy before migration.
DoneDone
Status
Gorgias
Ticket status
1:1DoneDone Status values (ordered steps within a Workflow, each with a name, color, and position index) map to Gorgias ticket status values. The sequence order is preserved. Color assignments are remapped to Gorgias's palette during migration. If a DoneDone status name has no intuitive Gorgias equivalent (e.g., Tester Passed in a software QA context), we confirm the mapping with the customer during scoping.
DoneDone
Tag
Gorgias
Tag
1:1DoneDone Tags are flat labels applied to Issues across Projects with no hierarchy or categories. They migrate as a flat string array and land in Gorgias as Tags on the Ticket. DoneDone does not support tag hierarchy, so there is no category-level mapping required. Tags that represent customer-facing labels are distinguished from internal classification tags during scoping so that only appropriate tags appear in Gorgias customer-facing views.
DoneDone
Saved Replies
Gorgias
Macro (no direct equivalent)
1:1DoneDone Saved Replies are template text snippets agents use to respond quickly to recurring ticket types. Gorgias has a Macros system (template responses with variables like order status, shipping date, customer name) that serves a similar purpose but uses a different data model with conditional logic and variable substitution. We cannot migrate Saved Replies as code. We export the full Saved Replies library (name, content, usage count) as a structured JSON inventory and deliver it to the customer. A Gorgias implementation specialist or the customer's admin rebuilds them as Macros post-migration using the inventory as a reference.
DoneDone
Private Comments
Gorgias
Internal Note
1:1DoneDone distinguishes public customer-visible comments from private internal comments visible only to team members. We map private comments to Gorgias internal notes on the Ticket. This mapping is applied by default. Failure to make this distinction explicitly during migration risks exposing internal team discussions to end customers in Gorgias's shared customer view. We confirm the target internal-note field with the customer during the scoping call and flag any tickets that have only private comments (these require at least one customer-visible message to avoid appearing as blank tickets in Gorgias).
DoneDone
Linked Tasks (sub-tasks and related issues)
Gorgias
Gorgias ticket references (no sub-task object)
1:1DoneDone Issues can reference other Issues as sub-tasks, blocks, or relates-to links. Gorgias does not have a native sub-task hierarchy on Tickets. We preserve the linked-issue IDs as a JSON array in a custom field donedone_linked_issues__c on the Ticket and, where possible, create cross-reference links in the ticket conversation as internal notes (e.g., 'Related DoneDone Issue: #1234'). Customers that rely on hierarchical parent-child task structures should plan a flat-view alternative in Gorgias or use a separate project management integration.
DoneDone
Assignee and Watchers
Gorgias
Ticket assignee + custom customer multi-select
1:manyDoneDone Issues support a primary fixer (assignee) plus multiple watchers. Gorgias supports only a single assigned agent per ticket. We map the primary DoneDone fixer to the Gorgias Ticket assignee. The full watcher list (including the primary fixer) is preserved as a custom multi-select property on the Gorgias Customer record (e.g., donedone_watchers__c). Customers should verify that their Gorgias workflow does not rely on single-assignee semantics for routing or escalation rules that might silently ignore watcher context.
DoneDone
Attachment
Gorgias
Ticket attachment (re-uploaded)
1:1DoneDone attachments on Issues include file name, size, uploader, and a URL pointing to the Google Drive integration (the native file store). We download each attachment and re-upload it to Gorgias's file storage attached to the corresponding Ticket. Google Drive share links are preserved as a URL reference in a custom field if the file cannot be downloaded (e.g., due to Drive permission restrictions). Large attachment sets (over 2 GB combined) extend migration timeline and may be scoped as a separate attachment migration phase.
DoneDone
Task History
Gorgias
Ticket conversation (internal notes)
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 notes on the Gorgias Ticket in the format '[timestamp] [field] changed from [old value] to [new value]'. This preserves the full edit audit trail within the ticket conversation thread.
DoneDone
Reporting
Gorgias
Not migratable
1:1DoneDone's Reports dashboard generates data on-demand from the issue history log rather than storing it as a discrete data object. No structured reporting records exist to export via API or CSV. We flag this as a data gap during scoping and advise the customer to export any needed SLA reports, velocity charts, or trend dashboards as PDFs or screenshots before migration cutover. Post-migration, the customer rebuilds reporting in Gorgias using Gorgias's Support Performance Statistics and Live Statistics views.
| DoneDone | Gorgias | Compatibility | |
|---|---|---|---|
| Issue | Ticket1:1 | Fully supported | |
| Project | Tag or Rule routing categorylossy | Fully supported | |
| Workflow | Ticket status configurationlossy | Fully supported | |
| Status | Ticket status1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Saved Replies | Macro (no direct equivalent)1:1 | Mapping required | |
| Private Comments | Internal Note1:1 | Mapping required | |
| Linked Tasks (sub-tasks and related issues) | Gorgias ticket references (no sub-task object)1:1 | Fully supported | |
| Assignee and Watchers | Ticket assignee + custom customer multi-select1:many | Fully supported | |
| Attachment | Ticket attachment (re-uploaded)1:1 | Fully supported | |
| Task History | Ticket conversation (internal notes)1:1 | Fully supported | |
| Reporting | Not migratable1:1 | 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.
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
Gorgias gotchas
AI Agent adds outcome-based fees on top of billable ticket costs
Overage billing for tickets scales nonlinearly
API rate limits restrict bulk export throughput
Agent data visibility cannot be restricted by role for GDPR use cases
Knowledge Base translations require separate API calls per locale
Pair-specific challenges
Migration approach
Discovery and data audit
We audit the source DoneDone account across all Projects, Workflows, Issues, Tags, Saved Replies, and attachments. We enumerate every distinct Workflow status set across Projects (critical for mapping), count total Issues and estimate attachment volume, extract the full Saved Replies library, and identify any Projects or Workflows with non-standard structures requiring manual customer confirmation. We also confirm that the provided API credential belongs to an administrator account — the DoneDone API returns data according to the authenticated user's role, so non-admin credentials will produce incomplete exports.
Status mapping design and Project-to-tag strategy
We design the DoneDone-to-Gorgias status mapping by enumerating every Workflow status across all Projects and consolidating to a single Gorgias ticket status set. For Projects with non-standard statuses, we present the customer with a mapping option (consolidate to nearest standard status, or preserve as a custom Gorgias status value). We also define the Project-to-Tag strategy: either a flat donedone_project_[name] tag per Project, or Rule-based routing categories for high-priority Projects. This design document is shared with the customer for sign-off before any data extraction begins.
Sample migration and reconciliation
We run a test migration of a representative sample (typically 50-100 Issues across 3-5 Projects spanning different Workflows) into a Gorgias sandbox or staging account. The customer's team reconciles the sample: ticket subject and description accuracy, status mapping correctness, tag presence, attachment visibility, internal note visibility for private comments, and watcher preservation on the customer record. Mapping corrections are documented and applied to the full migration script before production migration begins.
Full data extraction from DoneDone
We extract all Issues, Projects, Tags, Saved Replies, private comments, linked tasks, attachments (downloaded from Google Drive), and task history from DoneDone via its RESTful API and CSV/XLSX exports. Attachments are downloaded and staged locally. The Saved Replies library is exported as a structured JSON inventory. We extract every distinct Owner (fixer) email address to map against Gorgias agent accounts. Issues are extracted in dependency order: Projects first (for tag creation), then Issues (with watcher resolution and private comment flagging), then task history events.
Production migration in dependency order
We run production migration in record-dependency order: Tags first (created in Gorgias), then Issues mapped to Tickets (with assignee resolved, private comments mapped to internal notes, status mapped, priority mapped, and watcher list preserved as a custom customer multi-select property), then task history replayed as internal notes. Attachments are re-uploaded per-ticket after the base ticket record exists. The Saved Replies inventory JSON is delivered as a separate file. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation reconstruction handoff
We freeze DoneDone writes during the cutover window and run a final delta migration of any Issues modified during the migration. We then enable Gorgias as the system of record. We deliver the Saved Replies inventory JSON, the Workflow-to-status mapping document, and a written list of any DoneDone automation constructs (auto-responders, workflow-based reassignments) with a brief Gorgias Rules or Macros equivalent recommendation. We do not rebuild DoneDone's automation constructs as Gorgias Rules or Macros inside the migration scope; that rebuild work is a separate engagement or an internal admin task.
Platform deep dives
DoneDone
Source
Strengths
Weaknesses
Gorgias
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 3 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 Gorgias.
Object compatibility
3 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 Gorgias migration scoping. Not seeing yours? Book a call.
Walk through your DoneDone to Gorgias 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 Gorgias
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.