Helpdesk migration

Migrate from Hesk to Gorgias

Field-level mapping, validation, and rollback between Hesk and Gorgias. We move data and schema; workflows are rebuilt natively in Gorgias.

Hesk logo

Hesk

Source

Gorgias

Destination

Gorgias logo

Compatibility

67%

8 of 12

objects map 1:1 between Hesk and Gorgias.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Hesk to Gorgias is a structural upgrade for teams leaving a self-hosted PHP/MySQL help desk for a Shopify-native SaaS platform with REST API access, workflow automation, and multi-channel routing. Hesk has no public REST API, so every migration begins with a direct MySQL connection to extract Tickets, Knowledge Base articles, Categories, Users, Staff accounts, Custom fields, and Canned responses. We bundle the file-system attachments alongside database records to preserve the ticket-attachment linkage, handle GDPR anonymisation decisions before extraction, and manage version-parity checks across Hesk's schema. Gorgias's volume-based pricing (Starter $10/mo for 50 tickets, Pro $300-$1,360/mo for 2,000 tickets) introduces a cost structure that Hesk's zero-cost self-hosted model never had, so we surface the pricing delta during scoping. We do not migrate Hesk automations or canned-reply macros as code — Gorgias Macros require rebuilding in its editor and we deliver a written inventory to guide that work.

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

Hesk logo

Hesk

What's pushing teams away

  • Hesk has no built-in REST API, which blocks teams that need to automate workflows, integrate with CRMs, or connect third-party chatbots at scale.
  • The admin UI is described as functional but dated, with reviewers noting the management panel could benefit from modern design and UX improvements.
  • Larger support teams outgrow Hesk's flat feature set and migrate to platforms like Zendesk, Freshdesk, or JIRA Service Management for automation, SLA management, and multi-channel routing.
  • Hesk Cloud pricing is not transparently published on the site, leading some customers to feel uncertain about total cost when moving off self-hosted.
  • The knowledge base and ticket search are basic compared to enterprise alternatives, with limited customisation of article layouts and no built-in versioning.

Choosing

Gorgias logo

Gorgias

What's pulling them in

  • Shopify-native integrations pull order details, shipment status, and return data directly into the ticket view, eliminating the need for agents to switch between apps.
  • Unlimited user seats mean growing support teams do not trigger billing changes; pricing scales only on billable ticket volume.
  • AI Agent automates responses to high-volume queries like order status and returns, measurably reducing the number of billable tickets each month.
  • Omnichannel inbox consolidates email, live chat, Facebook, Instagram, WhatsApp, SMS, and voice into a single threaded view.
  • SOC 2 Type II certification and GDPR-aligned data handling satisfy enterprise procurement requirements for customer support platforms.

Object mapping

How Hesk objects map to Gorgias

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

Hesk

Tickets

maps to

Gorgias

Ticket

1:1
Fully supported

Hesk Tickets map to Gorgias Tickets via subject, message body, status, priority, owner (Staff), and category references. Hesk ticket ID is stored as external_id in Gorgias for reconciliation. Status values (New, Waiting, Replied, Resolved, Closed) map to Gorgias status labels. Priority values map to Gorgias priority (Low, Normal, High, Urgent). Custom field values stored in Hesk's hesk_ticket_custom_fields table are read per ticket and written to Gorgias custom fields by object type (Ticket or Customer) and field label match.

Hesk

Users (End Customers)

maps to

Gorgias

Customer

1:1
Fully supported

Hesk Users (end customers) map to Gorgias Customers by name, email, and phone. Hesk stores IP address and creation date; these migrate to Gorgias as custom fields or metadata if needed for GDPR scope. Hesk allows emailless users for phone-only contacts; Gorgias Customer requires at least an email or phone, so phone-only Hesk users are created with a placeholder email and flagged for admin review.

Hesk

Staff Accounts

maps to

Gorgias

Agent

1:1
Fully supported

Hesk Staff accounts (name, email, role: administrator/manager/agent) map to Gorgias Agents. Hesk password hashes (bcrypt) cannot be migrated to Gorgias because Gorgias uses its own authentication system; agents receive invitation emails to set passwords post-migration. Role mapping: Hesk administrator and manager map to Gorgias admin; Hesk agent maps to Gorgias agent. Owners without an email match in Gorgias are held in a reconciliation queue for the customer to provision.

Hesk

Categories

maps to

Gorgias

Team

lossy
Fully supported

Hesk ticket categories map to Gorgias Teams. Teams in Gorgias are used for routing and ticket assignment, not just grouping. We preserve Hesk category names and descriptions as Team names, and optionally create a separate Category label mapping if the customer needs both routing teams and subject-matter categories. Category assignment on tickets is preserved as a custom field if Teams are used for routing instead.

Hesk

Knowledge Base Articles

maps to

Gorgias

Knowledge Base Article

1:1
Fully supported

Hesk KB articles (title, HTML content, category association, attachments) map to Gorgias Knowledge Base articles. HTML content migrates as article body. Hesk KB categories map to Gorgias article categories. Inline images are extracted from Hesk's file-system paths, uploaded to a temporary CDN or directly to Gorgias, and URL references are updated in the article body before import. Article publication status maps from Hesk's article visibility flag.

Hesk

Canned Responses

maps to

Gorgias

Macro

lossy
Fully supported

Hesk canned responses (title, HTML content) map to Gorgias Macros. Because Hesk stores canned responses as flat database rows without conditions or actions, they import as Gorgias macros with default conditions set to 'always applies' for the customer's admin to add conditions and ticket rules post-migration. We deliver a written inventory of all migrated macros with the original Hesk content so the admin can enrich them in Gorgias's macro editor.

Hesk

Custom Fields (per-ticket)

maps to

Gorgias

Custom Field (Ticket object)

1:1
Fully supported

Hesk ticket custom fields are read from hesk_ticket_custom_fields and mapped to Gorgias Ticket custom fields by label match. Hesk field types (text, number, checkbox, dropdown, date) are matched to Gorgias field types (text, number, boolean, dropdown, date). If Hesk uses a type that Gorgias does not support natively, we store the value as a text custom field and flag it for the customer's admin. Custom field definitions must be created in Gorgias before ticket import begins because Gorgias requires the field to exist before values can be written.

Hesk

Custom Fields (per-user)

maps to

Gorgias

Custom Field (Customer object)

1:1
Fully supported

Hesk user custom fields (hesk_user_custom_fields table) map to Gorgias Customer custom fields following the same type-matching logic as ticket custom fields. Customer custom fields are created in Gorgias during the schema phase before any customer records are imported. Values are written during the customer import phase.

Hesk

Ticket Attachments

maps to

Gorgias

Ticket Attachments (inline images and files)

1:1
Fully supported

Hesk stores attachments on the file system with paths in MySQL (hesk_attachments table). We export the entire attachments directory alongside the database extract, upload files to a temporary storage endpoint, and write the corresponding URLs into the ticket message body and any inline image references before importing into Gorgias. Path remapping is required if the destination Gorgias domain differs from the Hesk hostname.

Hesk

Ticket History / Audit Trail

maps to

Gorgias

Ticket Events (replies, status changes, assignments)

1:1
Mapping required

Hesk logs ticket events (opened, replied, status change, assignment) in hesk_ticket_history. We export the full history and merge it into Gorgias ticket events. Not all Hesk history event types have a direct Gorgias equivalent, so we collapse Hesk-specific internal log entries into a single 'Note' event on the ticket and flag the merged entries in the delivery report. Historical reply content migrates as additional messages on the Gorgias Ticket.

Hesk

Settings and Configuration

maps to

Gorgias

Configuration (email routing, branding, ticket fields)

lossy
Mapping required

Hesk settings (email routing, ticket field visibility, status labels, branding) are exported as a configuration bundle. We map equivalent settings to Gorgias (email integration settings, ticket field configuration, company branding). Settings that have no Gorgias equivalent (server-level mail configuration, PHP cron-based reminders) are documented as manual-configuration items for the admin to address post-migration.

Hesk

GDPR Anonymisation Flag

maps to

Gorgias

Customer (anonymised or retained)

lossy
Fully supported

If the customer requests GDPR anonymisation before migration, we apply Hesk's built-in anonymisation to strip PII (name, email, IP address) from selected records. This decision must be made before database extraction because anonymisation alters the source data. We clarify the GDPR scope with the customer upfront, document which records are anonymised, and flag any ticket subjects or thread content that may still contain indirect identifiers after anonymisation.

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.

Hesk logo

Hesk gotchas

High

No REST API means all migrations are database-first

High

Moving Hesk between servers requires version parity

Medium

GDPR anonymisation may conflict with ticket preservation

Medium

Attachments are file-system references, not database blobs

Low

Custom field limits are undocumented but exist

Gorgias logo

Gorgias gotchas

High

AI Agent adds outcome-based fees on top of billable ticket costs

High

Overage billing for tickets scales nonlinearly

Medium

API rate limits restrict bulk export throughput

Medium

Agent data visibility cannot be restricted by role for GDPR use cases

Low

Knowledge Base translations require separate API calls per locale

Pair-specific challenges

  • Hesk has no REST API — migration runs against MySQL directly

    Every Hesk to Gorgias migration begins with a direct MySQL connection to the customer's Hesk database. Hesk exposes no public API for creating, reading, or updating records programmatically. We connect to the MySQL instance directly, extract the full schema (tickets, users, staff, KB, custom fields, attachments), and write to Gorgias via its REST API. This requires the customer to provide database credentials and, for self-hosted Hesk, ensure our migration host can reach the MySQL port (typically 3306). Cloud-hosted Hesk customers may need to export an XML or CSV dump instead if direct database access is not available.

  • Hesk attachments live on the file system, not in the database

    Ticket and KB article attachments in Hesk are stored on disk with file paths in MySQL. Extracting only the database records without the corresponding files directory leaves broken attachment links in Gorgias tickets. We bundle the entire attachments directory with the database export, verify path consistency, and re-map attachment URLs to match the destination Gorgias domain before import. Customers using Hesk Cloud or a hosted environment where file-system access is restricted must coordinate a file-system export with their Hesk hosting provider.

  • Gorgias custom fields must exist before ticket import begins

    Gorgias requires custom field definitions to be created in the product before values can be written to records. Hesk custom field definitions are read during discovery, mapped to Gorgias field types (text, number, boolean, dropdown, date), created via the Gorgias API before any record import, and then populated during the ticket import phase. If the customer adds new Hesk custom fields after migration planning but before cutover, those fields must be added to the Gorgias schema before the next import batch runs.

  • Hesk GDPR anonymisation may conflict with ticket thread fidelity

    Hesk provides a built-in anonymisation feature that strips name, email, IP, and message content from tickets while preserving statistics. If the customer requests anonymisation as part of a GDPR cleanup before migration, we must decide whether to preserve ticket subjects and thread structure (which may still contain indirect identifiers) or apply full anonymisation and accept reduced migration fidelity. We clarify the customer's GDPR scope before anonymising, document which records are affected, and flag any residual indirect identifiers in thread content.

  • Hesk canned responses require manual macro enrichment in Gorgias

    Hesk stores canned responses as title-plus-HTML-content database rows with no conditions, variables, or action logic. Gorgias macros support conditions, template variables, and ticket-rule actions. We migrate canned response titles and content as Gorgias macros with a default 'always applies' trigger, but the customer must manually add conditions, dynamic variables (customer name, order number, ticket ID), and action steps in Gorgias's macro editor post-migration. We deliver a written macro inventory document with original Hesk content to guide that rebuild.

Migration approach

Six steps for a successful Hesk to Gorgias data migration

  1. Discovery and schema audit

    We connect to the Hesk MySQL database (or receive an XML/CSV export if direct access is unavailable) and enumerate the full schema: table versions, ticket count, user count, staff count, KB article count, custom field definitions and values, canned response count, attachment file list, and ticket history volume. We also scan for Hesk version number (to verify schema parity with any prior backup), GDPR anonymisation requests, and any Mods-for-HESK add-ons that may have extended the schema. The discovery output is a written migration scope with record counts, a list of Hesk custom fields requiring Gorgias equivalents, and a GDPR scope decision.

  2. Gorgias schema provisioning

    We create all required custom fields in Gorgias before any record import. Ticket custom fields are created via the Gorgias API with the correct field type (text, number, boolean, dropdown, date). Customer custom fields are created on the Customer object. We create Teams mapped from Hesk categories. KB article categories are provisioned in Gorgias's Knowledge Base structure. Macros are pre-created as default 'always applies' templates pending post-migration enrichment. Each schema object is validated via API before the import phase begins.

  3. Attachment and file-system export

    We export the entire Hesk attachments directory (hesk_attachments folder and any inline image directories) alongside the MySQL database extract. Files are verified against the MySQL attachment table (filename, ticket_id, article_id references) to confirm no orphaned files exist. If the customer is on Hesk Cloud without file-system access, we coordinate a zip export through their hosting provider. The file export is bundled with the database extract for step-order import.

  4. Record import in dependency order

    We import records into Gorgias in strict dependency order. First, Gorgias Agents (from Hesk Staff) — these are required for ticket owner resolution. Second, Gorgias Customers (from Hesk Users) with anonymisation applied if GDPR scope was defined. Third, KB articles with inline images uploaded and URL references remapped. Fourth, Gorgias Tickets with Hesk ticket ID stored as external_id, custom field values written per ticket, and ticket history merged as events or additional messages. Fifth, Canned responses as default macros. Each phase emits a row-count reconciliation report before the next phase begins.

  5. Cutover, delta sync, and macro handoff

    We freeze Hesk writes during cutover, run a final delta migration of any tickets, users, or KB articles modified during the migration window, then point the customer's email routing to Gorgias. We deliver the canned response macro inventory document to the customer's admin team for enrichment in Gorgias's macro editor. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild Hesk automations as Gorgias automation rules inside the migration scope; that work is documented separately for the customer's admin to address with Gorgias's built-in rule editor.

Platform deep dives

Context on both ends of the pair

Hesk logo

Hesk

Source

Strengths

  • Zero-cost self-hosted option with no per-agent or per-ticket billing ever.
  • PHP/MySQL stack runs on any shared hosting or VPS with minimal server requirements.
  • One-time license fee ($49.99) removes branding and includes direct developer support.
  • Unlimited users per installation regardless of plan.
  • Direct MySQL access gives full data portability for teams comfortable with SQL exports.

Weaknesses

  • No public REST API — automation and third-party integrations require custom development or Mods-for-HESK community add-ons.
  • Dated admin interface compared to modern SaaS help desks; UI customisation is limited to CSS themes.
  • Limited automation: no built-in workflow rules, SLA timers, or escalation triggers beyond basic ticket routing.
  • Server maintenance (backups, upgrades, cron jobs, mail server config) is the customer's responsibility on self-hosted.
  • No native multi-channel routing beyond email-to-ticket; chat, phone, and social channels require external tools.
Gorgias logo

Gorgias

Destination

Strengths

  • Shopify and BigCommerce integrations surface order, return, and shipment data natively inside every ticket.
  • Unlimited agent seats remove per-user licensing friction as support teams grow.
  • AI Agent reduces billable ticket volume through automated resolution of high-frequency queries.
  • SOC 2 Type II certified with GDPR-aligned data handling for enterprise procurement readiness.
  • Omnichannel inbox aggregates email, live chat, Facebook, Instagram, WhatsApp, SMS, and voice into a single threaded view.

Weaknesses

  • Ticket-volume pricing with overage fees creates unpredictable monthly costs during seasonal traffic spikes.
  • Custom reporting is shallow; raw event-level data export for BI tooling is not natively supported.
  • Knowledge Base, Macros, and Rules lack simple export tooling, making competitive migrations complex.
  • GDPR compliance limitations mean customer data cannot be hidden from agents by role, blocking use by teams with freelance staff.
  • Performance and glitch reports emerge in G2 reviews at higher ticket volumes.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 3 of 7 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Hesk and Gorgias.

  • Object compatibility

    C

    3 of 7 objects need a mapping; the rest are 1:1.

  • 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

    Hesk: Not documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Hesk to Gorgias 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 Hesk to Gorgias data migrations

Answers to the questions buyers ask most during Hesk to Gorgias migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Hesk to Gorgias migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Hesk to Gorgias migrations land between three and five weeks for accounts under 10,000 tickets, 2,000 customers, and 500 KB articles. Migrations with large attachment directories (over 10 GB), GDPR anonymisation passes, extensive custom field re-typing, or Knowledge Base category restructuring move to six to ten weeks because of file bundling, schema provisioning, and inline image URL remapping work.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Hesk.
Land in Gorgias, 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