Helpdesk migration
Field-level mapping, validation, and rollback between Freshdesk and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
Freshdesk
Source
Intercom
Destination
Compatibility
9 of 12
objects map 1:1 between Freshdesk and Intercom.
Complexity
BStandard
Timeline
2-4 weeks
Try the reverse
Overview
Moving from Freshdesk to Intercom is a paradigm shift from a ticket-queue model to a messaging-first conversation model. Freshdesk organizes work around Tickets with statuses, priorities, and SLA clocks; Intercom organizes around Conversations with a state machine (open, closed, snoozed) and a separate Tickets feature for structured cases. We resolve this structural difference during scoping by mapping Freshdesk ticket status and priority to Intercom Conversation state and priority, and we flag Freshdesk tickets that should be created as Intercom Tickets versus Conversations based on the customer's workflow intent. We migrate the full conversation thread history as Conversation Parts, preserve agent and requester attribution, and normalize non-standard Freshdesk channel types (phone, tweet, Facebook, survey) to Intercom custom channel labels. Knowledge Base articles migrate as Intercom Articles within Collections. We do not migrate Automations, Macros, SLA Policies, or Freddy AI configuration; we deliver a written inventory of these for the customer's admin to rebuild in Intercom's workflow builder.
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
Freshdesk platform overview
Scorecard, SWOT, gotchas, and pricing for Freshdesk.
Destination platform
Intercom platform overview
Scorecard, SWOT, gotchas, and pricing for Intercom.
Data migration guide
The complete Intercom migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Source platform guide
Freshdesk migration guide
Understand the data you're exporting from Freshdesk before mapping it.
Destination checklist
Intercom migration checklist
Pre- and post-cutover tasks for moving onto Intercom.
Source checklist
Freshdesk migration checklist
Exit checklist for unwinding your Freshdesk 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 Freshdesk 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.
Freshdesk
Ticket
Intercom
Conversation (or Ticket)
1:manyFreshdesk Tickets map to Intercom Conversations by default. Tickets originating from a structured request workflow or requiring formal SLA tracking are flagged for Intercom Ticket creation instead. We preserve the Freshdesk ticket_id as a custom attribute fd_ticket_id__c on every Intercom Conversation for audit and cross-reference. Freshdesk status (Open, Pending, Resolved, Closed) maps to Intercom state (open, closed) with Pending mapped to snoozed. Freshdesk priority (Low, Medium, High, Urgent) maps to Intercom priority (none, low, medium, high). We handle the channel source normalization during transform: non-standard Freshdesk channels (phone, Twitter, Facebook, survey, forwarded email) default to a custom channel label stored in fd_channel_source__c.
Freshdesk
Contact (Requester)
Intercom
User (or Lead)
1:1Freshdesk Contacts map to Intercom Users. The email address is the dedupe key. We map Freshdesk contact fields (name, email, phone, job_title, language) to Intercom user attributes (name, email, phone, job_title, custom language attribute). Custom contact fields migrate to Intercom custom attributes, which must be created in Intercom before import. Contacts associated with Companies in Freshdesk map to Intercom Users linked to an Intercom Company. We flag any Freshdesk Contact that is also an Agent to prevent duplicate User creation.
Freshdesk
Company
Intercom
Company
1:1Freshdesk Companies map directly to Intercom Companies. Company name is the dedupe key. We map description, website, industry, and custom company fields to Intercom company attributes. The contact-to-company relationship resolves at migration time so that Users are linked to their correct Company on import.
Freshdesk
Agent
Intercom
Team Member
1:1Freshdesk Agents (full-license users with group and role assignments) map to Intercom Team Members. Agent groups map to Intercom Teams, which are used for routing in Intercom's inbox configuration. We flag any Agent who is also a ticket Requester to prevent circular reference during User creation.
Freshdesk
Conversation (Ticket Reply and Note)
Intercom
Conversation Part
1:1Freshdesk Conversations (public replies, private notes, and incoming emails within a Ticket) map to Intercom Conversation Parts. Each Part preserves author attribution (agent vs customer), body content, timestamp, and attachments. We preserve whether a Freshdesk conversation was a public reply or a private internal note by setting the Part type and visibility accordingly in Intercom. Conversation Parts are the last component imported against a Conversation to ensure the parent record exists.
Freshdesk
Product
Intercom
Product (Intercom custom object)
1:1Freshdesk Products associate items with tickets for asset tracking. Intercom does not have a native Product object; we migrate Products as a custom object in Intercom and create a link attribute fd_product__c on the Conversation or a custom ticket field, depending on the customer's data model. Products must be created in Intercom as a custom object before migration.
Freshdesk
SLA Policy
Intercom
SLA (documented, not migrated)
lossySLA Policies (available on Freshdesk Pro and Enterprise) define first response and resolution time targets per priority level. Intercom's SLA functionality requires the Team plan or above and is configured as inbox SLAs. We audit every Freshdesk SLA Policy and deliver a written map of each SLA definition (name, policy rules, business hours, urgency thresholds) with the equivalent Intercom SLA configuration steps. SLA migration is a configuration task, not a data migration.
Freshdesk
Article (Knowledge Base)
Intercom
Article
1:1Freshdesk Knowledge Base Articles map to Intercom Articles. The Freshdesk category-folder structure maps to Intercom Collections and Sections. Article body, author, status (published, draft), and translations migrate directly. Freshdesk's multilingual .yml upload format is not natively supported by Intercom; we extract translated article content from .yml files and create separate Article records per language in Intercom. Inline images in articles migrate as file attachments in Intercom's file store.
Freshdesk
Forum (Category and Topic)
Intercom
Collection
1:1Freshdesk Forums (Community) map to Intercom Collections with the Community Articles template. Topics become Articles within the Collection. The flat Freshdesk forum structure (Category > Topic > Post) does not map 1:1 to Intercom; we flatten Topics as individual Articles and preserve the original Topic name in the article body for traceability.
Freshdesk
Tag
Intercom
Tag
1:1Freshdesk tags are flat cross-object labels. They migrate as-is to Intercom tags. Tags applied to tickets are preserved on Conversations as fd_original_tags__c and optionally mapped to Intercom conversation labels. We do not restructure tag taxonomy during migration; we recommend the customer review tag consistency as a post-migration task.
Freshdesk
Time Entry
Intercom
Custom attribute or note
lossyFreshdesk Time Entries track billable and non-billable time against a ticket. Intercom does not have a native time-tracking object. We migrate time entries as a custom attribute fd_time_spent__c on the Conversation (summed duration) and as a Conversation Part note for detailed audit. The customer's admin configures whether billable time should map to Intercom's built-in reporting or remain as custom data.
Freshdesk
Satisfaction Rating (CSAT)
Intercom
Conversation rating
1:1Freshdesk Satisfaction Ratings (CSAT surveys with score and optional comment) attach to tickets post-resolution. Intercom supports conversation ratings natively. We map satisfied/dissatisfied scores to Intercom's thumbs_up/thumbs_down rating and preserve the original comment as a Conversation Part note. CSAT migration assumes Intercom's built-in rating feature is enabled in the destination workspace.
| Freshdesk | Intercom | Compatibility | |
|---|---|---|---|
| Ticket | Conversation (or Ticket)1:many | Fully supported | |
| Contact (Requester) | User (or Lead)1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Agent | Team Member1:1 | Fully supported | |
| Conversation (Ticket Reply and Note) | Conversation Part1:1 | Fully supported | |
| Product | Product (Intercom custom object)1:1 | Fully supported | |
| SLA Policy | SLA (documented, not migrated)lossy | Fully supported | |
| Article (Knowledge Base) | Article1:1 | Fully supported | |
| Forum (Category and Topic) | Collection1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Time Entry | Custom attribute or notelossy | Fully supported | |
| Satisfaction Rating (CSAT) | Conversation rating1: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.
Freshdesk gotchas
API access is blocked on the free plan
Per-minute rate limits are account-wide and endpoint-specific
Multi-channel source types do not map 1:1 to all destinations
Custom objects created in-product cannot be accessed by other apps
Contact import requires at least 10 existing tickets in the account
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 Freshdesk plan verification
We audit the source Freshdesk account across plan tier (Free/Growth/Pro/Enterprise), ticket volume, custom field definitions, SLA policy inventory, Knowledge Base article count and language count, product list, and agent count. We verify the plan tier because Free-plan accounts have zero API access and we cannot begin extraction. We scan for non-standard channel sources (phone, Twitter, Facebook, survey) and identify Knowledge Base articles with .yml-based translations that require restructuring. The discovery output is a written migration scope, a Freshdesk API rate-limit map for the customer's plan tier, and a questionnaire about which ticket types should land as Intercom Conversations vs Tickets.
Schema design and Intercom configuration preparation
We design the destination schema in Intercom before any data import. This includes creating all custom user attributes (matching Freshdesk custom contact fields), custom company attributes (matching Freshdesk custom company fields), custom conversation attributes (fd_ticket_id__c, fd_channel_source__c, fd_original_tags__c), and any custom objects for Products. We also configure Intercom Teams to match Freshdesk agent groups, and we enable conversation ratings if CSAT data is migrating. Knowledge Base Collections and Sections are created to mirror the Freshdesk category-folder structure. Schema preparation happens in the customer's live Intercom workspace or a sandbox, depending on their preference.
Custom field and tag mapping review
We extract the full Freshdesk custom field schema (ticket fields and contact fields) and map each to an equivalent Intercom attribute type. Select and multi-select custom fields map to Intercom dropdown and multiple-choice attributes. Date fields map to Intercom date attributes. Boolean fields map to boolean attributes. We review the Freshdesk tag taxonomy and map it to Intercom conversation labels and tags, flagging any tags that may need consolidation. The mapping document is reviewed by the customer's admin before migration begins.
Bulk extraction with rate-limit throttling
We extract all migration objects from Freshdesk using the REST API with per-endpoint rate-limit handling. For Growth-plan accounts the tightest sub-limit is 20 calls/min for the Tickets List endpoint; we batch ticket fetches and use exponential backoff on 429 responses. We extract in dependency order: Companies first (because Users link to them), then Users, then Conversations and their Parts, then Knowledge Base Articles, then Products, then Tags. Each extraction phase emits a record count report. Time entries and CSAT ratings extract as separate batches tied to their parent ticket records.
Transformation, channel normalization, and Conversation-Ticket split
We transform the extracted Freshdesk data into Intercom-compatible format. The Ticket-to-Conversation split runs as the first transform step using the customer's routing rules defined during discovery. Non-standard Freshdesk channel types normalize to the fd_channel_source__c attribute. Freshdesk SLA policy definitions document to a separate output rather than being applied as data. Time entries aggregate as duration sums in fd_time_spent__c and as Part notes for audit. We resolve agent-to-Team-Member references by email match and flag any unmapped agents for the customer's admin to provision.
Production import and delta sync
We import data into Intercom in dependency order: Companies first (for the company lookup on Users), then Users with company_id resolved, then Conversations with fd_ticket_id__c and fd_channel_source__c set, then Conversation Parts with author attribution preserved, then Knowledge Base Articles with collection assignments, then Products as a custom object. Each phase runs in batches against Intercom's API with chunking and retry logic. We run a delta migration for any tickets created in Freshdesk during the migration window, tagged with a migration checkpoint timestamp, and merge those records before cutover.
Cutover, validation, and configuration handoff
We freeze Freshdesk writes during cutover, run a final delta import, then enable Intercom as the system of record. We validate by spot-checking record counts (Tickets in, Conversations in, Users in, Articles in), checking 25-50 record samples against the Freshdesk source, and verifying that fd_ticket_id__c is populated on every Conversation for cross-reference. We deliver the SLA Policy audit document, the Macro and Automation inventory (for the customer to rebuild in Intercom's workflow builder), and the Knowledge Base multilingual translation log. We support a one-week post-cutover window for reconciliation issues. We do not rebuild Freshdesk automations or macros as Intercom workflows inside the migration scope.
Platform deep dives
Freshdesk
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Freshdesk and Intercom.
Object compatibility
2 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
Freshdesk: Account-wide per-minute limits: Free=0, Growth=200, Pro=400, Enterprise=700. Each endpoint has sub-limits (e.g., Tickets List capped at 20-200/min depending on plan)..
Data volume sensitivity
Freshdesk 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 Freshdesk to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your Freshdesk 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 Freshdesk
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.