Helpdesk migration
Field-level mapping, validation, and rollback between Awesome Support and Gorgias. We move data and schema; workflows are rebuilt natively in Gorgias.
Awesome Support
Source
Gorgias
Destination
Compatibility
12 of 12
objects map 1:1 between Awesome Support and Gorgias.
Complexity
CModerate
Timeline
2-3 weeks
Overview
Moving from Awesome Support to Gorgias is a plugin-to-SaaS migration that requires reading ticket data from the WordPress database rather than a native export endpoint, unless the paid REST API add-on is active. Awesome Support stores Tickets as a custom post type (wp_posts with post_type 'ticket'), responses and private notes as wp_comments, agents as wp_users, and custom field values across multiple wpas_-prefixed postmeta keys. We enumerate every active add-on during discovery — time tracking, satisfaction surveys, Gravity Forms integration, and billing records each live in separate meta namespaces — then extract all relevant data before mapping it into Gorgias Tickets, Messages, Customers, and Ticket Properties. Gorgias does not accept migrated Workflows, Macros, or Automations as code; we deliver a written inventory of these for your admin to rebuild after cutover. The migration runs in the background with zero downtime so your team keeps working in Awesome Support until the Gorgias inbox is ready.
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 Awesome Support 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.
Awesome Support
Ticket
Gorgias
Ticket
1:1Awesome Support Tickets are custom post types in wp_posts with post_type 'ticket'. We extract ticket ID, subject, status, priority, product association, creation date, and last-modified date. Status values map to Gorgias Ticket Status (open, pending, resolved, spam); custom status labels renamed in Awesome Support wp_options are resolved to their current label before mapping. Priority from wpas_priority postmeta maps to Gorgias Ticket Priority (low, normal, high, urgent).
Awesome Support
Ticket Response (Conversation)
Gorgias
Message
1:1Responses and internal notes are stored as wp_comments attached to the ticket post type. We query comment_type to distinguish public responses from private agent notes, then map public responses to Gorgias Message with channel 'email' and private notes to Message with channel 'note' (internal). The message body, author name, author email, and timestamp migrate. Comment order is preserved for conversation threading.
Awesome Support
Agent (Staff)
Gorgias
Agent
1:1Agents are WordPress user accounts with the Awesome Support agent role or capability. We map wp_users (display_name, user_email, user_registered date) to Gorgias Agents, preserving email as the primary identifier. If an agent email already exists in the destination Gorgias account, we link rather than create a duplicate. Agent role (admin vs agent) maps to Gorgias Agent permission level.
Awesome Support
Customer (Registered WordPress User)
Gorgias
Customer
1:1Registered WordPress users who submitted tickets are mapped to Gorgias Customers using their wp_users display_name and user_email. We preserve the customer email, name, and registration date. Customer records are created before the ticket migration so that the customer association is satisfied at insert time.
Awesome Support
Customer (Guest Submitter)
Gorgias
Customer
1:1Guest ticket submitters have no wp_users entry. We extract their email and name from ticket postmeta (wpas_user_email, wpas_user_name), create a Gorgias Customer record for each distinct guest email, and link it to the associated ticket. Guest customers without an email are flagged during scoping and handled on a best-effort basis using available postmeta fields.
Awesome Support
Custom Fields
Gorgias
Ticket Properties
1:1Custom field values stored in ticket postmeta with wpas_ prefixes and any custom field add-on namespaces are enumerated per ticket. We map each distinct meta key to a Gorgias Ticket Property with a type matching the field value (text, number, checkbox, select). Properties unique to one or two tickets are flagged as sparse and optionally omitted; properties used across 80%+ of tickets are created as standard Ticket Properties for all tickets.
Awesome Support
Tags
Gorgias
Tags
1:1Tags are WordPress post terms from wp_terms joined via wp_term_taxonomy where taxonomy is 'ticket_tag'. We export the full tag list and apply each tag as a Gorgias Tag on the associated ticket. Tag count and tag assignment per ticket are preserved. If the destination Gorgias account already has tags with matching names, we link rather than duplicate.
Awesome Support
File Attachments
Gorgias
Attachment (re-uploaded)
1:1Attachments are WordPress media items associated with the ticket post. We extract attachment URLs from wp_postmeta and re-upload each file to Gorgias as a Message Attachment linked to the ticket. Large media libraries (over 1,000 attachments) require batched re-upload with retry logic. We validate each URL during extraction and flag any that return 404 or redirect errors for the customer's admin to resolve from a backup source.
Awesome Support
Satisfaction Survey Results
Gorgias
CSAT Rating
1:1Satisfaction survey responses (star ratings and feedback text) are stored in postmeta with a wpas_satisfaction_ prefix, gated behind the Satisfaction Survey add-on. We export available survey data and map it to Gorgias Ticket CSAT Rating and message content. Not all installations have this add-on active; we confirm add-on status during discovery and only migrate survey data where present.
Awesome Support
Product Association (WooCommerce/EDD)
Gorgias
Ticket Product Reference
1:1When the WooCommerce or EDD add-on is active, tickets are linked to specific products or orders via postmeta. We preserve the order ID, product ID, and order status as Ticket Properties in Gorgias so that the customer admin can re-link tickets to the Shopify order context during onboarding if the site migrates to Shopify alongside the helpdesk.
Awesome Support
Time Tracking Entries
Gorgias
Time Tracking (legacy note)
1:1Time Tracking add-on entries are stored in a dedicated table or postmeta namespace with agent, duration, and billing notes. We export these as Internal Notes on the Gorgias ticket with a structured format (agent name, duration, date) so that billing audit trails are preserved even though Gorgias does not have a native time tracking module in the same structure.
Awesome Support
Private Notes
Gorgias
Internal Note (channel 'note')
1:1Private notes are distinguishable from public responses by comment_type in wp_comments. We preserve the internal/private flag by mapping these to Gorgias Messages with channel 'note', ensuring they are not exposed to the end customer. The author agent, note content, and timestamp migrate. This mapping depends on the Private Notes add-on being active in the source installation.
| Awesome Support | Gorgias | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Ticket Response (Conversation) | Message1:1 | Fully supported | |
| Agent (Staff) | Agent1:1 | Fully supported | |
| Customer (Registered WordPress User) | Customer1:1 | Fully supported | |
| Customer (Guest Submitter) | Customer1:1 | Fully supported | |
| Custom Fields | Ticket Properties1:1 | Mapping required | |
| Tags | Tags1:1 | Mapping required | |
| File Attachments | Attachment (re-uploaded)1:1 | Mapping required | |
| Satisfaction Survey Results | CSAT Rating1:1 | Mapping required | |
| Product Association (WooCommerce/EDD) | Ticket Product Reference1:1 | Fully supported | |
| Time Tracking Entries | Time Tracking (legacy note)1:1 | Mapping required | |
| Private Notes | Internal Note (channel 'note')1: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.
Awesome Support gotchas
No REST API in the free version blocks scripted migration
Ownership change via auction disrupted support continuity
Plugin updates corrupt WordPress media library
Add-on fragmentation spreads data across multiple schemas
Guest ticket submitters lack a persistent contact record
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 add-on enumeration
We audit the source WordPress installation: confirm the active plugin list to identify which add-ons are present (Standard Bundle, REST API, Time Tracking, Satisfaction Survey, Gravity Forms, WooCommerce integration), enumerate all meta key namespaces in wp_postmeta for the ticket post type, and count ticket volumes, response counts, attachment counts, and distinct customer emails. We also read wp_options for custom status label mappings and confirm whether guest ticket submitters are present. The discovery output is a written migration scope listing every object and meta key that will be extracted and the extraction method (REST API or direct SQL).
Data extraction from WordPress
If the REST API add-on is active, we extract tickets, conversations, agents, and custom fields via the documented REST API endpoints with pagination. If the REST API add-on is not present, we run read-only SQL queries against wp_posts (WHERE post_type = 'ticket'), wp_postmeta, wp_comments, and wp_users, joined and structured server-side. All attachment URLs are collected. Guest submitter details are extracted from ticket postmeta. Time tracking and satisfaction survey data are extracted from their respective meta key prefixes. The extraction produces a structured JSON dataset per object type that feeds the transformation step.
Schema mapping and sandbox migration
We map each Awesome Support object to its Gorgias equivalent using the object mapping table, applying custom status label resolution, guest customer creation rules, and internal note channel flagging. Custom field meta keys are typed (text, number, checkbox, select) and mapped to Gorgias Ticket Properties. The transformation runs against a staging dataset first. We run a sandbox migration into a test Gorgias account so the customer's admin can verify mapping accuracy — ticket subject, status, priority, conversation threading, agent assignment, tag application, and attachment presence — before production migration begins.
Customer and agent pre-provisioning
Before importing tickets, we create all Gorgias Customers and Agents so that ticket inserts can reference existing IDs rather than creating new records inline. Registered WordPress users map to Agents and Customers by email; guest submitters create Customer records only. If a Customer email already exists in the destination (from a previous Gorgias setup or a concurrent trial), we use the existing record rather than creating a duplicate. Agent permission levels are set based on the source WordPress role.
Production migration in dependency order
We run production migration in dependency order: Customers first, then Agents, then Tickets with their Messages, Tags, and Attachments. Custom field Ticket Properties are created as each ticket is inserted. Attachment files are re-uploaded in batches with retry logic for any transient failures. Satisfaction survey results and time tracking entries are appended as internal notes after the primary ticket body migrates. Each phase emits a row-count reconciliation report comparing extracted record counts to inserted record counts before the next phase begins.
Cutover, validation, and macro inventory handoff
We freeze writes to the source WordPress installation during cutover, run a final delta migration of any tickets modified during the migration window, then enable Gorgias as the system of record. We deliver the Macro, Rule, and Canned Response inventory document to the customer's admin team with a rebuild guide per item. We support a three-day hypercare window where we resolve any reconciliation issues raised by the customer's support team against a random sample of migrated tickets. We do not rebuild Automations, Rules, or Macros inside the migration scope.
Platform deep dives
Awesome Support
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 Awesome Support 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
Awesome Support: Not publicly documented.
Data volume sensitivity
Awesome Support 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 Awesome Support to Gorgias migration scoping. Not seeing yours? Book a call.
Walk through your Awesome Support 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 Awesome Support
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.