Helpdesk migration
Field-level mapping, validation, and rollback between Frappe Helpdesk and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
Frappe Helpdesk
Source
Intercom
Destination
Compatibility
11 of 12
objects map 1:1 between Frappe Helpdesk and Intercom.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Frappe Helpdesk to Intercom shifts from a traditional ticketing workflow to a conversation-first messaging model. Frappe Helpdesk stores tickets as HD Ticket doctypes with linked Communication records in PostgreSQL; Intercom represents the same data as Contacts linked to Conversations with a threaded Conversation Part history. We resolve that structural difference by creating Intercom Contacts before any Conversation import, mapping SLA deadline fields to Intercom SLA assignments, and threading every Communication record from Frappe into the correct Conversation Part sequence. Custom fields on HD Ticket require explicit HD Ticket Template configuration in the source, and Intercom Custom Attributes serve a similar role on the destination side. Assignment Rules and SLA triggers are not migratable as automation code; we deliver a written inventory for the customer to rebuild using Intercom's Rules and SLA Builder. Knowledge base articles map to Intercom Articles with collection hierarchy preserved, though view counts and article feedback ratings do not transfer.
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 Intercom, 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
Intercom
Conversation / Ticket
1:1Frappe HD Ticket records map to Intercom Conversations. The ticket subject becomes the Conversation title, ticket status (Open, Pending, Resolved, Closed) maps to Intercom's open, closed, and snoozed states, and priority maps to a Conversation priority attribute. Creation and modification timestamps transfer as conversation metadata. The Intercom conversation must reference an existing Contact, so we create all HD Customer records before importing tickets to satisfy the Contact requirement.
Frappe Helpdesk
HD Customer
Intercom
Contact
1:1Frappe HD Customer records map to Intercom Contacts. Name, email, phone, and organization fields transfer directly. Custom fields on HD Customer require explicit mapping to Intercom Custom Attributes, which must be pre-created in Intercom as text, number, date, list, or boolean types before migration. Any custom field that references another HD Ticket or HD Customer doctype cannot map directly and is flagged as a lookup resolution issue during scoping.
Frappe Helpdesk
Communication
Intercom
Conversation Part
1:1Every Communication record linked to an HD Ticket becomes an Intercom Conversation Part. We preserve chronological order by setting the Conversation Part timestamp to the original Communication creation date. Agent messages and customer messages are distinguished by the communication author type. Attachments on Communication records attach to the corresponding Conversation Part as Intercom attachments, subject to Intercom's supported file type list (images, PDFs, text files).
Frappe Helpdesk
Team
Intercom
Team
1:1Frappe Helpdesk Teams map directly to Intercom Teams. Team name, email inbox routing rules, and team-level SLA assignments transfer as configuration records. Intercom Teams must exist before agent assignment can resolve, so we create Teams before Agents during migration.
Frappe Helpdesk
Agent
Intercom
Teammate / Admin
1:1Frappe Helpdesk agent records (linked to Frappe User accounts) map to Intercom Teammates. Agent roles and permissions are not directly transferable because Intercom uses a simpler admin and agent role model. We resolve agents by matching the Frappe User email to the Intercom Teammate email address. Any Frappe Agent without a corresponding Intercom Teammate is held in a reconciliation queue for the customer's admin to provision before ticket import resumes.
Frappe Helpdesk
SLA Policy
Intercom
SLA
1:1Frappe Helpdesk SLA Policies with response and resolution time windows map to Intercom SLA definitions. Intercom SLAs are attached to Inbox Teams rather than individual tickets, so we map each Frappe SLA Policy to the Intercom Team that handles the corresponding ticket priority. SLA breach timestamps from Frappe do not transfer as historical breach records; Intercom calculates SLA adherence from the migration date forward.
Frappe Helpdesk
Assignment Rule
Intercom
Rule (rebuild required)
lossyFrappe Helpdesk Assignment Rules with keyword, priority, and customer tier conditions have no direct Intercom equivalent. Intercom's Rules engine handles routing, assignment, and inbox routing but uses a different condition syntax. We export all Assignment Rules as a written inventory with their trigger conditions, action assignments, and priority order, and the customer's Intercom admin rebuilds them using Intercom Rules after migration.
Frappe Helpdesk
Knowledge Base Article
Intercom
Article
1:1Frappe Helpdesk KB Articles with category hierarchy map to Intercom Articles organized in Collections. Article title, body content in HTML, and category assignment transfer. Article view counts and feedback ratings do not transfer because Intercom does not support importing these metrics; Intercom tracks them natively from the migration date forward.
Frappe Helpdesk
Canned Response
Intercom
Saved Reply
1:1Frappe Helpdesk canned responses (pre-written templates with subject and body) map to Intercom Saved Replies as text blobs. Any dynamic variable substitution syntax such as {{ticket.customer_name}} in Frappe does not transfer and must be reconfigured in Intercom using Intercom's {{requester.name}} and {{conversation.id}} variable syntax.
Frappe Helpdesk
Custom Field (HD Ticket)
Intercom
Custom Attribute (Conversation)
1:1Custom fields on HD Ticket require two-step handling. First, we map the field definitions to Intercom Custom Attributes on the Conversation object, which must be pre-created in Intercom with matching data types (text, number, date, list, boolean). Second, we map the field values from each ticket to the corresponding Custom Attribute. Note that custom fields on HD Ticket require explicit HD Ticket Template configuration in Frappe; if a field was not added to the Template, it may not have visible data even though the field exists in the database. We flag these during discovery and advise the customer to check Template configuration before migration.
Frappe Helpdesk
Tag
Intercom
Tag
1:1Tags on HD Tickets map to Intercom Tags. Tag names transfer as strings. Intercom Tags are applied to both Contacts and Conversations, so a tag used for ticket classification appears on both the migrated Conversation and the associated Contact in Intercom.
Frappe Helpdesk
Attachment
Intercom
Attachment
1:1Ticket and Communication attachments in Frappe are stored in the private files directory or as File doctypes. Intercom supports image, PDF, and text file attachments on Conversations and Conversation Parts. We re-download accessible file attachments and attach them to the corresponding Intercom Conversation Part. Private files that require Frappe authentication may be inaccessible; we flag these during the inventory phase and advise the customer to temporarily make them public or export them manually.
| Frappe Helpdesk | Intercom | Compatibility | |
|---|---|---|---|
| HD Ticket | Conversation / Ticket1:1 | Fully supported | |
| HD Customer | Contact1:1 | Fully supported | |
| Communication | Conversation Part1:1 | Fully supported | |
| Team | Team1:1 | Fully supported | |
| Agent | Teammate / Admin1:1 | Fully supported | |
| SLA Policy | SLA1:1 | Fully supported | |
| Assignment Rule | Rule (rebuild required)lossy | Fully supported | |
| Knowledge Base Article | Article1:1 | Fully supported | |
| Canned Response | Saved Reply1:1 | Fully supported | |
| Custom Field (HD Ticket) | Custom Attribute (Conversation)1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Attachment1: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.
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
Intercom gotchas
S3 JSON export omits conversation transcripts
Workspace isolation prevents workflow migration
Fin AI resolution fees compound with automation success
Two-year conversation history limit on historical export
Private app rate limits share workspace quota
Pair-specific challenges
Migration approach
Discovery and data inventory
We audit the source Frappe Helpdesk instance across PostgreSQL DocTypes including HD Ticket, HD Customer, Communication, Team, Agent, SLA Policy, Assignment Rule, KB Article, Canned Response, Tag, and File records. We identify the HD Ticket Template configuration to determine which custom fields are actually rendered. We assess site health for the ERPNext + HR module conflict (GitHub #3003) and document whether a direct database connection is required. The discovery output is a written scope with record counts per object, a list of custom fields requiring HD Ticket Template verification, and a flag for any inaccessible private attachments.
Intercom workspace preparation
We create the Intercom workspace structure before migration: Teams (mirroring Frappe Teams), SLA definitions (mirroring Frappe SLA Policies by priority and team), and Custom Attributes on Contact and Conversation (pre-created for every custom field identified in discovery). We configure Intercom Inbox routing rules as placeholders and document them as pending the Assignment Rule rebuild phase. This phase validates that the destination workspace is ready to receive data in the correct dependency order.
Contact and conversation pre-creation order
Intercom requires Contacts to exist before Conversations can reference them. We extract all HD Customer records first, transform them into Intercom Contacts (resolving organization references and custom field values), and create them via the Intercom Contacts API. Only after Contact creation is confirmed do we extract HD Ticket records and their linked Communication records, creating Intercom Conversations and threading each Communication as a Conversation Part with correct timestamp ordering.
Knowledge base and configuration migration
We migrate KB Articles as Intercom Articles organized in Collections, preserving the category hierarchy from Frappe. Article view counts and feedback ratings are not transferred. Canned Responses migrate as Saved Replies in plain text. We export a written inventory of all Assignment Rules and SLA trigger configurations for the customer to rebuild in Intercom Rules and SLA Builder post-migration.
Sandbox validation and reconciliation
We run a full migration into an Intercom sandbox or a temporary workspace using production-like data volume. The customer's support operations lead reconciles record counts (Contacts, Conversations, Conversation Parts, Articles) against the Frappe source, spot-checks 25-50 random tickets for thread completeness and timestamp ordering, and verifies that SLA assignments and team routing resolve correctly. Any mapping corrections happen here before production migration begins.
Production migration, cutover, and rebuild handoff
We freeze Frappe Helpdesk writes during the cutover window, run a final delta migration of any records modified during the migration period, then enable Intercom as the system of record. We deliver the Assignment Rule and SLA trigger inventory document to the customer's Intercom admin. We do not rebuild Frappe Assignment Rules as Intercom Rules inside the migration scope; that is a separate configuration task for the customer's team. We support a five-day hypercare window to resolve data reconciliation issues raised during the first week of live Intercom operations.
Platform deep dives
Frappe Helpdesk
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 4 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 Intercom.
Object compatibility
4 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 Intercom migration scoping. Not seeing yours? Book a call.
Walk through your Frappe Helpdesk to Intercom 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 Intercom
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.