Helpdesk migration

Migrate from Fernand to Intercom

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

Fernand logo

Fernand

Source

Intercom

Destination

Intercom logo

Compatibility

80%

8 of 10

objects map 1:1 between Fernand and Intercom.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Fernand organizes support around Conversations with threaded Replies and Customers as contacts; Intercom uses a conversation-first model with contacts as the mandatory parent record for every conversation. This architectural difference drives the migration's critical constraint: contacts must exist in Intercom before any conversation can be imported, which means we extract and load customer records before conversation records regardless of volume. We preserve reply authorship, timestamps, and AI draft history where available from Fernand, and we carry Custom Data payloads as static Intercom conversation attributes. GitHub and Linear integration links migrate as conversation fields but without the auto-reopen behavior that Fernand manages natively. Workflows, automations, and the Custom Data endpoint configuration do not migrate; 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

Fernand logo

Fernand

What's pushing teams away

  • Small review base makes it hard to assess long-term reliability compared to more established helpdesk platforms.
  • Limited integrations beyond GitHub, Linear, and Stripe may constrain teams needing deeper CRM or telephony connections.
  • Smaller vendor risk for bootstrapped teams who worry about product continuity and long-term support availability.

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 Fernand objects map to Intercom

Each row shows how a Fernand 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.

Fernand

Conversation

maps to

Intercom

Conversation

1:1
Fully supported

Fernand Conversations map directly to Intercom Conversations. We preserve status (open, resolved, archived), priority, assignee, and timestamps (created_at, updated_at) as conversation metadata in Intercom. Channel type (email or chat from Fernand's channel field) sets the Intercom conversation channel. Fernand's conversation ID is preserved as a custom attribute or linked via external_id for reconciliation after migration.

Fernand

Reply

maps to

Intercom

Conversation Part

1:1
Fully supported

Fernand Replies thread inside Conversations and map to Intercom Conversation Parts. We preserve the full reply body, author (agent name and email), creation timestamp, and whether the reply was internal or external. AI-generated draft replies from Fernand are included as Conversation Parts visible to agents; the AI drafting configuration itself is not a migratable artifact.

Fernand

Customer

maps to

Intercom

Contact

1:1
Fully supported

Fernand Customers (contacts associated with conversations) map to Intercom Contacts. We export name, email, and any custom properties. Email address is the primary dedupe key. Before importing conversations into Intercom, all contacts must exist in Intercom because Intercom's API requires a contact reference for every conversation creation. We create contacts first, resolve the Intercom contact ID, then create conversations referencing that ID.

Fernand

Tag

maps to

Intercom

Tag

1:1
Fully supported

Fernand conversation tags map to Intercom Tags. We preserve all tag names and apply them as labels during conversation import. Tag counts and usage frequency carry over. Tags on individual conversations migrate as tag assignments on the corresponding Intercom conversation.

Fernand

Attachment

maps to

Intercom

Conversation Attachment

1:1
Fully supported

File attachments on Fernand conversations and Replies are downloaded and re-uploaded to Intercom as conversation attachments. Image attachments from the Fernand widget are included. We preserve original filenames and MIME types and attach them to the corresponding Intercom conversation at import time.

Fernand

Custom Data

maps to

Intercom

Custom Conversation Attribute

lossy
Mapping required

Fernand Custom Data stores API endpoint URLs, header names, and fetched payloads per conversation. We export the fetched payloads as static key-value conversation attributes in Intercom. The original endpoint configuration (URLs, auth headers, refresh logic) is Fernand-specific and cannot be replicated at Intercom without rebuilding the integration manually. We document the original configuration so the customer's team can rebuild the fetch logic in Intercom's workflow builder.

Fernand

GitHub Link

maps to

Intercom

Custom Conversation Attribute (label reference)

1:1
Fully supported

Fernand's GitHub integration links conversation threads to issues and can auto-reopen conversations when issue status changes. We export the linked GitHub issue URL and status as a static conversation attribute in Intercom. The live sync behavior does not transfer; conversations will not auto-reopen when GitHub issue state changes. We flag this as a manual rebuild item in the handoff documentation.

Fernand

Linear Link

maps to

Intercom

Custom Conversation Attribute (label reference)

1:1
Fully supported

Fernand's Linear integration mirrors the GitHub pattern: conversations link to Linear issues and can track status changes. We export the Linear issue reference as a static conversation attribute. Issue state sync does not carry over because Intercom lacks the native Linear integration that drives this behavior in Fernand. This automation must be rebuilt using Intercom's workflow builder or a third-party integration.

Fernand

Channel

maps to

Intercom

Conversation Channel Attribute

lossy
Fully supported

Fernand supports email and chat channels per conversation. We export the channel type and map it to Intercom's conversation channel field. Email conversations in Fernand create email-channel conversations in Intercom with the customer copied as the message sender. Chat conversations in Fernand create messenger-channel conversations.

Fernand

User (Agent)

maps to

Intercom

Teammate (Admin or Agent)

1:1
Fully supported

Fernand active users (those who can reply to customers) and passive users (collaborators) map to Intercom Teammates. We export user name, email, and active/passive status. Passive users without a destination seat equivalent are noted in the handoff for manual seat assignment. We resolve users by email match during the contact-first import phase.

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.

Fernand logo

Fernand gotchas

High

Fernand has no documented bulk export endpoint

Medium

Custom Data configuration does not migrate as code

Medium

GitHub and Linear sync state does not carry over

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

  • Fernand has no documented bulk export endpoint

    Fernand's API is documented around Custom Data fetching and integrations rather than data export. We use the available REST API with Bearer token authentication to pull records in paginated batches. If the API lacks a bulk endpoint, we fall back to per-record retrieval which increases migration time for large conversation histories. We confirm API capabilities during the discovery phase before committing to a timeline. This is a Fernand platform constraint that directly affects the extraction phase of this migration.

  • Intercom requires contacts to exist before conversations can be created

    Intercom's API enforces that every conversation is linked to an existing Contact. Attempting to create conversations before their associated contacts exist will result in errors and record rejection. This is a strict dependency that does not exist in Fernand, where conversations are the primary object and customers are attached as properties. We sequence the migration as contacts first, then conversations, and resolve Intercom contact IDs before writing any conversation records. This dependency order adds a planning step that teams migrating from more flexible systems do not anticipate.

  • Custom Data endpoint configuration does not migrate as live logic

    Fernand's Custom Data feature stores API endpoint URLs, header names, and fetched payloads per conversation. We export the fetched payloads as static conversation data in Intercom, but the endpoint configuration that defines where the data comes from and how it refreshes is platform-specific. The live fetch behavior cannot be replicated in Intercom without rebuilding the integration manually. We document the original configuration so the team can rebuild it using Intercom's outbound webhook or workflow actions. This is a pair-specific gap, not a Fernand platform limitation.

  • GitHub and Linear sync state does not carry over as live automations

    Fernand's GitHub and Linear integrations track issue linking and can auto-reopen conversations when issue status changes. These automation rules and the linked issue references are exported as static conversation fields. The live sync behavior does not transfer; conversations will not auto-reopen at Intercom when GitHub or Linear issues change state. Rebuilding this behavior requires either Intercom's workflow builder or a third-party integration with GitHub and Linear. We document the original automation triggers in the handoff package.

  • Message-by-message import multiplies Intercom API call volume

    Intercom's migration documentation notes that migrating conversations in message-by-message fidelity inflates API calls by 10-100x compared to a simplified conversation-level migration. For teams that need full reply threading preserved (required for context in technical support), this significantly extends import time and increases the risk of hitting Intercom's rate limits. We use batched API operations with exponential backoff and disable outbound campaigns before migration to reduce API pressure on the destination workspace.

Migration approach

Six steps for a successful Fernand to Intercom data migration

  1. Discovery and source audit

    We audit the source Fernand account across conversations, replies, customers, tags, attachments, Custom Data payloads, and user roster. We confirm whether the Fernand API supports bulk retrieval or requires paginated per-record calls, which directly affects the extraction timeline estimate. We review the GitHub and Linear integration configuration to identify linked issue references and sync rules that will not migrate as live automations. The discovery output is a written migration scope with record counts per object type, any identified API constraints, and a confirmation of the channel types in use.

  2. Intercom workspace configuration

    We configure the destination Intercom workspace before any data import begins. This includes setting up Teammate seats mapped to the Fernand user roster, creating any custom conversation attributes to receive Fernand Custom Data payloads, configuring channel settings to match the Fernand email and chat channels in use, and preparing the tag taxonomy. We also confirm the migration workspace is non-live and email notifications are suppressed during import to avoid customer-facing noise from test records.

  3. Data extraction from Fernand

    We extract Fernand data using the available REST API in paginated batches. Conversations and Replies are extracted together to preserve threading relationships. Customers are extracted with their contact properties for deduplication. Tags, attachments, Custom Data payloads, GitHub links, and Linear links are extracted as separate object sets with foreign key references back to the conversation record. AI draft history is included where available. If the API lacks a bulk endpoint, per-record retrieval increases extraction time proportionally with conversation volume.

  4. Contact-first import into Intercom

    We import Fernand Customers into Intercom Contacts first, before any conversation records. Email address is the dedupe key. We resolve the Intercom contact ID for each imported customer and store it in the migration mapping table. This step is mandatory: Intercom's API will reject conversation creation for any conversation that does not reference an existing contact. Active users in Fernand become Teammate seats in Intercom; passive collaborators are noted for manual assignment post-migration.

  5. Conversation and activity import

    We import Fernand conversations into Intercom, using the resolved contact IDs as parent references. Reply threads migrate as Conversation Parts in chronological order, preserving author attribution, internal/external flags, and timestamps. Tags apply as Intercom Tags at import time. Attachments download from Fernand and re-upload to the corresponding Intercom conversation. Custom Data payloads land as static conversation attributes. GitHub and Linear issue links land as custom attributes without live sync behavior. We use batched API calls with exponential backoff and disable any active Intercom outbound campaigns before migration to reduce API pressure.

  6. Validation, cutover, and rebuild handoff

    We reconcile record counts against the Fernand source: contacts in, conversations in, replies in, attachments in. We spot-check 20-30 conversations across open, resolved, and archived states to verify threading, attribution, and attachment fidelity. The customer validates before we enable the workspace as the system of record. We deliver the Custom Data configuration documentation, the GitHub and Linear sync rebuild guide, and a list of any Fernand workflow or automation items that require rebuilding in Intercom's workflow builder. We do not rebuild automations or configure Fin AI Agent as part of the migration scope.

Platform deep dives

Context on both ends of the pair

Fernand logo

Fernand

Source

Strengths

  • Transparent pricing at $29/active user with unlimited features and no per-conversation caps.
  • AI reply drafting built into the core inbox experience reduces agent effort on standard queries.
  • Fast, keyboard-first UX with Linear-inspired design appeals to technical SaaS teams.
  • Direct GitHub and Linear integrations create a support-to-engineering feedback loop.
  • 14-day free trial with no credit card lowers the evaluation barrier.

Weaknesses

  • Very small market footprint with limited public reviews and third-party community discussion.
  • API documentation is not publicly indexed in research; bulk export capabilities are not fully confirmed.
  • Limited integration ecosystem beyond GitHub, Linear, and Stripe restricts use cases in complex tech stacks.
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?

Moderate Helpdesk migration. 3 of 7 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

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

  • Object compatibility

    C

    3 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

    Fernand: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Fernand 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 Fernand to Intercom data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

We migrate Conversations, Replies, Customers, Tags, and Attachments from Fernand into Intercom. AI draft history from Fernand is included as Conversation Parts visible to agents. Custom Data payloads migrate as static Intercom conversation attributes. GitHub and Linear issue links migrate as conversation fields. We do not migrate Fernand automations, Custom Data endpoint configurations, or live GitHub/Linear sync rules. These require manual rebuild in Intercom's workflow builder and are documented in the handoff package.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Fernand.
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