Helpdesk migration

Migrate from Hesk to Intercom

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

Hesk logo

Hesk

Source

Intercom

Destination

Intercom logo

Compatibility

80%

8 of 10

objects map 1:1 between Hesk and Intercom.

Complexity

CModerate

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Hesk and Intercom solve customer support in fundamentally different ways. Hesk is a ticket-first, database-backed help desk that stores every record in MySQL with no public REST API — migrations must read directly from the database or use the UI's XML/Excel export. Intercom is a messaging-first conversational platform where every customer interaction is a Conversation and every customer is a Contact or Company. We resolve that structural difference during scoping: Hesk Tickets become Intercom Conversations, Hesk ticket Categories become Intercom Inbox assignments, Hesk staff become Intercom Teammates, and Hesk knowledge base articles become Intercom Knowledge Hub articles in Collections. We do not migrate Hesk's basic routing rules, canned response logic, or any reporting configuration — these require manual rebuild in Intercom's workflow builder and saved responses editor. Knowledge base articles migrate as structured articles but require manual Fin AI training post-migration because Fin uses the Knowledge Hub as a reference source, not a migrated rule set. Attachments migrate from Hesk's file-system paths to Intercom's hosted attachment store with URLs re-mapped post-import. Timeline is two to four weeks for typical migrations under 10,000 tickets and four to eight weeks for larger histories.

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

Hesk logo

Hesk

What's pushing teams away

  • Hesk has no built-in REST API, which blocks teams that need to automate workflows, integrate with CRMs, or connect third-party chatbots at scale.
  • The admin UI is described as functional but dated, with reviewers noting the management panel could benefit from modern design and UX improvements.
  • Larger support teams outgrow Hesk's flat feature set and migrate to platforms like Zendesk, Freshdesk, or JIRA Service Management for automation, SLA management, and multi-channel routing.
  • Hesk Cloud pricing is not transparently published on the site, leading some customers to feel uncertain about total cost when moving off self-hosted.
  • The knowledge base and ticket search are basic compared to enterprise alternatives, with limited customisation of article layouts and no built-in versioning.

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

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

Hesk

Ticket

maps to

Intercom

Conversation

1:1
Fully supported

Hesk Tickets map to Intercom Conversations. Hesk subject becomes Conversation title, Hesk message and thread become Conversation Parts in chronological order. Hesk ticket status (open, pending, resolved, closed) maps to Intercom Conversation state (open, resolved, closed). Priority from Hesk migrates as a custom conversation attribute. We extract the full ticket thread from Hesk's ticket_messages table and replay it as Intercom Conversation Parts with correct author attribution (Contact vs Teammate) resolved from the user_id reference.

Hesk

Ticket Category

maps to

Intercom

Inbox

lossy
Fully supported

Hesk Categories are flat ticket-routing labels with no hierarchy. Intercom Inboxes are the assignment container for Conversations and require pre-creation in the destination workspace before migration begins. We map each Hesk Category to an Intercom Inbox (or to Inbox plus tag if the team uses fewer Inboxes than Hesk Categories) and document the mapping. The customer configures their Inbox structure before migration so that the inbox_id foreign key is satisfied during import.

Hesk

End User

maps to

Intercom

Contact

1:1
Fully supported

Hesk end users (the customers who submit tickets) map to Intercom Contacts. Email, name, phone, IP address (flagged for GDPR review), and creation date migrate. Hesk allows emailless users for phone-only contacts — we handle these by creating Contacts with a placeholder email domain and flagging them for the customer's review post-migration. Hesk custom fields on users map to Intercom custom attributes on the Contact object.

Hesk

Staff Account

maps to

Intercom

Teammate

1:1
Fully supported

Hesk Staff accounts (administrator, manager, agent roles) map to Intercom Teammates. The Hesk role hierarchy maps to Intercom's teammate permissions (admin, agent, viewer). Password hashes from Hesk's MySQL bcrypt storage cannot migrate to Intercom — staff receive invite emails to set passwords in the new workspace. We map Hesk staff IDs from ticket ownership to Intercom teammate IDs by email match.

Hesk

Knowledge Base Article

maps to

Intercom

Article

1:1
Fully supported

Hesk KB articles (title, HTML body, category association, attachments) map to Intercom Articles in the Knowledge Hub. Hesk KB categories map to Intercom Collections. We preserve article body as HTML where supported and fall back to plain text for sections that use non-migratable markup. Intercom's article state (published, draft) maps from Hesk's article visibility flag. Articles are imported into Intercom's API and then linked to Collections via the workspace's Collection structure configured before migration.

Hesk

KB Category

maps to

Intercom

Collection

1:1
Fully supported

Hesk KB categories are simple name-description rows referenced by article and ticket foreign keys. Intercom Collections are containers for Articles with optional sub-collection nesting. We map each Hesk KB category to an Intercom Collection, preserving the category name and creating a Collection for each. If the customer has a flat Hesk category structure, we create a single-level Collection hierarchy; if they have nested categories, we replicate the hierarchy as parent and child Collections in Intercom.

Hesk

Custom Field

maps to

Intercom

Custom Attribute

lossy
Fully supported

Hesk custom fields are stored as field definitions in a custom fields table with values linked to tickets or users. Intercom custom attributes must be pre-created in the workspace before data import because the API requires the attribute to exist before data can be written to it. We enumerate all Hesk custom field definitions during discovery, map their data types (string, boolean, date, number, select, multi-select) to equivalent Intercom attribute types, and pre-create them via the Intercom API before the main migration pass.

Hesk

Canned Response

maps to

Intercom

Saved Response

1:1
Fully supported

Hesk canned responses are stored as title and HTML content rows in the database. Intercom Saved Responses are pre-written templates accessible to teammates during conversation resolution. We export Hesk canned responses as a flat list, clean any non-HTML markup, and import them to Intercom via the Saved Responses API. Ordering and category grouping from Hesk (if used) maps to Saved Response tags in Intercom for discoverability.

Hesk

Attachment

maps to

Intercom

Attachment

1:1
Fully supported

Hesk attachments live on disk with file paths stored in MySQL. The files directory must be exported alongside the database records. We copy the files to a staging location accessible to the migration process, upload each file to Intercom via the Attachments API, and link the resulting Intercom attachment URL to the correct Conversation Part or Article. If the destination Intercom workspace uses a different domain or subdomain than the source Hesk installation, attachment URLs are re-mapped post-import to point to the correct Intercom-hosted location.

Hesk

Ticket History

maps to

Intercom

Conversation Part

1:1
Fully supported

Hesk logs ticket events (opened, replied, status changed, assigned) in a ticket_history table. Intercom represents every action in a Conversation as a Conversation Part. We export the full Hesk ticket history, map each event type to an Intercom Conversation Part type (comment, note, assignment, status_change, open, close), preserve the original timestamp, and attribute it to the correct Teammate or Contact based on the user_id reference. Note-type parts from Hesk become note-type parts in Intercom.

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.

Hesk logo

Hesk gotchas

High

No REST API means all migrations are database-first

High

Moving Hesk between servers requires version parity

Medium

GDPR anonymisation may conflict with ticket preservation

Medium

Attachments are file-system references, not database blobs

Low

Custom field limits are undocumented but exist

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

  • Hesk has no REST API — all extraction is database-first

    Hesk exposes no public REST API for creating, reading, or updating records programmatically. Every migration from Hesk requires either direct MySQL database access (for self-hosted Hesk) or XML/Excel export via the Hesk UI (for Hesk Cloud). Direct database access requires the customer to provide MySQL credentials and ensure our migration host can reach the MySQL port over the network. XML/Excel exports from Hesk Cloud have record-count and attachment-size limits that may require multiple export passes or a manual file-transfer process. We confirm the access method during discovery and scope the migration accordingly.

  • Ticket threading requires careful replay to preserve conversation order

    Hesk stores ticket messages in a separate ticket_messages table with a sequence or timestamp column, and ticket events in a ticket_history table. Intercom expects every customer message and agent action to appear as a chronologically ordered Conversation Part. If the ticket_messages table lacks a reliable ordering column (some Hesk versions use message ID sequencing), we reconstruct the thread from the message timestamps and audit log entries. Thread ordering errors result in Conversations where customer replies appear before agent responses — visible and confusing for agents reviewing historical cases.

  • Attachment paths break if the file-system export is missed

    Hesk stores ticket and KB article attachments on disk with file paths in MySQL. Direct database migration without exporting the corresponding hesk_attachments directory leaves broken attachment links in Intercom. We bundle the file-system export with the database export, verify path consistency between the two sources, and re-map attachment URLs after upload to Intercom's attachment hosting. If the destination is a different domain, attachment URLs are updated post-import to reflect the Intercom-hosted location.

  • Intercom phone number validation rejects some Hesk phone formats

    Intercom's workspace settings include phone number validation. If enabled, records with non-standard phone formats (missing country code, alpha characters, or length violations) fail import. Hesk allows free-form phone entry without validation. We recommend disabling Intercom phone number validation in workspace settings before migration (Settings > Your Workspace > People Data > Phone) and re-enabling post-migration after customer data is cleaned. Alternatively, we flag records with invalid phone formats during discovery and exclude them from the initial import pass for manual correction.

  • Intercom API rate limits require batch chunking and backoff

    Intercom's API imposes rate limits on requests per minute. During bulk migration of Conversations, Contacts, and Articles, we use batch API calls with exponential backoff on 429 responses and chunking of large record sets (Intercom recommends batches of under 100 records for bulk imports). We also disable active automated email campaigns in Intercom before migration begins because outbound campaigns consume API quota and can slow migration throughput. If the customer has active Outbound campaigns, we pause them in Settings > Outbound > Campaigns before the migration pass starts.

Migration approach

Six steps for a successful Hesk to Intercom data migration

  1. Discovery and access method confirmation

    We audit the source Hesk installation to confirm the Hesk version, hosting type (self-hosted or Hesk Cloud), database schema, record counts (tickets, users, staff, KB articles, custom fields, canned responses), and attachment file count and size. For self-hosted Hesk, we confirm MySQL connectivity from our migration host and request database credentials. For Hesk Cloud, we confirm XML or Excel export capability and any record-count limits on exports. We also confirm the target Intercom workspace region (US, EU, or AU) because regional hosting affects data residency planning and, for Fin AI integrations, MCP server availability. The discovery output is a written migration scope and an Intercom workspace readiness checklist.

  2. Intercom workspace pre-configuration

    Before any data migration, we configure the Intercom destination workspace to receive Hesk data. This includes creating Inboxes mapped from Hesk Categories (the customer approves the Inbox structure), creating Collections mapped from Hesk KB categories, pre-creating all custom attributes (mapped from Hesk custom field definitions), configuring Teammate roles and permissions (mapped from Hesk staff roles), and disabling phone number validation if the customer's Hesk data contains free-form phone formats. We run this configuration in the customer's live Intercom workspace during a quiet period, or in a separate Intercom workspace for evaluation before cutover.

  3. Schema extraction from Hesk

    For self-hosted Hesk, we run direct MySQL queries against the source database to extract Tickets (with message threads and history), Users, Staff, KB Articles, Custom Field definitions and values, Canned Responses, and Settings. We extract attachments file-system metadata alongside the database records. For Hesk Cloud, we run XML or Excel exports from the Hesk admin panel and parse the output into structured records. We cross-validate record counts from the database against the Hesk admin statistics panel to confirm no records are missed during extraction. Any GDPR-sensitive records (PII-flagged users, anonymisation-requested accounts) are isolated during extraction for separate handling.

  4. Data transformation and Intercom import

    We transform extracted Hesk records into Intercom API payloads. Ticket subjects become Conversation titles. Ticket messages and history become Conversation Parts in chronological order. End users become Contacts with custom attributes resolved. Staff become Teammates (provisioned for login, not imported with passwords). KB articles become Articles in Collections. Canned responses become Saved Responses. We resolve all foreign key references (category to Inbox, user to Contact, staff to Teammate) before writing to Intercom. We use batch API calls with chunking and exponential backoff on rate limit responses. Each import phase emits a row-count reconciliation report before the next phase begins.

  5. Attachment upload and URL re-mapping

    We upload Hesk attachment files to Intercom via the Attachments API, one batch at a time to avoid timeout. Each uploaded file returns an Intercom attachment ID and URL, which we substitute for the original Hesk file path in the corresponding Conversation Part or Article payload. If the Intercom workspace uses a different domain than the source Hesk installation, all attachment URLs are updated post-upload to reflect the Intercom-hosted location. We verify attachment presence in Intercom for a random sample of 25 tickets and articles before declaring the attachment pass complete.

  6. Cutover, validation, and workflow handoff

    We freeze Hesk writes during cutover, run a final delta migration of any tickets or users modified during the migration window, then enable Intercom as the system of record. We deliver a written inventory of Hesk workflows, routing rules, and canned response logic requiring rebuild in Intercom's workflow builder and saved responses editor. We support a one-week post-migration window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Hesk's basic ticket routing as Intercom workflows; that is a separate configuration task for the customer's admin or an Intercom implementation partner.

Platform deep dives

Context on both ends of the pair

Hesk logo

Hesk

Source

Strengths

  • Zero-cost self-hosted option with no per-agent or per-ticket billing ever.
  • PHP/MySQL stack runs on any shared hosting or VPS with minimal server requirements.
  • One-time license fee ($49.99) removes branding and includes direct developer support.
  • Unlimited users per installation regardless of plan.
  • Direct MySQL access gives full data portability for teams comfortable with SQL exports.

Weaknesses

  • No public REST API — automation and third-party integrations require custom development or Mods-for-HESK community add-ons.
  • Dated admin interface compared to modern SaaS help desks; UI customisation is limited to CSS themes.
  • Limited automation: no built-in workflow rules, SLA timers, or escalation triggers beyond basic ticket routing.
  • Server maintenance (backups, upgrades, cron jobs, mail server config) is the customer's responsibility on self-hosted.
  • No native multi-channel routing beyond email-to-ticket; chat, phone, and social channels require external tools.
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. 4 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 Hesk and Intercom.

  • Object compatibility

    C

    4 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

    Hesk: Not documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Hesk 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 two and four weeks for accounts under 5,000 tickets, 2,000 contacts, and 500 KB articles. Migrations with 10,000+ tickets, multiple Hesk installations (Advanced license holders), large attachment volumes, or complex knowledge base structures move to four to eight weeks because of database connectivity complexity, thread reconstruction, and attachment path re-mapping. Intercom workspace pre-configuration adds one to three days to the overall timeline before the data migration pass begins.

Adjacent paths

Related migrations to explore

Ready when you are

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