Helpdesk migration

Migrate from Freshdesk to Intercom

Field-level mapping, validation, and rollback between Freshdesk and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.

Freshdesk logo

Freshdesk

Source

Intercom

Destination

Intercom logo

Compatibility

75%

9 of 12

objects map 1:1 between Freshdesk and Intercom.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Intercom
Freshdesk

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Freshdesk logo

Freshdesk

What's pushing teams away

  • AI features are priced per-session separately from the base plan, creating unpredictable monthly costs that catch teams off guard.
  • Performance degrades during high-volume periods with delayed ticket loading and occasional dropped chats or calls, per customer reports.
  • Duplicate tickets are a recurring complaint; teams with high volume find the deduplication logic insufficient.
  • Customization is limited compared to Zendesk and Salesforce Service Cloud, frustrating teams with complex workflow requirements.
  • Add-ons for features like live chat, advanced routing, and custom reporting stack up, making the true cost significantly higher than the base per-agent price.

Choosing

Intercom logo

Intercom

What's pulling them in

  • Instant chat and message threading on websites and apps gives support teams a single inbox without context-switching, according to reviewers on Capterra and G2 who highlight fast response times as a primary benefit.
  • Fin AI handles repetitive inbound queries automatically, reducing agent workload measurably — G2 reviewers report fewer escalations and faster first-response times once Fin is configured.
  • Automation workflows (Outbound, Operator, and custom bots) allow teams to qualify leads and route tickets without manual intervention, appealing to growth-stage SaaS companies managing high ticket volumes.
  • Help center articles and self-service deflection are natively integrated, so knowledge base content and chat conversations live in the same workspace, simplifying reporting.
  • Multi-channel support (live chat, email, SMS, WhatsApp, Phone) consolidates customer touchpoints into one inbox, reducing the operational overhead of managing separate tools.

Object mapping

How Freshdesk objects map to Intercom

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

maps to

Intercom

Conversation (or Ticket)

1:many
Fully supported

Freshdesk 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)

maps to

Intercom

User (or Lead)

1:1
Fully supported

Freshdesk 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

maps to

Intercom

Company

1:1
Fully supported

Freshdesk 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

maps to

Intercom

Team Member

1:1
Fully supported

Freshdesk 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)

maps to

Intercom

Conversation Part

1:1
Fully supported

Freshdesk 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

maps to

Intercom

Product (Intercom custom object)

1:1
Fully supported

Freshdesk 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

maps to

Intercom

SLA (documented, not migrated)

lossy
Fully supported

SLA 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)

maps to

Intercom

Article

1:1
Fully supported

Freshdesk 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)

maps to

Intercom

Collection

1:1
Fully supported

Freshdesk 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

maps to

Intercom

Tag

1:1
Fully supported

Freshdesk 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

maps to

Intercom

Custom attribute or note

lossy
Fully supported

Freshdesk 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)

maps to

Intercom

Conversation rating

1:1
Fully supported

Freshdesk 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.

Gotchas + challenges

What specifically takes care here

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 logo

Freshdesk gotchas

High

API access is blocked on the free plan

High

Per-minute rate limits are account-wide and endpoint-specific

Medium

Multi-channel source types do not map 1:1 to all destinations

Medium

Custom objects created in-product cannot be accessed by other apps

Low

Contact import requires at least 10 existing tickets in the account

Intercom logo

Intercom gotchas

High

S3 JSON export omits conversation transcripts

High

Workspace isolation prevents workflow migration

Medium

Fin AI resolution fees compound with automation success

Medium

Two-year conversation history limit on historical export

Low

Private app rate limits share workspace quota

Pair-specific challenges

  • Intercom Conversations and Tickets are separate models

    Freshdesk Tickets do not map 1:1 to a single Intercom object. Intercom distinguishes between Conversations (messaging threads from chat, email, and proactive messages) and Tickets (structured support cases with SLA tracking). We resolve this split during scoping by interviewing the customer's team about which Freshdesk ticket types or workflows should land as Intercom Conversations vs Tickets. Migrations that skip this step end up with all tickets as Conversations that lack SLA clocks, or Tickets that lack the conversational context agents expect.

  • Non-standard Freshdesk channels require normalization

    Freshdesk tickets can originate from phone, forwarded email, tweet, Facebook, survey feedback, or vendor responses in addition to standard email and chat. Intercom's import API accepts email, chat, and custom message types. We normalize non-standard source channels to a custom Intercom attribute fd_channel_source__c and set the Conversation source to 'custom' to prevent import rejection. The original channel name is preserved in the attribute for auditability.

  • Freshdesk free plan blocks any API export

    Freshdesk's free plan enforces 0 API calls per minute. We cannot extract any data programmatically from a free-plan account. We require customers to be on at least the Growth plan ($15/agent/month) before migration scoping begins. We flag this during the first discovery call and advise upgrading early to avoid timeline delays, because Freshdesk's per-minute rate limits also vary by plan tier (200 calls/min on Growth, 700 calls/min on Enterprise) and we must adjust batch sizing accordingly.

  • Intercom attachment file type restrictions can block import

    Intercom blocks certain file types (.exe, .sys, .scr, .shb, .wsf, and others) as potential malware vectors. If Freshdesk tickets contain attachments in blocked types, the import skips those files and logs a warning. We scan for blocked file types during the audit phase and advise the customer to either enable 'Allow more file types' in Intercom security settings before migration or accept that those specific files will be excluded from the transfer.

  • Knowledge Base multilingual content requires manual restructuring

    Freshdesk supports multilingual Knowledge Base articles via .yml file upload, where translations are stored in a structured file rather than as separate article records. Intercom does not support .yml import for translations. We extract translation content from the .yml and create separate Article records per language, which increases the article record count and requires the customer to map languages in Intercom's language settings before migration begins.

Migration approach

Six steps for a successful Freshdesk to Intercom data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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

Context on both ends of the pair

Freshdesk logo

Freshdesk

Source

Strengths

  • Generous free tier with no credit card required for 1-2 agents for 6 months.
  • Per-agent pricing model is transparent and scales linearly with team growth.
  • Freddy AI Copilot integrates assistance directly into the agent workspace without requiring separate tooling.
  • Multilingual help desk and customer portal serve global teams on Pro and Enterprise plans.
  • Shared inbox, threads, and tasks keep ticket context unified across multi-channel conversations.

Weaknesses

  • Freddy AI is a separate paid add-on charged per session, making AI costs unpredictable and hard to budget.
  • Performance issues including delayed loading and duplicate tickets are recurring user complaints during high-volume periods.
  • Customization is more limited than Zendesk, with fewer workflow options and reporting flexibility.
  • Add-ons for chat, advanced routing, and custom reporting are gated behind higher tiers or separate module purchases.
  • API access is completely disabled on the free plan, blocking any programmatic data export or migration tooling.
Intercom logo

Intercom

Destination

Strengths

  • Integrated AI agent (Fin) for automated resolution with per-resolution billing that rewards high automation rates.
  • Multi-channel inbox consolidating live chat, email, SMS, WhatsApp, and Phone into a single threaded view.
  • Native help center with articles, collections, and self-service deflection capabilities.
  • Workflow automation for routing, qualification, and proactive outbound messaging across channels.
  • Strong API ecosystem with 10,000 req/min rate limits for private apps enabling high-throughput migration pipelines.

Weaknesses

  • Pricing model compounds with seat count, AI resolution fees, channel costs, and multiple add-ons, making total cost hard to predict.
  • Workspace-level isolation prevents moving workflows or content between environments, requiring manual rebuilds.
  • S3 JSON export deliberately excludes conversation transcripts, necessitating REST API calls for full message history.
  • Outages are reported as frequent enough to be a concern for always-on support operations.
  • Setup complexity means teams often require internal guidance or professional services to configure bots and automation correctly.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Freshdesk and Intercom.

  • Object compatibility

    B

    2 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    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

    B

    Freshdesk doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Freshdesk to Intercom migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Freshdesk to Intercom data migrations

Answers to the questions buyers ask most during Freshdesk to Intercom migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Freshdesk to Intercom migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Small teams with under 20,000 tickets, clean custom fields, and no Knowledge Base migration complete in two to four weeks. Mid-market setups with multiple agent groups, active SLA policies, and Knowledge Base content with multiple languages move to four to six weeks. Enterprise migrations with multi-brand Freshdesk accounts, large conversation histories (over 200,000 conversation parts), or complex product-to-ticket associations move to six to eight weeks. Timeline is driven by Freshdesk's endpoint-specific API rate limits, the volume of data requiring transformation, and how quickly the customer reviews and approves the mapping document.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Freshdesk.
Land in Intercom, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day