Helpdesk migration
Field-level mapping, validation, and rollback between Fernand and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
Fernand
Source
Intercom
Destination
Compatibility
8 of 10
objects map 1:1 between Fernand and Intercom.
Complexity
CModerate
Timeline
3-5 weeks
Overview
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.
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 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
Intercom
Conversation
1:1Fernand 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
Intercom
Conversation Part
1:1Fernand 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
Intercom
Contact
1:1Fernand 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
Intercom
Tag
1:1Fernand 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
Intercom
Conversation Attachment
1:1File 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
Intercom
Custom Conversation Attribute
lossyFernand 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
Intercom
Custom Conversation Attribute (label reference)
1:1Fernand'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
Intercom
Custom Conversation Attribute (label reference)
1:1Fernand'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
Intercom
Conversation Channel Attribute
lossyFernand 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)
Intercom
Teammate (Admin or Agent)
1:1Fernand 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.
| Fernand | Intercom | Compatibility | |
|---|---|---|---|
| Conversation | Conversation1:1 | Fully supported | |
| Reply | Conversation Part1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Conversation Attachment1:1 | Fully supported | |
| Custom Data | Custom Conversation Attributelossy | Mapping required | |
| GitHub Link | Custom Conversation Attribute (label reference)1:1 | Fully supported | |
| Linear Link | Custom Conversation Attribute (label reference)1:1 | Fully supported | |
| Channel | Conversation Channel Attributelossy | Fully supported | |
| User (Agent) | Teammate (Admin or Agent)1: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.
Fernand gotchas
Fernand has no documented bulk export endpoint
Custom Data configuration does not migrate as code
GitHub and Linear sync state does not carry over
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 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.
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.
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.
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.
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.
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
Fernand
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 3 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 Fernand and Intercom.
Object compatibility
3 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
Fernand: Not publicly documented.
Data volume sensitivity
Fernand 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 Fernand to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your Fernand 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 Fernand
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.