Helpdesk migration

Migrate from HelpDeskZ to Gorgias

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

HelpDeskZ logo

HelpDeskZ

Source

Gorgias

Destination

Gorgias logo

Compatibility

75%

9 of 12

objects map 1:1 between HelpDeskZ and Gorgias.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from HelpDeskZ to Gorgias is a self-hosted-to-SaaS migration with no native API bridge, which makes it structurally different from migrations between two API-enabled platforms. HelpDeskZ exposes no public REST API; all data extraction is done via direct MySQL/MariaDB queries against the source database. We connect over a read-only database credential set (or SSH tunnel if the database is on a private network), decode the PHP serialized custom_fields column for every ticket, resolve the flat ticket-to-reply thread model into Gorgias's conversation structure, and upload attachment files from the HelpDeskZ uploads directory. We then write migrated records into Gorgias using the REST API with rate-limit handling and batch chunking. Departments map to Gorgias Teams; HelpDeskZ ticket statuses map to Gorgias ticket states; and users map to Gorgias agents. We do not migrate HelpDeskZ automations, email-to-ticket pipelines, or the POP3/IMAP mailbox configuration because these are infrastructure configurations that do not translate to Gorgias settings. We deliver a written inventory of these for your team to configure post-migration.

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

HelpDeskZ logo

HelpDeskZ

What's pushing teams away

  • The feature set has stagnated — without active development, teams outgrow the platform as support volume and complexity increase.
  • Limited to no native integrations with modern tools like Slack, Salesforce, or Zapier, forcing teams to manually bridge workflows or abandon the platform.
  • No public REST API means third-party automation, reporting, and data extraction all require direct database queries, which most non-technical teams cannot maintain.
  • As the vendor (EvolutionScript) has scaled to other products, documentation and community support for HelpDeskZ have thinned, leaving self-hosted customers without guidance for troubleshooting.

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 HelpDeskZ objects map to Gorgias

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

HelpDeskZ

Ticket

maps to

Gorgias

Ticket

1:1
Fully supported

HelpDeskZ tickets map to Gorgias tickets. We extract ticket_id, subject, priority (mapped to Gorgias priority), status (integer code remapped to Gorgias state), created datetime, and updated datetime. Each HelpDeskZ ticket's reply thread (stored as sequential rows in a separate replies table) is reconstructed in chronological order and inserted as individual message records in the Gorgias conversation via the /tickets/{id}/messages endpoint. We preserve the original ticket_created timestamp as a custom property for audit.

HelpDeskZ

User (agent)

maps to

Gorgias

Agent

1:1
Fully supported

HelpDeskZ users with role=admin or role=agent map to Gorgias agents. We extract user_id, name, email, and role from the users table. We create the corresponding agents in Gorgias using the /agents endpoint with the same email as the identifier. HelpDeskZ admin users get Gorgias admin privileges; agent users get standard agent permissions. We set a temporary password for each migrated agent; the customer resets credentials during onboarding.

HelpDeskZ

User (client)

maps to

Gorgias

Customer

1:1
Fully supported

HelpDeskZ users with role=client map to Gorgias customers. We extract name, email, and created datetime. Gorgias deduplicates customers by email, so if a customer already exists from a previous import or live ticket, we update rather than duplicate. Phone and language data from HelpDeskZ map to the corresponding Gorgias customer fields if present in the source database.

HelpDeskZ

Department

maps to

Gorgias

Team

1:1
Fully supported

HelpDeskZ departments (stored as a simple id-name lookup table) map to Gorgias Teams. We extract all distinct department assignments from tickets and create Teams in Gorgias with matching names. Tickets are then tagged with the appropriate Team via the ticket's dst_team_id field during import. Some HelpDeskZ setups use hierarchical departments; we flatten these to single-level Teams since Gorgias does not support nested team hierarchies.

HelpDeskZ

Ticket Status

maps to

Gorgias

Ticket State

lossy
Fully supported

HelpDeskZ stores ticket status as integer codes (e.g., 1=Open, 2=Pending, 3=Resolved, 4=Closed). We map these integer codes to Gorgias ticket states (open, pending, solved, closed) based on the customer's status configuration. If the customer has added custom status values beyond the defaults, we flag these during scoping and create a custom mapping table. Non-standard integer values are logged as warnings and mapped to the nearest Gorgias state.

HelpDeskZ

Custom Field (serialized PHP)

maps to

Gorgias

Custom Property

lossy
Fully supported

HelpDeskZ stores custom field values in a PHP serialized string column on the tickets table (custom_fields). We detect the PHP version on the source server (PHP 7 vs PHP 8) and apply the correct unserialize method. For each ticket, we extract key-value pairs, create the corresponding custom property in Gorgias (string, number, date, or boolean type based on the extracted value), and attach it to the ticket at insert time. If a serialized value is corrupted or incompatible, we log it and skip that field.

HelpDeskZ

Attachment (file on disk)

maps to

Gorgias

Attachment (Gorgias-hosted)

lossy
Fully supported

HelpDeskZ saves uploaded files to the uploads/ directory on the filesystem with only the filename stored in the database. We verify the uploads directory path from the HelpDeskZ configuration, locate each referenced file, and upload it to Gorgias via the POST /upload endpoint before creating the ticket or message. The Gorgias attachment URL is then embedded in the appropriate message. Missing attachment files are logged as warnings and skipped; migration does not block on a single lost file.

HelpDeskZ

Ticket (email-to-ticket source)

maps to

Gorgias

Ticket (channel attribution)

1:1
Fully supported

When HelpDeskZ converts incoming emails to tickets, it stores Message-ID and In-Reply-To email headers in the database. These references are source-local and not valid in Gorgias. We extract the sender email address, subject, and body content from the raw email data stored in HelpDeskZ, but do not attempt to preserve the email threading relationships. The migrated ticket is attributed to the email channel in Gorgias with a note that the original threading context was not transferred.

HelpDeskZ

Knowledge Base Articles

maps to

Gorgias

Help Center Articles

1:1
Not supported

HelpDeskZ does not include a built-in knowledge base module. If the customer has published KB content in a separate system, we can migrate it as unstructured text for manual re-creation in Gorgias Help Center. We do not count HelpDeskZ KB migration as a standard scope item because no KB object exists in the source database. The customer creates Help Center articles in Gorgias post-migration using the migrated ticket content as source material.

HelpDeskZ

Email Pipeline (POP3/IMAP)

maps to

Gorgias

Channel Integration (SMTP/connected inbox)

1:1
Fully supported

HelpDeskZ email-to-ticket relies on POP3/IMAP polling configured on the self-hosted server. This mailbox configuration is a server-level infrastructure setting that does not migrate to Gorgias. We document the source mailbox addresses and polling settings during scoping, but the customer configures a new connected inbox or SMTP integration in Gorgias Settings post-migration. The email address ownership must be updated in DNS to point to Gorgias instead of the HelpDeskZ server.

HelpDeskZ

Workflow, Automation, Sequence

maps to

Gorgias

Rule, Macro, Automate

1:1
Fully supported

HelpDeskZ does not support workflows, automations, or sequences as a platform feature, so there are no automation records to migrate. Gorgias automations (Rules, Macros, Gorgias Automate) are created post-migration by the customer's admin using Gorgias's built-in editors. We deliver a written requirements document describing what automations the team should build based on the ticket patterns and team workflow observed in the migrated data.

HelpDeskZ

Reporting and Analytics

maps to

Gorgias

Performance Statistics

1:1
Fully supported

HelpDeskZ does not include a built-in reporting dashboard. Historical ticket metrics (volume by status, response time, resolution time) are extracted from the tickets table as part of migration scoping. We deliver a data export of these metrics as a CSV for the customer to use as a baseline in Gorgias's built-in reporting. Gorgias's Support Performance Statistics and Live Statistics dashboards are configured post-migration by the customer's admin.

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.

HelpDeskZ logo

HelpDeskZ gotchas

High

No REST API — migration requires direct database reads

Medium

Custom fields are stored as serialized PHP arrays

Medium

Email-to-ticket threading does not migrate cleanly

Low

Attachment files are stored on disk, not in the database

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

  • HelpDeskZ has no REST API — migration requires direct database reads

    HelpDeskZ exposes no HTTP API. All data access is through direct MySQL/MariaDB queries against the source database. We require read credentials to the database server (host, port, credentials, database name, and table prefix) during scoping. If the HelpDeskZ database is on a private network, behind a firewall, or on a shared hosting environment with phpMyAdmin-only access, the customer must provision direct MySQL access or provide an SSH tunnel before migration begins. We cannot proceed without reliable database connectivity.

  • Custom fields are stored as serialized PHP arrays

    The custom_fields column in HelpDeskZ tickets holds a PHP serialized string rather than structured JSON or individual database columns. We must unserialize this column for every ticket during extraction. PHP version differences between the source server (PHP 7.x vs 8.x) can produce incompatible serialization formats. We detect the PHP version during scoping and apply the correct unserialize method, falling back to regex-based key extraction if the serialized data is corrupted. Some HelpDeskZ forks may use non-standard serialization; these are flagged individually.

  • Email threading identifiers from HelpDeskZ do not transfer

    When HelpDeskZ converts incoming emails to tickets, it stores Message-ID and In-Reply-To headers from the source mail system. These references point to the HelpDeskZ-hosted mailbox and are not valid in Gorgias. We extract the raw email content and attachment filenames, but the email threading relationships cannot be preserved because Gorgias assigns its own thread identifiers at insert time. Each migrated ticket starts as a new thread in Gorgias.

  • Attachment files on disk can be missing or relocated

    HelpDeskZ saves uploaded files to the uploads/ directory on the filesystem with only filenames stored in the tickets and replies tables. If the uploads directory has been moved, symlinked, or deleted, we locate it via the uploads_path configuration value in the HelpDeskZ config table. Files that cannot be found are logged as warnings and skipped; the migration completes without blocking on a single missing file. The customer should audit the uploads directory before migration to identify any data loss.

  • Gorgias per-ticket pricing requires volume estimation

    Gorgias charges by ticket volume on all plans. Starter covers 50 tickets/month, Basic covers 300, and Pro covers 2,000. We estimate monthly ticket volume from HelpDeskZ data during scoping (tickets created over the past 90 days extrapolated annually). If the customer's HelpDeskZ volume exceeds 2,000 tickets/month, the customer should evaluate the Pro plan or contact Gorgias for an Enterprise quote. Overshooting the plan tier post-migration triggers overage charges per ticket.

Migration approach

Six steps for a successful HelpDeskZ to Gorgias data migration

  1. Database connectivity and scoping

    We establish a read-only MySQL/MariaDB connection to the HelpDeskZ database (direct connection, SSH tunnel, or port-forwarded jump host depending on network topology). We inventory the table structure, table prefix, and PHP version of the source server. We extract record counts across tickets, replies, users, departments, and custom fields to build the migration volume estimate. We document the HelpDeskZ status value encoding, any custom database modifications, and the uploads directory path. This step produces a written scoping document with volume figures and a migration plan reviewed by the customer before extraction begins.

  2. Gorgias destination setup and custom property creation

    We work with the customer to create a Gorgias workspace (or confirm the existing one) and obtain API credentials (email and API key) for migration writes. We configure the Teams in Gorgias to match HelpDeskZ departments. We create the custom properties in Gorgias for any HelpDeskZ custom fields detected during scoping, assigning the correct field type (string, number, date, boolean) per field. We configure the ticket state mapping table in our migration platform based on HelpDeskZ status integer codes.

  3. Data extraction from HelpDeskZ MySQL

    We run direct SQL queries against the HelpDeskZ database in batches of 500-1,000 records to avoid locking the source table. We extract tickets with their status, priority, subject, created datetime, and updated datetime; replies in chronological order per ticket; users (agents and clients) with role, email, and name; and custom field serialized strings for decoding. We resolve the uploads directory path and extract the list of referenced attachment filenames for later upload. Each extraction batch is written to an intermediate JSON file with a SHA-256 hash for integrity verification.

  4. PHP unserialization and data transformation

    We process the HelpDeskZ custom_fields serialized strings using the PHP version detected on the source server. Each string is unserialized into a key-value dictionary, and individual custom field values are mapped to the corresponding Gorgias custom property created in Step 2. We reconstruct each ticket's reply thread from the replies table in chronological order, assign the reply author (agent or customer) by matching the user_id, and prepare each message as a Gorgias message payload. Email threading Message-ID references are discarded at this stage and flagged in the transformation log.

  5. Attachment extraction and Gorgias upload

    We locate each file referenced in the extracted ticket and reply records within the HelpDeskZ uploads directory. Valid files are uploaded to Gorgias via POST /upload in batches of 10 files per request (Gorgias's recommended attachment batch size). The returned Gorgias attachment URL is stored as a reference in the message payload. Files not found in the uploads directory are logged as skipped with the original filename and ticket reference. We verify upload success by checking the Gorgias API response before proceeding to ticket insert.

  6. Gorgias API write with rate-limit handling

    We write migrated records to Gorgias via the REST API using Basic Auth (email and API key). We use exponential backoff on 429 Too Many Requests responses, with batch chunking at 50 tickets per request for create operations and 10 messages per request for conversation history. Agents are created first (to satisfy the assignee_id reference on tickets), then customers, then tickets, then messages. We resolve the HelpDeskZ user_id to the Gorgias agent or customer ID at write time using the lookup table built during extraction.

  7. Cutover, validation, and handoff

    We run a final delta migration of any records created or modified in HelpDeskZ during the migration window, then mark HelpDeskZ as read-only (or shut down the mail polling) to begin cutover. We perform a row-count reconciliation between the extracted source records and the inserted Gorgias records, flagging any discrepancies for manual review. We deliver a migration report listing migrated, skipped, and failed records. We deliver the automation rebuild requirements document for Gorgias Rules and Macros. We provide a one-week hypercare window for reconciliation issues raised by the support team.

Platform deep dives

Context on both ends of the pair

HelpDeskZ logo

HelpDeskZ

Source

Strengths

  • Zero licensing cost — GPL-licensed PHP software with no subscription or per-seat fees.
  • Complete data ownership via self-hosting — the database and uploads live on your own server.
  • Email-to-ticket via POP3/IMAP allows support teams to operate from existing mailboxes without a separate portal interface.
  • Lightweight and fast on modest hardware — designed for low-traffic environments where simplicity matters more than enterprise features.

Weaknesses

  • No documented public REST API, which blocks programmatic integrations and makes migration tooling development a custom database exercise.
  • Open-source community is small and fragmented — few plugins, no active forum, and the official vendor focuses on paid products instead.
  • Lacks built-in SLA tracking, canned responses, reporting dashboards, and multi-channel support that are standard in modern SaaS help desk platforms.
  • Self-hosting places server maintenance, security patching, and backup management entirely on the customer, with no managed hosting option from the vendor.
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 HelpDeskZ 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

    HelpDeskZ: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most HelpDeskZ to Gorgias migrations land between three and five weeks for accounts under 10,000 tickets and 500 users with standard custom fields. Migrations with high attachment volume (over 50,000 files), corrupted PHP serialized custom fields, non-standard status encodings, or user counts above 1,000 agents extend to six to ten weeks because of batch sizing, per-record unserialization, and retry logic. The database connectivity setup (Step 1) and the Gorgias custom property configuration (Step 2) are the longest lead-time items before extraction begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from HelpDeskZ.
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