Helpdesk migration
Field-level mapping, validation, and rollback between Frappe Helpdesk and Gorgias. We move data and schema; workflows are rebuilt natively in Gorgias.
Frappe Helpdesk
Source
Gorgias
Destination
Compatibility
10 of 14
objects map 1:1 between Frappe Helpdesk and Gorgias.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Frappe Helpdesk and Gorgias are architecturally different platforms that require a structured migration approach. Frappe Helpdesk stores everything in PostgreSQL as DocType records; Gorgias is a REST-based SaaS helpdesk with a ticket-centric data model built for Shopify and e-commerce workflows. The migration requires extracting HD Ticket, HD Customer, Communication, and SLA records from the Frappe database, resolving HD Ticket Template custom field gaps that are a known Frappe Helpdesk configuration issue, mapping Frappe status and priority enums to Gorgias ticket states, and ingesting via Gorgias API with leaky-bucket rate limiting (40-80 requests per 20 seconds on most tiers). Assignment Rules, Portal Settings, and Workflow definitions do not migrate as configuration; we deliver a written inventory for the customer's admin to rebuild in Gorgias. Private file attachments stored in Frappe's private files directory may require session-based re-download or manual export during the inventory phase.
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 Frappe Helpdesk 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.
Frappe Helpdesk
HD Ticket
Gorgias
Ticket
1:1HD Ticket records map to Gorgias Ticket with status, priority, subject, description HTML, creation timestamp, and modification timestamp transferred directly. The Frappe resolution_status and resolution_date map to Gorgias ticket state transitions. HD Ticket Template custom fields are flagged during discovery and mapped to Gorgias custom ticket attributes (Settings > Ticket Fields). Frappe Helpdesk ticket ID is preserved in a custom Gorgias field frappe_ticket_id__c for audit traceability. If the source instance has the GitHub #3003 site configuration conflict (tickets invisible in agent view), we access data via direct PostgreSQL connection rather than the Frappe API layer.
Frappe Helpdesk
HD Customer
Gorgias
Customer
1:1HD Customer records (name, email, phone, organization link, creation timestamp) map to Gorgias Customer. Frappe HD Customer custom fields (via Frappe Custom Field DocType) map to Gorgias customer attributes if they exist, or are flagged as unmapped for manual re-entry. Portal user status on HD Customer maps to Gorgias customer email verification state. We resolve the Frappe HD Customer to HD Ticket linkage by ticket.customer_email match against the Gorgias customer table during ingestion.
Frappe Helpdesk
Communication
Gorgias
Message
1:1Every HD Ticket Communication record (agent replies and customer messages with timestamp, author, and message body) migrates as a Gorgias Message attached to the corresponding ticket. We preserve chronological thread ordering by setting the Gorgias Message created_at to the original Frappe Communication creation timestamp. HTML body content from Frappe migrates as-is; embedded image references are re-downloaded where accessible via authenticated Frappe session. Message author type (agent vs customer) maps to Gorgias sender type.
Frappe Helpdesk
SLA Policy
Gorgias
SLA
1:1Frappe SLA Policies (response and resolution time windows by priority or ticket type) map to Gorgias SLA Rules. The SLA first_response_by and resolution_by deadline timestamps migrate as Gorgias SLA timer fields. Priority mapping: Frappe Low to Gorgias low, Normal to medium, High to high, Urgent to urgent. If Gorgias SLA Rules are not available on the customer's tier (Starter and Basic plans omit SLA Rules), we document the gap and advise upgrading or rebuilding SLA tracking manually post-migration.
Frappe Helpdesk
Team
Gorgias
Team
1:1Frappe Helpdesk Teams (agent groupings, email inbox routing, team-level SLA assignments) map to Gorgias Teams. We extract team name, inbox email address, and SLA policy linkage. If the destination Gorgias account uses Inboxes rather than Teams, we map Frappe teams to Gorgias Inbox configurations during scoping. Team membership is resolved after the Agent mapping step.
Frappe Helpdesk
Agent
Gorgias
Agent
1:1Frappe Agent records (user account, role, permissions) map to Gorgias Agent profiles. We match by email address. Agent active status, first name, last name, and email transfer. Frappe role-based permissions (Agent, Ticket Agent, FAQ Manager) map to Gorgias agent role permissions (Agent, Admin). The customer's Gorgias admin provisions agents before migration begins so that OwnerId references resolve on ticket import.
Frappe Helpdesk
HD Customer Organization
Gorgias
Customer Organization / Shopify Shop
lossyFrappe HD Customer records can link to an Organization field representing the customer's company. In Gorgias, company context is available through the Shopify store association or as a custom customer attribute. We extract Frappe organization name and map it to a Gorgias customer attribute org_name__c or to the Shopify shop name if the customer operates a multi-brand Shopify setup. This is a configuration step during scoping.
Frappe Helpdesk
Knowledge Base Article
Gorgias
Article
1:1Frappe KB Articles (category hierarchy, HTML content, article title, creation date) map to Gorgias Articles in the Help Center. Article view counts and feedback ratings from Frappe do not transfer as Gorgias does not expose these as importable fields. Category hierarchy from Frappe (HD Article Category) maps to Gorgias Article categories. If the Frappe KB is large (over 500 articles), we migrate in batches and validate category assignments against the Gorgias Help Center structure.
Frappe Helpdesk
Canned Response
Gorgias
Saved Reply
1:1Frappe Saved Replies (pre-written response templates with subject and content) migrate to Gorgias Saved Replies. The template body transfers as rich text. Dynamic variable substitution syntax in Frappe templates (such as ticket.customer_name or ticket.subject) does not automatically convert to Gorgias syntax; we flag any dynamic variable usage and document the equivalent Gorgias templating format (such as {{ticket.customerName}} or {{customer.email}}) for the customer's admin to update post-migration.
Frappe Helpdesk
Tag
Gorgias
Tag
1:1Tags applied to HD Ticket records (via Frappe Tag entry linked to the ticket) map to Gorgias Tags on the corresponding ticket. We extract all distinct tag names from the Frappe Tag table, validate they meet Gorgias tag naming constraints, and attach them to migrated tickets by ticket ID lookup. Tags used for internal categorization in Frappe transfer as Gorgias tags for agent-side filtering.
Frappe Helpdesk
Attachment
Gorgias
Attachment
1:1Ticket and communication attachments stored as Frappe File records linked to HD Ticket or Communication DocTypes are migrated as Gorgias ticket attachments. Public file URLs re-download via HTTP. Private file URLs (a known Frappe limitation where files require authenticated session access) are flagged during inventory. We advise customers to temporarily make Frappe private files public or export them manually during the discovery phase, or to provision a Frappe API session cookie for our extraction job to use for private file re-download.
Frappe Helpdesk
HD Ticket Template
Gorgias
Ticket Field Configuration
lossyThis is a Frappe-specific configuration record that does not have a direct Gorgias equivalent but requires attention. HD Ticket Template is the mechanism by which custom fields on HD Ticket become visible in the agent form. During migration, custom field definitions transfer but the Template entries do not. We inventory all custom fields during discovery, map them to Gorgias ticket attributes, and deliver a field-by-field configuration guide so the customer's Gorgias admin adds each custom field to the ticket form manually post-import. Without this step, agents see empty values for migrated custom field data even though the data exists in Gorgias.
Frappe Helpdesk
Assignment Rule
Gorgias
Rule (not migrated as code)
lossyFrappe Assignment Rules (auto-assignment conditions based on subject keywords, customer tier, ticket type) are configuration records that require manual rebuild in Gorgias Rules. We do not migrate them as executable code because the rule engine models differ. We deliver a written inventory of every active Assignment Rule including its trigger conditions, assignment target (agent or team), and priority, mapped to the equivalent Gorgias Rule trigger and action. The customer's admin rebuilds these in Gorgias Settings > Rules post-migration.
Frappe Helpdesk
Customer Portal Settings
Gorgias
Help Center Settings
lossyFrappe Helpdesk portal branding, allowed ticket creation types, and visibility settings are configuration records that do not transfer to Gorgias as data. We document the source portal configuration (portal name, allowed channels, ticket type restrictions, white-label settings) and deliver a setup guide for re-configuring the Gorgias Help Center with equivalent settings. This is a manual post-migration step for the customer's admin.
| Frappe Helpdesk | Gorgias | Compatibility | |
|---|---|---|---|
| HD Ticket | Ticket1:1 | Fully supported | |
| HD Customer | Customer1:1 | Fully supported | |
| Communication | Message1:1 | Fully supported | |
| SLA Policy | SLA1:1 | Fully supported | |
| Team | Team1:1 | Fully supported | |
| Agent | Agent1:1 | Fully supported | |
| HD Customer Organization | Customer Organization / Shopify Shoplossy | Fully supported | |
| Knowledge Base Article | Article1:1 | Fully supported | |
| Canned Response | Saved Reply1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| HD Ticket Template | Ticket Field Configurationlossy | Fully supported | |
| Assignment Rule | Rule (not migrated as code)lossy | Fully supported | |
| Customer Portal Settings | Help Center Settingslossy | 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.
Frappe Helpdesk gotchas
HD Ticket custom fields require HD Ticket Template configuration
Workflow resets after Frappe version upgrades
Errors when Helpdesk is installed on existing ERPNext + HR sites
Rate limiting is time-based, not request-count based
Private file attachments require authentication to re-download
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 inventory
We connect to the source Frappe Helpdesk PostgreSQL database (read-only) and extract a full record inventory across HD Ticket, HD Customer, Communication, SLA Policy, Team, Agent, KB Article, Canned Response, Tag, and Attachment tables. We probe for the GitHub #3003 site configuration conflict and assess private file accessibility. We deliver a written data inventory report showing record counts per object, custom field definitions, SLA policy count, and conversation thread volume. The customer reviews the inventory, confirms scope, and provisions Gorgias agents before migration begins.
Custom field and template gap analysis
We map every HD Ticket custom field definition (from the Frappe Custom Field DocType) to a Gorgias ticket attribute specification. We cross-reference each custom field against HD Ticket Template entries to identify which fields require agent-form visibility configuration in Gorgias. We deliver a custom field gap report and the Gorgias configuration guide for the customer's admin to use post-import. SLA policy definitions are mapped to Gorgias SLA Rules with priority and deadline mapping documented.
Gorgias sandbox ingestion and reconciliation
We run a test migration into the customer's Gorgias sandbox environment using a representative data sample (typically the 90-day rolling window of tickets). We reconcile record counts, verify thread ordering in Messages, confirm SLA timer field values, and validate tag attachment. The customer's support team lead spot-checks 25-50 tickets against the Frappe source and signs off the mapping before production migration. Any field mapping corrections and custom field configuration gaps are resolved at this stage.
Agent and team provisioning validation
We extract all distinct Frappe Agent records and match by email against the Gorgias destination agent list. Any Frappe Agent without a corresponding Gorgias agent profile is held in a reconciliation queue. The customer's Gorgias admin provisions missing agents and assigns them to appropriate Inboxes or Teams. Migration cannot proceed past ticket ingestion because Gorgias requires a valid agent owner on each ticket. We validate agent provisioning completeness before scheduling the production migration window.
Production migration in dependency order
We execute production migration in dependency sequence: Gorgias Agents and Teams (manual, validated in step 4), Customers (HD Customer as Gorgias Customer), Tickets (HD Ticket with SLA deadline fields and fr_ticket_id preserved for audit), Messages (Communication records attached to tickets by ticket ID with chronological ordering), Tags (attached to tickets by ID lookup), Attachments (re-downloaded from Frappe file URLs and uploaded to Gorgias), KB Articles (batch migrated to Gorgias Help Center by category), and Saved Replies (Canned Responses to Gorgias Saved Replies). We apply Gorgias leaky-bucket rate limiting throughout and emit a row-count reconciliation report after each phase.
Cutover, delta sync, and Workflow rebuild handoff
We freeze Frappe Helpdesk writes during cutover, run a final delta migration of any tickets or messages created during the migration window, then enable Gorgias as the system of record. We deliver the Assignment Rule and SLA trigger workflow inventory to the customer's admin with Gorgias Rule equivalents documented. We deliver the HD Ticket Template gap report with Gorgias field configuration guide. We provide a one-week hypercare window to resolve reconciliation issues reported by the support team. We do not rebuild Frappe Assignment Rules as Gorgias Rules as part of the migration scope; that work is a separate engagement or internal admin task.
Platform deep dives
Frappe Helpdesk
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 Frappe Helpdesk 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
Frappe Helpdesk: Fixed-window rate limiting based on cumulative request time; no public per-endpoint limit documented.
Data volume sensitivity
Frappe Helpdesk 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 Frappe Helpdesk to Gorgias migration scoping. Not seeing yours? Book a call.
Walk through your Frappe Helpdesk 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 Frappe Helpdesk
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.