Helpdesk migration

Migrate from eTicket to Intercom

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

eTicket logo

eTicket

Source

Intercom

Destination

Intercom logo

Compatibility

90%

9 of 10

objects map 1:1 between eTicket and Intercom.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from eTicket to Intercom is a structural migration from a lightweight ticket-centric model to a conversational contact-centric platform. eTicket organizes support around structured Tickets with associated Customers and Agents; Intercom organizes everything around Conversations linked to Contacts and Companies with a flat thread of conversation_parts. We resolve that structural gap by mapping eTicket conversations to Intercom's conversation_parts format, preserving created_at and updated_at timestamps, and handling the custom field translation before migration. Tags, attachments, and KB Articles migrate where equivalent Intercom objects exist; custom ticket fields that have no Intercom counterpart are flagged in a written handoff document. Workflows, automations, and routing rules do not migrate; we deliver a written inventory for your 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

eTicket logo

eTicket

What's pushing teams away

  • The project is effectively dormant — the latest documented release (1.7.3) is from October 2008, with no modern development cadence, leaving customers exposed to unpatched dependency and security issues.
  • No public API and no modern integration story — teams that want to connect helpdesk data to CRM, BI, or modern automation tools have no native path.
  • PHP and MySQL stack assumptions are dated; deploying on modern hosting often requires patching PHP compatibility issues that the upstream project does not address.
  • Limited reporting and analytics — eTicket is a basic queue-and-conversation tool, with no SLA timers, no advanced workflow, and no dashboard depth that modern helpdesks ship by default.
  • Migration paths to modern helpdesks (Zendesk, Freshdesk, Help Scout) are entirely manual — there is no published export tool or supported migration partner, so teams must scrape the MySQL database directly.

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

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

eTicket

Ticket

maps to

Intercom

Ticket

1:1
Fully supported

eTicket Tickets map to Intercom Tickets with subject, status, priority, and custom fields preserved. eTicket ticket status values (Open, Pending, Resolved, Closed) map to Intercom Ticket state values. Created_at and updated_at timestamps migrate as read-only TicketAttributes. The eTicket ticket ID migrates as an external_id for cross-reference during reconciliation.

eTicket

Customer

maps to

Intercom

Contact

1:1
Fully supported

eTicket Customers map to Intercom Contacts. Email address serves as the primary deduplication key. If the customer record contains both a user (identified contact) and a lead (unidentified contact) variant, the lead variant migrates as an Intercom Contact with role=lead. Custom fields on eTicket Customer records map to Intercom Data Attributes on Contact with equivalent data types.

eTicket

Agent

maps to

Intercom

Admin

1:1
Fully supported

eTicket Agents map to Intercom Admins. We resolve by email match against the Intercom workspace admin list. Any eTicket Agent without a matching Intercom Admin is held in a reconciliation queue for the customer's admin to provision before ticket import resumes. Agent role (Admin, Agent, Viewer) maps to Intercom's permission model where applicable.

eTicket

Team

maps to

Intercom

Team

1:1
Fully supported

eTicket Teams map to Intercom Teams. Team name and member list migrate. Tickets assigned to a Team in eTicket receive team assignment in Intercom TicketAttributes. Individual agent assignments map to the assignee field on Intercom Tickets.

eTicket

Conversation (Ticket thread)

maps to

Intercom

Conversation (conversation_parts)

1:1
Fully supported

eTicket ticket conversation history maps to Intercom conversation_parts. Each eTicket message becomes an Intercom part with type=comment. Agent replies versus customer replies are distinguished by the author mapping (Agent=admin, Customer=user). Private internal notes map to Intercom conversation_parts with type=note. Created_at on each part preserves the original timestamp for chronological accuracy.

eTicket

Attachment

maps to

Intercom

ContentDocument / Attachment

1:1
Fully supported

File attachments on eTicket tickets and conversations migrate to Intercom as ContentDocument records linked via ContentDocumentLink to the associated Conversation or Ticket. We re-upload files to Intercom's CDN and store the original filename, content type, and file size. Image attachments inline in messages migrate as part of the message body with the image hosted on Intercom's asset infrastructure.

eTicket

Tag

maps to

Intercom

Tag

1:1
Fully supported

eTicket tags on tickets migrate as Intercom Tags. Tags on conversations migrate as Tags on the associated Ticket. Intercom does not support tag hierarchies, so flat tag names migrate directly. Tag color and tag grouping (if available in eTicket) do not have an Intercom equivalent and are documented as lost metadata.

eTicket

Custom Ticket Field

maps to

Intercom

Data Attribute (Ticket Attribute)

lossy
Fully supported

eTicket custom ticket fields map to Intercom Ticket Attributes by type. Text fields map to Intercom string Data Attributes; number fields map to integer or decimal; date fields map to Intercom datetime attributes; dropdown fields map to Intercom select Data Attributes. Fields without a matching Intercom type are flagged in the migration handoff document with the original field name, data type, and sample values for manual configuration before or after migration.

eTicket

KB Article

maps to

Intercom

Article (Knowledge Hub)

1:1
Fully supported

eTicket KB Articles migrate to Intercom Articles within a Collection. eTicket category structure maps to Intercom Collections and Sections, preserving the three-level hierarchy. Article body (HTML) migrates to Intercom's article body format. Author attribution migrates if the author email matches an Intercom Admin; otherwise author is set to the migrating admin performing the transfer. Published status and created_at timestamps preserve.

eTicket

Custom Object

maps to

Intercom

Custom Object

1:1
Fully supported

If eTicket stores non-standard data linked to tickets (Assets, Warranties, Subscriptions), these map to Intercom Custom Objects. We pre-create the destination schema including all custom attributes and lookup relationships before import. Custom Object association with Contacts and Conversations requires Intercom IDs rather than external IDs after creation; we resolve the association in a post-import step using the migrated external_id as a reference key. Note that Intercom MCP server for Fin AI data connectors does not support EU or AU workspaces.

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.

eTicket logo

eTicket gotchas

High

Project is effectively dormant — latest release dates to 2008

High

No public API or vendor-supported export tooling

Medium

Attachments live on disk and can be orphaned

Medium

No SLA, automation, or modern routing engine

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

  • Fin AI cannot query custom attributes directly

    Intercom's Fin AI Agent cannot directly query custom attributes on Contacts, Companies, or Tickets. Large or unstructured API payloads passed to Fin increase hallucination risk and can cause incorrect routing or confidently wrong answers. If the migration includes custom ticket fields that the team plans to use for Fin automation, those fields must be configured as Ticket Attributes before Fin setup, and the Fin Knowledge Base must be populated with curated articles rather than relying on raw ticket data. Teams using EU or AU data residency should note that Intercom's MCP server only supports US-hosted workspaces and will return errors for Fin data connectors in those regions.

  • Custom object associations require Intercom IDs

    Intercom's API requires internal Intercom IDs rather than external IDs when linking Custom Objects to Contacts or Conversations. Setting the association one way does not automatically set the inverse relationship. During migration, we resolve eTicket record IDs to Intercom IDs after import and then update the association fields in a second pass. If the migration process is restarted, all Custom Object associations must be re-resolved because Intercom IDs are regenerated on re-import. This adds a reconciliation step for any ticket-to-custom-object relationship that existed in eTicket.

  • API rate limits and campaign interference

    Intercom operates under API rate limits that regulate requests per time window. If active automated email campaigns (Outbound campaigns) are running during migration, they consume API quota and can slow or fail data transfer. We disable all active Outbound campaigns before migration begins and re-enable them after cutover. Additionally, if phone number validation is enabled in the Intercom workspace, records with improperly formatted phone numbers will fail import; we recommend disabling phone number validation in Settings > Your Workspace > People Data > Phone before migration starts.

  • Knowledge base hierarchy translation loses depth

    eTicket KB structures with more than three levels of category nesting will compress during migration because Intercom's Knowledge Hub supports a maximum of three levels: Collection > Section > Article. Articles without a Section (flat Collection > Article structure) are preserved but Intercom's export tool shifts the hierarchy in unexpected ways when re-exporting to another platform. We document the original KB hierarchy from eTicket in the migration handoff so the customer can validate completeness after migration.

Migration approach

Six steps for a successful eTicket to Intercom data migration

  1. Discovery and scoping call

    We audit the source eTicket instance to capture ticket volume, customer count, agent and team count, custom ticket field definitions and data types, attachment volume and file size distribution, KB article count and category depth, and any custom object structures. We pair this with a review of the target Intercom workspace configuration (seat count, plan tier, existing Data Attributes, Knowledge Hub collections, and any active Custom Object definitions). The discovery output is a written migration scope document that maps every eTicket object to its Intercom equivalent, flags any custom fields without a type match, and estimates the batch count for large ticket histories.

  2. Workspace preparation in Intercom

    We verify that the necessary Ticket Types and Ticket Attributes are configured in Intercom before data import. Any eTicket custom fields that require new Intercom Data Attributes are created during this phase. We confirm admin provisioning for all migrating agents, configure Team structures in Intercom, and disable phone number validation and active Outbound campaigns to prevent import failures. If Fin AI will be used post-migration, we document the KB articles that will serve as the Fin knowledge source so that article ordering and completeness are validated before cutover.

  3. Schema mapping and transform design

    We design the field-level mapping for every eTicket object. Ticket status values map to Intercom Ticket state; agent assignments map to Intercom admin references; team assignments map to Intercom team references. For conversations, we design the conversation_parts transform that splits messages by author type (admin vs user) and preserves created_at timestamps per part. Custom fields that lack an Intercom type match are documented as manual-configuration items with sample data for the customer's admin to review. We run a small sample migration (10-20 tickets) into the Intercom workspace to validate mapping correctness before committing to the full run.

  4. Contact and company import

    We import eTicket Customers as Intercom Contacts before any ticket data. Email address serves as the deduplication key. If the eTicket source stores both identified users and leads, we preserve the distinction by setting the role field appropriately. Companies from eTicket (if present) import as Intercom Companies linked to the corresponding Contacts. Any Contact without an email address is flagged for the customer's admin to handle manually because Intercom requires an email or external_id for contact creation.

  5. Ticket and conversation migration with batch sequencing

    We import eTicket tickets in dependency order: Ticket metadata first (subject, status, priority, timestamps), then conversation_parts in chronological sequence to preserve threading. Each ticket is linked to its resolved Contact record and assigned Team and Agent. Attachments upload concurrently with the conversation_parts they belong to, with files re-hosted on Intercom's CDN. Tags on tickets migrate as Intercom Tags. We chunk large ticket histories into import-safe batches to avoid timeout failures, with reconciliation row counts emitted after each batch.

  6. Knowledge base and custom object import

    KB Articles import into Intercom Collections and Sections, preserving the three-level hierarchy where it exists in eTicket. Author attribution maps to Intercom Admins by email match. If eTicket contains custom objects linked to tickets, we import the custom object records after ticket migration completes, then resolve the Intercom IDs and update the association fields in a second pass. We verify custom object linkage after import by spot-checking 20-30 records against the source.

  7. Cutover, validation, and automation handoff

    We freeze writes in eTicket during cutover, run a final delta migration of any records modified during the migration window, then enable Intercom as the system of record. We deliver a row-count reconciliation report comparing eTicket source counts to Intercom destination counts for every object. We deliver the automation and routing rule inventory document listing every eTicket workflow or automation that requires rebuild in Intercom's workflow builder. We do not rebuild these as code within the migration scope. We support a one-week hypercare window for reconciliation issues raised during the first week of live operation in Intercom.

Platform deep dives

Context on both ends of the pair

eTicket logo

eTicket

Source

Strengths

  • Free and open-source self-hosted PHP/MySQL helpdesk.
  • Email-to-ticket (pop3/pipe) and web-form ticket creation in the core distribution.
  • Skinnable to match the host website's branding.
  • Multi-lingual UI and CAPTCHA / spam filtering included.
  • Full database ownership for teams that need on-premise data control.

Weaknesses

  • Project is effectively dormant; last release in October 2008.
  • No public API or supported migration tooling — exports go through direct MySQL queries.
  • No SLA engine, no automation rules, no modern reporting.
  • PHP / MySQL stack compatibility issues on modern hosting are not addressed upstream.
  • Limited third-party community or commercial support for new deployments.
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. 5 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 eTicket and Intercom.

  • Object compatibility

    C

    5 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

    eTicket: Not applicable — no API surface exists..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 10,000 tickets, 5,000 contacts, and 500 KB articles with no custom objects. Migrations with complex custom ticket fields, large attachment volumes, multi-level KB hierarchies, or custom object linkage move to seven to ten weeks because of field reconciliation work, attachment re-hosting, and the two-pass custom object association step. Timeline depends heavily on eTicket data accessibility and whether the source instance is actively maintained.

Adjacent paths

Related migrations to explore

Ready when you are

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