Helpdesk migration
Field-level mapping, validation, and rollback between Intercom and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
Intercom
Source
Zoho Desk
Destination
Compatibility
14 of 14
objects map 1:1 between Intercom and Zoho Desk.
Complexity
CModerate
Timeline
3-5 weeks
Try the reverse
Overview
Moving from Intercom to Zoho Desk is a paradigm shift from a conversation-first to a ticket-first support model. Intercom organizes around Contacts, Companies, and threaded Conversations with nested Parts for each message, note, and assignment change. Zoho Desk uses a structured ticket system with separate Thread, Comment, and Attachment child modules that derive from a parent Ticket. We transform the conversation-part hierarchy into the ticket-thread model, resolving Intercom's conversation assignee and team fields into Zoho Desk's agent assignment and department lookups. Intercom's help center Articles map to Zoho Desk's Knowledge Base, and custom attributes on Contacts and Conversations map to Zoho Desk custom fields within the per-edition field limits. Intercom's Fin AI automations, Outbound workflows, and custom bots cannot migrate as code; we deliver a written inventory documenting each automation's trigger, conditions, and actions for your admin team to rebuild in Zoho Desk's workflow rules. Conversation transcripts require individual REST API calls because Intercom's S3 JSON export deliberately omits them.
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.
Source platform
Intercom platform overview
Scorecard, SWOT, gotchas, and pricing for Intercom.
Destination platform
Zoho Desk platform overview
Scorecard, SWOT, gotchas, and pricing for Zoho Desk.
Data migration guide
The complete Zoho Desk migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Source platform guide
Intercom migration guide
Understand the data you're exporting from Intercom before mapping it.
Destination checklist
Zoho Desk migration checklist
Pre- and post-cutover tasks for moving onto Zoho Desk.
Source checklist
Intercom migration checklist
Exit checklist for unwinding your Intercom setup cleanly.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Intercom object lands in Zoho Desk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Intercom
Contact
Zoho Desk
Contact
1:1Intercom Contacts (Users and Leads) map 1:1 to Zoho Desk Contacts. We preserve email, name, phone, custom attributes, and any avatar metadata. The contact's original Intercom created_at timestamp is held in a custom field (intercom_created_at__c) because Zoho Desk's created_at date for imported tickets resets to migration time per Zoho's import constraints. The Contact-to-Account link (via Intercom's company association) resolves to a Zoho Desk Account lookup on Contact at migration time.
Intercom
Company
Zoho Desk
Account
1:1Intercom Companies map 1:1 to Zoho Desk Accounts. HubSpot-like attributes (plan, monthly_spend, industry) map to the corresponding Zoho Desk Account fields. Account is created before Contact migration so that the AccountId lookup is satisfied at the moment of Contact insert. Company name becomes Account Name, and the company domain maps to the Account Website field as a dedupe reference.
Intercom
Conversation
Zoho Desk
Ticket
1:1Intercom Conversations map to Zoho Desk Tickets as the primary parent record. The conversation subject (first message body or a subject field if set) becomes Ticket Subject. Conversation state (open, closed, snoozed) maps to Zoho Desk Ticket Status. Intercom's conversation priority maps to Zoho Desk Priority (Low, Medium, High, Urgent). The conversation assignee (admin_id) resolves to a Zoho Desk Agent lookup. The conversation team assignment resolves to the Zoho Desk Department lookup. Custom attributes on the conversation are written to Zoho Desk custom ticket fields, subject to the per-edition field limit (50/150/230).
Intercom
Conversation Part
Zoho Desk
Ticket Thread
1:1Intercom Conversation Parts (individual messages, internal notes, assignment changes, status changes) map to Zoho Desk Ticket Threads in chronological order. We preserve the part author (admin or contact), the part type (comment, note, assignment, close), and the message body. Internal notes in Intercom map to internal (private) threads in Zoho Desk if the destination supports private comments; otherwise they migrate as internal agent-visible threads with a flag. Thread ordering is preserved by the Thread posted timestamp.
Intercom
Admin
Zoho Desk
Agent
1:1Intercom Admins map to Zoho Desk Agents. We resolve each admin by email match against the Zoho Desk Agent table. Agent role (admin, agent, subscriber) maps to Zoho Desk role (administrator, agent). Agent away/available state is not migrated as it reflects a live operational status rather than historical record. Team memberships in Intercom map to Department assignments in Zoho Desk.
Intercom
Team
Zoho Desk
Department
1:1Intercom Teams map to Zoho Desk Departments. We preserve team-inbox routing assignments so that tickets originally routed to a specific Intercom inbox land in the corresponding Zoho Desk Department. Multi-team membership (an admin belonging to more than one team) maps to the primary department, with secondary team membership noted in a custom field for the customer to resolve in Zoho Desk post-migration.
Intercom
Tag
Zoho Desk
Tag
1:1Intercom Tags applied to Contacts and Conversations migrate to Zoho Desk Tags. Tags on Contacts map to the Contact record's tag field. Tags on Conversations map to the Ticket's tag field. Tag associations are preserved at migration time as a snapshot because dynamic recomputation of tag membership is a destination-platform function in Zoho Desk.
Intercom
Segment
Zoho Desk
Contact List
1:1Intercom Segments are dynamic audience definitions based on Contact attributes. We map the membership snapshot at migration time by listing all Contacts that match each segment definition. Zoho Desk does not have a native dynamic segment equivalent, so the snapshot migrates as a static Contact List and the segment rebuild is documented as an admin task using Zoho Desk's Contacts filtering and list features.
Intercom
Article
Zoho Desk
Knowledge Base Article
1:1Intercom help center Articles migrate to Zoho Desk Knowledge Base Articles. Article title, HTML body, author, publication state, and collection assignment migrate. Intercom's collection hierarchy maps to Zoho Desk's section and category structure. Public visibility settings require manual verification post-migration because article-specific public URLs change in Zoho Desk. Attachments within articles migrate to Zoho Desk's document storage with CDN references updated in article HTML.
Intercom
Article Collection
Zoho Desk
Knowledge Base Category / Section
1:1Intercom Article Collections map to Zoho Desk Knowledge Base categories and sections. We preserve the collection name, description, and parent-child hierarchy. The section-level ordering in Intercom maps to the article display order in Zoho Desk sections.
Intercom
Custom Attribute (Contact)
Zoho Desk
Custom Field (Contact)
1:1Intercom custom attributes on Contacts map to Zoho Desk custom fields on the Contact module. We identify all custom attribute definitions and their types during scoping (string, number, date, boolean, list). Type mapping follows Zoho Desk field types (single-line, multi-line, numeric, date, dropdown). Labels are limited to 50 characters per Zoho Desk custom field constraints; labels exceeding this are truncated. Custom field labels may only contain A-Z, 0-9, and specific special characters; unsupported characters are replaced with underscores per Zoho Desk import rules.
Intercom
Custom Attribute (Conversation)
Zoho Desk
Custom Field (Ticket)
1:1Intercom custom attributes on Conversations map to Zoho Desk custom fields on the Ticket module. We audit the full attribute list during scoping and pre-create destination custom fields before migration. Per-edition field limits apply (50 Standard, 150 Professional, 230 Enterprise). If the Intercom workspace has more custom ticket attributes than the destination edition allows, we flag the overflow and prioritize business-critical fields for migration, with the remainder documented for the customer to resolve post-migration.
Intercom
Ticket object (Intercom native)
Zoho Desk
Ticket
1:1Intercom's structured Ticket object (distinct from Conversations) maps to Zoho Desk Ticket records with its own status, priority, custom fields, and assignee. Ticket custom fields migrate following the same mapping rules as conversation custom attributes, subject to the per-edition field limit. The Intercom Ticket's conversation thread and its ticket associations are merged into the Zoho Desk Ticket Thread structure.
Intercom
Custom Object
Zoho Desk
Custom Object
1:1Intercom Custom Objects (user-defined data structures with their own schema and relationships) map to Zoho Desk Custom Objects or Zoho Creator applications depending on complexity. We pre-create the destination schema via Zoho Desk's custom object API or Zoho Creator before data import. Relationships between custom objects and standard objects (Contact, Company, Conversation) are preserved as lookup fields at migration time.
| Intercom | Zoho Desk | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Conversation | Ticket1:1 | Fully supported | |
| Conversation Part | Ticket Thread1:1 | Fully supported | |
| Admin | Agent1:1 | Fully supported | |
| Team | Department1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Segment | Contact List1:1 | Fully supported | |
| Article | Knowledge Base Article1:1 | Fully supported | |
| Article Collection | Knowledge Base Category / Section1:1 | Fully supported | |
| Custom Attribute (Contact) | Custom Field (Contact)1:1 | Fully supported | |
| Custom Attribute (Conversation) | Custom Field (Ticket)1:1 | Fully supported | |
| Ticket object (Intercom native) | Ticket1:1 | Fully supported | |
| Custom Object | Custom Object1: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.
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
Zoho Desk gotchas
Agent email identity determines comment ownership after migration
Blueprints and SLA policies do not export via API
File upload capped at 10GB per migration batch
Tier-gated export and migration capabilities
Inbound migration is two-phase with a hard Phase 2 cutoff
Pair-specific challenges
Migration approach
Discovery and schema audit
We audit the Intercom workspace across all modules: Contacts, Companies, Conversations, Admins, Teams, Tags, Segments, Articles, Collections, Tickets, Custom Attributes, and Custom Objects. We identify every custom attribute definition, its data type, and the objects it extends. We assess conversation volume and flag the transcript-retrieval requirement (because S3 export omits them). We review the Zoho Desk destination edition and confirm the custom field limit against the custom attribute count. The discovery output is a written migration scope with object inventory, custom field overflow report, and timeline estimate.
Field mapping design
We design the field mapping for every object pair. For the Conversation-to-Ticket transformation, we map conversation state to Ticket Status, conversation priority to Ticket Priority, and conversation assignee to Ticket Agent. We map the conversation's company association to AccountId on the ticket if the Intercom conversation is linked to a Company. For Articles, we map Intercom Collections to Zoho Desk sections and categories with the parent-child hierarchy preserved. Custom attributes are mapped field-by-field with type conversion (Intercom list to Zoho Desk dropdown, boolean to checkbox field, date string to Zoho Desk date field). We flag any custom attributes that exceed the Zoho Desk edition's field limit for prioritization.
Conversation extraction and transformation
We extract Intercom conversations via the REST API using cursor pagination. Because S3 JSON exports omit transcripts, we call the retrieve-conversation endpoint individually for each conversation to capture the full message thread. We transform each conversation into a Zoho Desk Ticket parent record with nested Thread entries for each message part, preserving author (admin or contact), part type (comment, note, assignment), and message body. We resolve Intercom admin_id to Zoho Desk Agent by email match, and Intercom team_id to Zoho Desk Department. Conversation timestamps are preserved in a custom timestamp field on the Ticket for reporting continuity where Zoho Desk's API permits custom timestamp fields.
Contact, Account, and Agent provisioning
We extract Intercom Contacts and Companies in parallel with conversation extraction. We provision Zoho Desk Accounts first (from Intercom Companies), then Contacts with the AccountId lookup resolved at insert time. We extract Intercom Admins and map them to Zoho Desk Agents by email match. Any Intercom Admin without a matching Zoho Desk Agent is placed in a reconciliation queue for the customer to provision before the contact migration phase resumes. Team memberships are mapped to Department assignments in Zoho Desk.
Bulk insert and parallel run validation
We insert records into Zoho Desk in dependency order: Agents (validated), Accounts, Contacts, Tickets (with threads), Articles, Custom Objects. Each phase emits a row-count reconciliation report comparing the Intercom source count to the Zoho Desk destination count. We run a parallel run with a subset of production data (typically 100-200 records per object) and the customer spot-checks the transformed records against the source before the full migration begins. Any mapping corrections are made during the parallel run, not during the production migration.
Cutover, delta sync, and automation inventory delivery
We freeze Intercom writes during cutover, run a final delta migration of any records modified during the migration window, then enable Zoho Desk as the system of record. We deliver the written automation inventory documenting every Intercom workflow, bot, and sequence with its trigger, conditions, actions, and recommended Zoho Desk workflow rule equivalent. We support a one-week hypercare window where we resolve reconciliation issues raised by the support team. We do not rebuild Intercom workflows as Zoho Desk workflow rules inside the migration scope; that is a separate engagement.
Platform deep dives
Intercom
Source
Strengths
Weaknesses
Zoho Desk
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 5 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 Intercom and Zoho Desk.
Object compatibility
5 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
Intercom: 10,000 req/min per private app; 25,000 req/min per workspace (private apps share workspace quota).
Data volume sensitivity
Intercom 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 Intercom to Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your Intercom to Zoho Desk migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Intercom
Other ways to arrive at Zoho Desk
Same-Helpdesk migrations
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.