Migration Playbook

Intercom Front

Intercom to Front: The Complete Migration Playbook

A 39-step runbook across six phases — track your progress, and open the right tool at every step.

0 / 39 steps complete 0%
TL;DR

Intercom to Front migration takes 2–6 weeks, requires API extraction (CSV drops transcripts), and is bottlenecked by Front's 50–200 RPM limits. Workflows and Fin AI must be rebuilt.

Migrating from Intercom to Front has no native bulk historical import path—Front's Intercom channel integration only syncs new messages and does not transfer historical data, bot messages, or tickets. The fundamental data model challenge is translating Intercom's continuous, messenger-first chat conversations (with up to 500 retrievable conversation parts per thread) into Front's discrete, email-like threaded conversation model. Custom work is required to extract conversations via Intercom's REST API, re-upload each message individually against Front's 50–200 RPM rate limits, and manually rebuild all Workflows, SLAs, Fin AI bot logic, and custom bot flows, none of which have a migration path.

Read this first

Pair-specific gotchas that catch teams out. Each one has cost somebody a weekend.

Do not confuse Front's live Intercom channel with a migration

Front can connect an Intercom inbox for new message sync, replies, assignee sync, and open/close sync, but that setup does not import historical Intercom history, bot messages, or Intercom Tickets. No existing Front marketplace app handles bulk historical import from Intercom either. (help.front.com)

Conversation parts are capped at 500 per conversation on Intercom's REST API

There is no pagination for parts within a single conversation. For long-running support threads, this means potential data loss on the extraction side. If you have conversations exceeding 500 parts, two alternatives exist: (1) Intercom's cloud-storage export can deliver up to two years of conversation data as JSON or JSONL with all parts and optional attachments — each exported file contains at most 200 conversations. (2) Intercom's GDPR-compliant data export, available under Settings → Data Management, may include full conversation records. Verify with Intercom support whether your GDPR export includes all conversation parts beyond the 500 API cap. (intercom.com)

Shared quota warning

If your team runs live integrations (Salesforce sync, Slack notifications, Zapier automations) during migration, those API calls share the same company-wide quota. A migration that saturates the API will degrade your team's live workflows. Run migrations during off-hours or coordinate with your team to pause non-essential integrations. Front also proportionally limits GET /conversations/search to 40% of your company's global rate limit — avoid using it for automated reconciliation during import. (dev.frontapp.com)

Optimize your import scope

If some of your Intercom workload originated as real mailbox traffic that still exists in Gmail or Office 365, let Front sync that email history natively via its two-way sync channels and reserve API imports for chat and Messenger history. This can reduce import API calls by 30–60% depending on your channel mix. (help.front.com)

The import is asynchronous

Front returns a 202 Accepted with a message_uid immediately, but the conversation record may take a few seconds to finalize. If you need the conversation_id to thread subsequent messages or post comments, poll GET /messages/alt:uid:{message_uid} with a short delay (start at 1 second, back off to 5 seconds) before posting the next message in the thread. Skipping this step is the most common cause of broken threading at scale.

The runbook

Work top to bottom. Tick steps as you go — your progress is saved in this browser.

01 Discovery Establish why you are moving, what "done" means, and who signs off. 0/5

Objective A written scope with agreed success criteria, a named owner per workstream, and a budget approved by finance.

  1. Pull the real numbers out of Intercom

    Support ops 1 day

    Export counts for tickets (open and closed separately), contacts, organisations, attachments, macros, triggers, automations, views and SLA policies. Note the oldest ticket date — history depth drives the whole timeline. Estimating from memory is the single most common cause of a blown migration window.

    Data Profiler Get real record counts instead of estimating from memory
  2. Decide what history actually moves

    Support lead 2 days

    Agree a cut-off with the support lead: all history, last 24 months, or open tickets plus a read-only archive. Every extra year of closed tickets adds API time and cost without adding much agent value. Get this in writing — it is the decision people relitigate mid-cutover.

    A "move everything" default is what turns a two-week migration into a two-month one.

    COI & ROI Calculator Build the 36-month business case you will need for sign-off
  3. Confirm Front can hold your support model

    Solution architect 2-3 days

    Walk your current workflow through Front: multi-brand, business hours, SLA targets, CSAT, side conversations, public vs internal notes, and any channel you depend on (voice, chat, WhatsApp, social). List anything with no native equivalent — those are project risks, not configuration details.

  4. Build the business case

    Project sponsor 1-2 days

    Model licence delta, migration effort, agent retraining, and the cost of staying put (Cost of Inaction). Executives approve a number, not a plan, and you will be asked for it again at the go/no-go.

    Helpdesk Migration Planner Turn ticket volume into a dated Intercom → Front timeline
  5. Name owners and set the go/no-go date

    Project manager 1 day

    One named owner each for data, configuration, integrations, and agent enablement, plus a decision-maker who can call a rollback. Put the go/no-go meeting in calendars now, 48 hours before the freeze.

Intercom → Front specifics

Collaborative email workflows
Front's shared inboxes, internal comments on threads, and @-mention-based collaboration are purpose-built for teams that handle complex, multi-touch customer conversations across email, SMS, and voice — not just chat.
Multi-channel ownership model
Front routes email, SMS, social, and chat into the same shared inbox with clear assignment rules. Intercom's strength is its Messenger widget and in-app chat; teams that primarily communicate over email often find Intercom's inbox model limiting.
Transparent customer context
Front's Accounts model ties contacts, conversation history, and custom fields into a single view the whole team can see and edit — without requiring a separate CDP layer.
Pricing predictability
Teams with high agent counts and moderate automation needs often find Front's per-seat pricing more predictable than Intercom's conversation-volume-based pricing, which can spike with seasonal traffic.

Don't move on until

  • Record counts confirmed for tickets, contacts, organisations and macros
  • Success criteria signed off by the support lead
  • Freeze window provisionally booked with the business
02 Data Audit Find out what is actually in the data before you try to move it. 0/7

Objective A profiled, cleaned export with every quality defect either fixed at source or explicitly accepted.

  1. Take a full Intercom export and profile it

    Data engineer 1-2 days

    Export to CSV or JSON and profile every file: row counts, null rates per column, distinct values, and type consistency. Compare row counts against the API totals from Discovery — a gap here means your export is silently truncated, usually by pagination.

    Data Profiler Profile the Intercom export for nulls, outliers and type drift
  2. Validate file structure before anyone writes a transform

    Data engineer 1 day

    Check delimiters, quoting, encoding (expect UTF-8, watch for BOMs and Latin-1), duplicate headers, and embedded newlines in ticket bodies. Ticket descriptions with raw newlines and commas break naive CSV parsers and silently shift columns.

    A single unescaped quote in one ticket body can shift every subsequent column without any error.

    CSV Validator Catch broken headers and ragged rows in the raw export
  3. Inventory PII and set retention

    Compliance / DPO 2 days

    Scan for emails, phone numbers, payment card fragments, national IDs and anything else regulated in ticket bodies and custom fields — support tickets are where customers paste things they should not. Decide what gets migrated, masked, or dropped, and record the legal basis.

    Ticket bodies and attachments routinely contain card and ID data that never appears in a structured field.

    PII & Compliance Scanner Find regulated fields before they land in a new system
  4. Quantify duplicates, orphans and dead references

    Support ops 1-2 days

    Count duplicate contacts (same email, different casing), tickets whose requester no longer exists, organisations with no members, and attachments whose parent ticket is gone. Fix these in Intercom where you can — migrating them just moves the mess.

    Data Cleaner Strip empty rows, stray whitespace and dead columns
  5. Clean and normalise the export

    Data engineer 2 days

    Trim whitespace, drop empty rows and columns, normalise casing on emails and tags, and standardise every timestamp to UTC ISO 8601. Timezone drift is invisible at load time and shows up weeks later as SLA reports nobody can reconcile.

  6. Produce a masked copy for sandbox work

    Data engineer 0.5 day

    Generate a realistic but fake version of the export for testing and for any vendor who needs sample data. Loading real customer PII into a sandbox is a breach in most jurisdictions, and sandboxes are rarely covered by your DPA.

    PII Masker Generate a safe copy for sandbox and vendor testing
  7. Clean up Front

    Use your ID mapping table to identify and bulk-delete imported records if needed, or archive the migration inbox.

Intercom → Front specifics

Intercom Events
(user activity tracking) — archive to a data warehouse. No Front equivalent.
Segments
recreate as Front tags or filtered inbox views.
Fin AI bot conversations
the bot's auto-resolution data and logic are lost; only the conversation transcript survives if extracted via API.
Outbound Messages
(proactive campaigns) — archive or migrate to your email marketing platform.
Visitors
(anonymous, pre-lead contacts) — cannot be mapped; they have no email handle for Front.

Don't move on until

  • Export parses cleanly with no ragged rows or encoding errors
  • PII inventory complete and retention decisions recorded
  • Duplicate and orphan records quantified and triaged
03 Field Mapping Turn two schemas into one signed-off mapping spec. 0/6

Objective A reviewed field-level mapping covering every object, with an explicit decision for every field that has no target.

  1. Generate the first-pass Intercom → Front field map

    Solution architect 2 days

    Start from an automated match on both schemas, then review every row by hand. Automated matching gets the obvious 70% right and is confidently wrong on the rest — especially anything named "type", "status" or "custom_field_1".

    Schema Mapper Opens pre-loaded with the Intercom → Front field pair
  2. Map status, priority and channel values, not just field names

    Support lead 1-2 days

    Enumerate every value in each picklist on both sides and map them explicitly. Value-level mismatches are the defect class that survives all the way to production because the field itself mapped fine — a ticket that should be "Pending" arriving as "Open" reopens SLA clocks.

    Statuses with no target equivalent (on-hold, pending-customer) need a policy decision, not a best guess.

  3. Decide how custom fields land

    Solution architect 2 days

    Create the target custom fields first, matching type exactly (a dropdown mapped to free text can never be mapped back). Where Front has no equivalent, decide between a new custom field, a tag, or a note appended to the ticket body — and record which.

  4. Resolve identity and threading

    Data engineer 1 day

    Decide how source IDs are preserved — most platforms will not let you set the primary key, so keep the original ID in a custom field. Without it, reconciliation becomes fuzzy matching and every future support question about an old ticket is unanswerable.

    Losing the original ticket ID makes reconciliation and rollback effectively impossible.

  5. Plan attachments, inline images and threading order

    Data engineer 1-2 days

    Confirm size limits, allowed MIME types, and whether inline images survive as attachments or need rehosting. Decide the comment ordering and author attribution rules: comments loaded out of order, or all attributed to the API user, destroy the conversation history agents rely on.

  6. Freeze and sign off the mapping spec

    Project manager 1 day

    Version the spec, walk the support lead through it row by row, and get explicit sign-off. Any change after this point goes through change control — mid-flight mapping edits are how partial loads happen.

Intercom → Front specifics

Custom field rendering
Verify that enum, datetime, and boolean custom fields display correctly in Front's UI — not as raw strings.

Don't move on until

  • Every source field is mapped, deliberately dropped, or parked in a custom field
  • Status, priority and channel value maps agreed with the support lead
  • Mapping spec version-controlled and signed off
04 Test Migration Prove the pipeline on a small, representative slice. 0/6

Objective A pilot load into a Front sandbox that reconciles cleanly and has been reviewed by real agents.

  1. Stand up a Front sandbox that matches production config

    Solution architect 2-3 days

    Create the custom fields, groups, brands, business hours and SLA policies first. A pilot into a default sandbox tests nothing, because the failures you care about are all configuration mismatches.

  2. Pick a deliberately nasty pilot sample

    Data engineer 0.5 day

    Take 500-1000 records chosen for difficulty, not convenience: the longest ticket threads, tickets with the most attachments, non-Latin character sets, merged and split tickets, deleted requesters, and every status value. A clean random sample proves only that easy records are easy.

  3. Run the load with masked data and instrument everything

    Data engineer 1-2 days

    Log every API request and response with its source record ID. When 40 records fail out of 10,000 you need to know exactly which ones and why, without re-running the whole batch.

    PII Masker Never load real customer PII into a sandbox
  4. Measure real throughput against the rate limit

    Data engineer 1 day

    Record achieved records-per-hour under Front's actual rate limits, including retries and backoff. Extrapolate to the full volume: if the maths says the full load exceeds your freeze window, you fix that now, not on cutover night.

    Published rate limits are ceilings, not throughput. Assume real-world rates are meaningfully lower once retries and backoff are counted.

  5. Reconcile the pilot and triage every failure

    Data engineer 1-2 days

    Diff source against target on record counts and field-level values. Every discrepancy gets a root cause and a fix — "probably fine" at pilot scale becomes thousands of broken records at full scale.

    Migration Validation Tool Diff the pilot batch against source before scaling up
  6. Put real agents in front of the pilot data

    Support lead 2 days

    Have two or three agents work sample tickets end to end in the sandbox. They find the things reconciliation cannot see: unreadable threading, missing context, macros that no longer make sense. Fix the mapping, then re-run.

Don't move on until

  • Pilot batch reconciles to 100% on record counts
  • Agents have reviewed sample tickets and confirmed they are workable
  • Measured throughput extrapolates to a viable full-load window
05 Cutover Execute the switch inside a controlled, reversible window. 0/8

Objective All in-scope data live in Front, agents working in the new system, and a rollback path that stayed available throughout.

  1. Pre-load history before the freeze

    Data engineer 3-10 days

    Load closed tickets and contacts days or weeks ahead while Intercom stays live. Only open tickets and the final delta need to move inside the freeze — this is the single biggest lever on window length.

    Helpdesk Migration Planner Size the freeze window from Front's real API limits
  2. Publish the runbook with times, owners and abort criteria

    Project manager 1 day

    A timed sequence: freeze start, final export, delta load, channel switch, smoke test, go/no-go, agent switch. Name who does each step and the explicit condition that triggers a rollback. Decide the abort criteria before the night, when nobody wants to be the one to call it.

  3. Freeze Intercom and take the final delta

    Support ops 2-4 hours

    Stop new ticket creation, let agents finish in-flight replies, then export everything changed since the pre-load. Announce the freeze to the whole business, not just support — someone always tries to raise a ticket during it.

    Tickets created during an unenforced freeze land in the old system and are the most common source of permanently lost data.

  4. Load the delta and open tickets

    Data engineer 2-6 hours

    Run the delta load, then reconcile counts before touching any channel. Do not repoint email until the delta has verified — an inbound ticket arriving mid-load is far harder to untangle than a few extra minutes of freeze.

    Migration Validation Tool Confirm the final delta landed before you reopen
  5. Repoint channels and verify with live traffic

    IT / integrations 2-4 hours

    Switch email forwarding and MX or connector settings, update chat widgets and web forms, and re-authorise integrations. Then send real test tickets through every channel and confirm each lands, routes and triggers the right automation.

    Email forwarding changes can take up to a full DNS TTL to propagate — check the TTL days in advance and lower it if needed.

    Cron Expression Builder Schedule the delta syncs that run through the freeze
  6. Run the go/no-go and switch the agents

    Project sponsor 1-2 hours

    Walk the exit criteria with the decision-maker, call it explicitly, then move agents over with a named person on hand for the first few hours. Keep Intercom read-only rather than cancelled — cancelling the old contract on day one removes your only fallback.

  7. Contact-to-account linking

    Verify that migrated contacts are correctly associated with their Front accounts. Spot-check multi-company contacts to confirm primary account assignment.

  8. Handle in-flight Front conversations

    Any conversations that arrived in Front during the failed migration period must be manually forwarded to Intercom or handled as a backlog when Front is re-attempted.

Intercom → Front specifics

Field-level spot checks
Sample 50–100 conversations across different date ranges and conversation lengths. Verify: correct threading, accurate created_at timestamps, attachment accessibility, proper is_inbound direction, assigned agent, and tag/custom field presence.
Assignee mapping
Confirm that historical conversations show the correct teammate as assignee, including deactivated agents.
Attachment accessibility
Click on 20+ migrated attachments in Front to ensure they resolve to the actual file, not a dead Intercom AWS link.
Search functionality
Search for a known customer by email in Front and verify their full conversation history appears.
Routing rollback
Revert MX records or email forwarding rules to point back to Intercom. DNS TTL determines propagation time — if you set TTL to 300 seconds before cutover, rollback takes effect within 5 minutes.

Don't move on until

  • Full historical load complete and counts matched
  • Inbound channels repointed and verified with live test tickets
  • Rollback decision point passed explicitly, not by default
06 Validation Prove the migration is complete, then close it out. 0/7

Objective Documented evidence that data, workflow and reporting all survived, and a signed acceptance.

  1. Run the full reconciliation

    Data engineer 1-2 days

    Compare source and target on every object: total counts, counts by status, counts by group, attachment counts, and field-level spot checks on a random sample. Produce one report you can hand to an auditor.

    Migration Validation Tool Reconcile Intercom and Front record-for-record
  2. Verify field completeness, not just record counts

    Data engineer 1 day

    Re-profile the loaded data and compare null rates per field against the source profile. Matching record counts with a field that silently arrived empty is the failure mode counts alone will never catch.

    Data Profiler Prove field completeness held up through the load
  3. Rebuild reporting and compare against baselines

    Support ops 2-3 days

    Recreate your core dashboards — volume, first response time, resolution time, CSAT — and compare to pre-migration figures for the same period. Explain every variance; a changed SLA calculation is a real finding, not a rounding error.

    SLA and first-response metrics are usually recalculated from the loaded timestamps, so they will differ if any timestamp mapping was approximate.

  4. Test the workflow layer end to end

    Support ops 2 days

    Fire every trigger, automation, SLA escalation, macro and notification with a live ticket. Workflow does not migrate — it gets rebuilt — so it is untested until someone has actually watched it run.

  5. Confirm compliance and produce the audit trail

    Compliance / DPO 1 day

    Re-scan the loaded data for regulated fields, confirm retention and deletion policies are configured in Front, and file the evidence with your PII decisions from the audit phase.

    PII & Compliance Scanner Produce the compliance evidence your auditor will ask for
  6. Sign off, then decommission on a schedule

    Project sponsor 1 day

    Get written acceptance against the Discovery success criteria. Keep Intercom read-only for an agreed period (30-90 days is typical), take a final archive export, and only then cancel. Diarise the decommission date so it does not quietly renew.

  7. Record count reconciliation

    Compare total contacts, accounts, conversations, and messages between Intercom (source) and Front (target). Tolerance: 0% for contacts and accounts, <0.5% for messages (accounting for the 500-part truncation edge case).

Don't move on until

  • Full reconciliation report attached to the project record
  • Reporting baselines match pre-migration figures within agreed tolerance
  • Formal acceptance signed and archive retention scheduled

Field mapping reference

The field-by-field mapping for each object. Use this as the starting point for your mapping spec.

Object Object 22 fields
Intercom fieldFront fieldNotes
Contacts (Users + Leads) Contacts Map email to primary handle. Intercom external_id can be stored as a Front custom field. Leads without email require a phone or social handle to create in Front.
Companies Accounts Map company_id → Front Account external_id. Company plan and monthly_spend map to Account custom fields. A Front contact can belong to only one account; if an Intercom user has multiple companies, pick a primary and archive the rest.
Conversations Conversations (imported messages) Each Intercom conversation becomes one Front conversation thread. Long-running conversations may need segmentation if they span multiple distinct support issues.
Conversation Parts Messages Each conversation_part becomes a separate POST /inboxes/:inbox_id/imported_messages call. Intercom's API caps retrieved parts at 500 per conversation.
Tags Tags Direct 1:1 mapping. Tags must be provisioned in Front before the conversation import begins, or Front will auto-create unknown tags (which can clutter your tag namespace).
Custom Data Attributes (Contact) Contact Custom Fields Front supports up to 50 custom fields per category. Type mapping: string→string, integer→number, boolean→checkbox, datetime→datetime. Intercom has a soft limit of 250 active CDAs.
Custom Data Attributes (Company) Account Custom Fields Same type mapping as contact CDAs.
Custom Data Attributes (Conversation) Conversation Custom Fields Same approach. Front text custom fields cap at 2,000 characters; verbose Intercom attributes need consolidation before import.
Admins Teammates Map by email. Deactivated Intercom admins should be pre-created in Front so historical assignment is preserved.
Teams Teams Manual setup in Front. API is read-only for team membership.
Notes (on contacts) Contact Notes / Comments Intercom notes on contacts can be imported as comments or stored in a custom field.
Internal Notes (in conversations) Comments Standard mapping. Comments are internal-only in Front.
Customer Tickets Conversations + ticket status + custom fields Usable but not native 1:1. Front resolves ticketing through statuses on conversations.
Back-office / Tracker Tickets No clean 1:1 Usually flattened into comments, custom fields, or kept in an archive. (intercom.com)
Segments — No direct equivalent. Recreate using Front tags or filtered inbox views.
Workflows Rules Manual rebuild required. No migration path.
Fin AI / Custom Bots — No equivalent in Front. Permanent capability loss.
Product Tours — No equivalent.
Outbound Messages — No equivalent. Archive or migrate to your email marketing platform.
Articles (Help Center) Knowledge Base Articles Front has a native knowledge base. Manual migration or API-based transfer via Intercom's /articles endpoint. Formatting (bolding, lists, tables, embedded media) requires mapping Intercom's HTML to Front's editor format; expect manual cleanup.
Events — No equivalent. Archive to data warehouse if needed.
SLAs — Front has SLA features but configuration must be rebuilt manually. Historical SLA compliance data does not transfer.

Risk matrix

Per-object risk for this pair. Plan extra validation around anything marked high.

ObjectRiskNotes
Conversations high Translating Intercom's continuous chat model into Front's discrete threads requires segmentation logic, per-part API imports against strict rate limits, and a 500-part retrieval cap that can truncate long conversations.
Contacts medium Users map cleanly via email, but Leads without an email address require a phone or social handle, and multi-company associations must be flattened to a single Front Account.
Companies / Accounts medium Company records map to Front Accounts, but custom attributes like plan and monthly_spend must be recreated as custom fields, and multi-company contact relationships are lost.
Tags low Tags have a direct 1:1 mapping, though they must be pre-provisioned in Front before import to avoid auto-creation of duplicates that clutter the tag namespace.
Custom Fields / Attributes medium Most data types map directly, but enum values must match Front picklist values exactly (case-sensitive), Front text fields cap at 2,000 characters, and Front limits custom fields to 50 per category versus Intercom's 250.
Attachments high Intercom's signed attachment URLs expire within hours to days, requiring proactive download and re-upload with a 25 MB per-message limit, risking permanent data loss if not handled before expiration.
Workflows / Automation Rules high Intercom Workflows have no export format and are architecturally incompatible with Front Rules, requiring complete manual documentation and rebuilding from scratch.
Knowledge Base Articles medium Articles can be transferred via API, but HTML formatting differences between Intercom and Front's editor mean embedded media, tables, and complex formatting require manual cleanup.
SLA Configuration and History high SLA rules must be manually rebuilt in Front, and all historical SLA compliance data is lost since migrated conversations do not populate Front's native analytics.
Fin AI / Custom Bots high Fin AI auto-resolution logic, custom bot flows, and product tours have no equivalent in Front, representing permanent capability loss with only raw conversation transcripts recoverable.

The hard parts

What makes this specific migration difficult, beyond the mechanics.

Continuous Chat to Discrete Threads

Intercom stores all messages under a single continuous conversation ID that can span months, requiring segmentation logic to split them into Front's discrete, email-like threaded conversations.

API Rate Limits and Throughput

Each Intercom conversation part must be imported as a separate API call to Front, which enforces strict 50–200 RPM rate limits, making large-volume migrations extremely time-consuming.

Conversation Part Retrieval Cap

Intercom's API caps retrieved conversation parts at 500 per conversation with no intra-conversation pagination, meaning conversations with more than 500 parts will have truncated history.

Workflow and Automation Rebuild

Intercom Workflows, Fin AI bot logic, custom bot flows, and SLA configurations have no export format and no equivalent migration path, requiring complete manual reconstruction as Front Rules.

Multi-Company Contact Flattening

Intercom allows a single contact to belong to multiple companies, but Front restricts each contact to one account, forcing a primary account selection and loss of secondary company associations.

Attachment URL Expiration

Intercom attachment URLs are temporary signed URLs that expire within hours to days, requiring all attachments to be downloaded and re-uploaded to Front before they become inaccessible.

Tools used in this playbook

All free, all run entirely in your browser — nothing is uploaded.

FAQ

How long does an Intercom to Front migration take?

A typical Intercom to Front migration takes 2–6 weeks end-to-end, including planning, test migration, full data run, and validation. The actual data transfer time depends on conversation volume and Front's API rate limits: on a Growth plan (100 RPM), expect roughly 10–12 conversations imported per minute, so 50K conversations can take 60–80 hours of continuous import.

Can Intercom conversation history be preserved in Front?

Yes. Full conversation transcripts, including all conversation parts, timestamps, and attachments, can be preserved in Front using the imported_messages API endpoint. Each Intercom conversation part becomes a separate imported message, threaded together using Front's thread_ref field. Native CSV exports do not preserve transcripts — you must use the REST API or Intercom's cloud-storage export.

What data cannot be migrated from Intercom to Front?

Workflows, Fin AI bot logic, product tours, outbound campaigns, events (user activity tracking), segments, and multi-company contact relationships cannot be migrated to Front as native objects. Workflows must be rebuilt as Front Rules. Conversation ratings can be stored as custom field values but lose native reporting. Conversations exceeding 500 parts may be truncated via the REST API.

Is there a native Intercom to Front migration tool?

No. Neither Intercom nor Front provides a native one-click migration tool between the two platforms. Front's Intercom channel syncs new messages but does not import historical data. Third-party tools support some helpdesk transitions but can struggle with Front's strict 50–200 RPM API limits at enterprise volumes. For full-fidelity migration, API-based scripts or a managed service are required.

How much does an Intercom to Front migration cost?

Cost depends on approach. DIY requires 80–200+ engineering hours (roughly $8K–$30K+ in loaded engineering cost). Managed migration services typically price by conversation volume and complexity, ranging from $2K–$15K+ depending on scale, custom field count, and attachment volume. The CSV-only approach is free but results in significant conversation history loss.

Or skip all of this and let us handle it

Book a 30-minute call and we'll scope your migration in a single session.