Helpdesk migration
Field-level mapping, validation, and rollback between UserHorn and Gorgias. We move data and schema; workflows are rebuilt natively in Gorgias.
UserHorn
Source
Gorgias
Destination
Compatibility
1 of 12
objects map 1:1 between UserHorn and Gorgias.
Complexity
CModerate
Timeline
3-5 weeks
Overview
UserHorn is a helpdesk platform for which no public API documentation, schema reference, or developer documentation was recoverable during initial research. Migrating to Gorgias—a Series C eCommerce helpdesk serving 12,000+ Shopify merchants—requires a structured discovery phase before any records move. We begin every UserHorn engagement with a live API audit that extracts the actual object model, field names, custom field types, and relationship structure from the source environment. On the Gorgias side, we map to Tickets (id, subject, status, channel, tags, assignee_user), Customers (name, email, phone, language, timezone, custom fields), Agents, and Macros. The Knowledge Base migrates as Articles with category structure preserved. We do not migrate automation rules, routing logic, or SLA policies as code; these require rebuild in Gorgias using Gorgias Automate, and we deliver a written inventory of every rule requiring reconstruction. Channel integrations (email, live chat, Facebook, Instagram, WhatsApp) are reconfigured from scratch in Gorgias Settings rather than migrated, because channel credentials and webhook endpoints do not transfer between platforms.
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 UserHorn 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.
UserHorn
Ticket (schema requires discovery audit)
Gorgias
Ticket
lossyUserHorn ticket records migrate to Gorgias Tickets. We cannot pre-define the field mapping without the UserHorn API schema; the discovery phase extracts field names, types, and relationships from the live UserHorn API before mapping begins. On the Gorgias side, the standard ticket fields are: id, subject, status, channel, tags, assignee_user, created_datetime, closed_datetime, opened_datetime, updated_datetime, last_message_datetime, meta, external_id, spam, satisfaction_survey. Custom fields on Ticket (Boolean, String, Number, Date types per Gorgias /api/custom-fields) migrate from UserHorn equivalents once discovered.
UserHorn
Customer / Contact (schema requires discovery audit)
Gorgias
Customer
lossyUserHorn customer or contact records map to Gorgias Customers. Standard Gorgias Customer fields include name, email, phone, language, timezone, note, and customer type. Custom fields on Customer migrate from UserHorn equivalents once the source schema is audited. Customer records must exist before Tickets referencing them are inserted, because Gorgias Tickets carry a customer object reference that must be satisfied at insert time.
UserHorn
Agent / User (schema requires discovery audit)
Gorgias
Agent
lossyUserHorn agent or user records map to Gorgias Agents. We resolve agents by email match against the Gorgias destination environment. Any UserHorn agent without a matching Gorgias Agent requires a reconciliation decision: provision a new Agent in Gorgias before migration, or reassign the UserHorn agent's tickets to a default Agent. Deleted or inactive UserHorn agents receive a default assignment per the customer's preference.
UserHorn
Macro / Template (schema requires discovery audit)
Gorgias
Macro
lossyUserHorn macros or predefined response templates migrate to Gorgias Macros. Per the Gorgias Help Desk Migration integration documentation, most macros including standard actions and predefined responses transfer automatically when using the partner migration tool. We validate macro variable names against the Gorgias macro template format and flag any UserHorn-specific placeholders requiring manual update. Macros with complex branching logic may require rebuild in Gorgias Rules.
UserHorn
Knowledge Base / Help Center (schema requires discovery audit)
Gorgias
Article
lossyUserHorn knowledge base articles migrate to Gorgias Help Center Articles. Article content, category hierarchy, and publication status transfer where the source schema supports it. Gorgias supports folder-based category structure and article versioning. Inline images in articles migrate as attachments to ContentDocument records linked to the Article. Approval workflows on articles are not migratable; we document the approval structure and recommend Gorgias's built-in article approval workflow as the rebuild target.
UserHorn
Ticket Attachments (schema requires discovery audit)
Gorgias
Ticket Attachment
lossyFile attachments on UserHorn tickets migrate to Gorgias Ticket Attachments via the /api/tickets/{id}/messages endpoint. Inline images embedded in ticket messages migrate separately and are attached to the corresponding message record. The Gorgias API enforces attachment size limits that we validate during the discovery phase against the UserHorn attachment volume.
UserHorn
Satisfaction Survey / CSAT (schema requires discovery audit)
Gorgias
Satisfaction Survey
lossyUserHorn satisfaction survey responses migrate to Gorgias satisfaction_survey objects linked to the migrated Ticket. The survey question text, rating value, and free-text response transfer to Gorgias fields. If UserHorn uses a different survey model (thumbs up/down versus star rating), we flag the format difference and map to the closest Gorgias-compatible survey type.
UserHorn
Tag / Label (schema requires discovery audit)
Gorgias
Tag
lossyUserHorn tags or labels applied to tickets migrate to Gorgias Ticket tags. Tags are stored as an array on the Gorgias Ticket object. If UserHorn uses a hierarchical tag taxonomy, we preserve the full tag string and recommend the customer reorganize into Gorgias's flat tag structure post-migration.
UserHorn
Channel Integration (email, chat, social)
Gorgias
Channel Configuration
lossyChannel integrations (email inboxes, live chat widget, Facebook, Instagram, WhatsApp, phone) do not migrate as credentials. We deliver a written channel configuration guide specifying the connection settings (SMTP, API keys, webhook URLs) that must be re-entered in Gorgias Settings for each channel. Email forwarding rules from the source platform are documented and handed off for manual reconfiguration.
UserHorn
SLA Policy (schema requires discovery audit)
Gorgias
SLA Configuration
lossyUserHorn SLA policies (first response time, next response time, resolution time targets) migrate as written documentation rather than automated configuration. Gorgias SLA management is available at Pro tier and above; we map UserHorn SLA targets to Gorgias SLA rules and deliver a step-by-step configuration guide for the customer's admin to implement post-migration.
UserHorn
Workflow / Automation (schema requires discovery audit)
Gorgias
Rule (Gorgias Automate)
lossyUserHorn automation rules, routing logic, and triggers do not migrate to Gorgias as code. We audit the source automation rules during discovery, document the trigger conditions, actions, and execution order, and deliver a written inventory mapping each UserHorn rule to a Gorgias Automate Rule equivalent. The customer's admin rebuilds rules in Gorgias Rules using Gorgias's trigger-action model. This is standard scope: we do not configure automations as part of the migration.
UserHorn
Historical Timestamps
Gorgias
created_datetime, updated_datetime, opened_datetime, closed_datetime
1:1Historical timestamps on all migrated records (Ticket created_datetime, updated_datetime, opened_datetime, closed_datetime, last_message_datetime) preserve their original UserHorn values during migration. Timestamps are stored as ISO 8601 datetime strings in Gorgias and used for sorting, filtering, and SLA calculation. Timezone handling is resolved during discovery against the UserHorn API's timezone storage format.
| UserHorn | Gorgias | Compatibility | |
|---|---|---|---|
| Ticket (schema requires discovery audit) | Ticketlossy | Fully supported | |
| Customer / Contact (schema requires discovery audit) | Customerlossy | Fully supported | |
| Agent / User (schema requires discovery audit) | Agentlossy | Fully supported | |
| Macro / Template (schema requires discovery audit) | Macrolossy | Fully supported | |
| Knowledge Base / Help Center (schema requires discovery audit) | Articlelossy | Fully supported | |
| Ticket Attachments (schema requires discovery audit) | Ticket Attachmentlossy | Fully supported | |
| Satisfaction Survey / CSAT (schema requires discovery audit) | Satisfaction Surveylossy | Fully supported | |
| Tag / Label (schema requires discovery audit) | Taglossy | Fully supported | |
| Channel Integration (email, chat, social) | Channel Configurationlossy | Fully supported | |
| SLA Policy (schema requires discovery audit) | SLA Configurationlossy | Fully supported | |
| Workflow / Automation (schema requires discovery audit) | Rule (Gorgias Automate)lossy | Fully supported | |
| Historical Timestamps | created_datetime, updated_datetime, opened_datetime, closed_datetime1: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.
UserHorn gotchas
Startup tier locks new accounts to projects under 3 years old
No documented public API for export
Language variants live as separate language projects, not translations
Custom-branded domain configuration must be reconfigured post-migration
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
API discovery and schema audit
We connect to the UserHorn API environment (using credentials provided by the customer) and extract the full object model: table names, field names, field types, custom field definitions, relationship keys, and available endpoints. This phase answers the questions that public research could not: what are the actual UserHorn object names, which fields are standard versus custom, and which objects have API access versus require CSV export. The discovery output is a written schema map and a confirmed field-level mapping specification that becomes the basis for all migration work.
Gorgias environment provisioning and channel scoping
We provision the Gorgias environment, confirm the target pricing tier against the discovered ticket volume, and configure the base object schema (custom fields on Ticket and Customer, ticket status values, channel configuration). We review the Knowledge Base structure and article categories to confirm migration scope. This phase also includes the channel configuration audit: we document every active email inbox, social channel, and chat integration in UserHorn so that the customer can plan the reconfiguration work in parallel.
Discovery migration into a test environment
We run a discovery migration using a representative data sample into a Gorgias test environment (a separate Gorgias account or staging workspace) to validate the schema mapping, test custom field resolution, and confirm that all standard and custom fields land correctly. The customer reconciles a sample of migrated records against the UserHorn source, identifies any data quality issues (missing fields, formatting problems, orphaned records), and signs off before production migration begins. Corrections to the mapping happen here, not in production.
Knowledge Base migration
If UserHorn contains a Knowledge Base with articles, categories, and publication history, we migrate articles before ticket data so that internal links within articles resolve correctly. Article content migrates with the full category hierarchy preserved. Inline images migrate as attachments. Approval workflows and versioning history are documented as written records for manual reconstruction in Gorgias's Help Center settings.
Customer and Agent records migration
Customer records migrate before Tickets so that ticket-to-customer lookups are satisfied at insert time. We resolve Customer records by email deduplication to avoid creating duplicate Customer profiles. Agent records migrate with email-based matching against the Gorgias destination environment. Any UserHorn Agent without a matching Gorgias Agent goes to a reconciliation queue for the customer's admin to provision before ticket migration begins.
Ticket migration with historical timestamps
Tickets migrate in a sequence that respects dependency order: parent records (Customer, Agent) must exist before Tickets referencing them are inserted. Historical timestamps (created_datetime, opened_datetime, closed_datetime, updated_datetime) preserve their original UserHorn values. Attachments migrate as linked records via the Gorgias API. Tags migrate as a comma-separated array on the Gorgias Ticket tags field. After each batch, we emit a reconciliation row-count report before the next batch begins.
Cutover, delta sync, and automation rebuild handoff
We freeze UserHorn writes during the cutover window, run a final delta migration of any records modified during the migration window, then enable Gorgias as the system of record. We deliver the automation rule inventory document to the customer's admin team with Gorgias Automate Rule equivalents for each migrated rule. We support a one-week hypercare window where we resolve reconciliation issues raised during the first week of live operations. We do not rebuild UserHorn automations as Gorgias Rules inside the migration scope; that work is handled by the customer's admin using the handoff documentation.
Platform deep dives
UserHorn
Source
Strengths
Weaknesses
Gorgias
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 3 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across UserHorn 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
UserHorn: Not publicly documented — confirmed during integration scoping..
Data volume sensitivity
UserHorn 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 UserHorn to Gorgias migration scoping. Not seeing yours? Book a call.
Walk through your UserHorn 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 UserHorn
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.