Helpdesk migration

Migrate from Hesk to HubSpot Service Hub

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

Hesk logo

Hesk

Source

HubSpot Service Hub

Destination

HubSpot Service Hub logo

Compatibility

83%

10 of 12

objects map 1:1 between Hesk and HubSpot Service Hub.

Complexity

CModerate

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Hesk has no REST API, which means every migration is a direct MySQL extraction. We connect to the Hesk database, enumerate all tables including ticket history, attachments, custom fields, and KB articles, then write to HubSpot Service Hub via the Tickets API and CRM REST API. Ticket categories from Hesk map to HubSpot ticket pipelines and pipeline stages. Staff accounts from Hesk map to HubSpot Users with their role translated to HubSpot Teams. Attachments require a parallel file-system export because Hesk stores them on disk with MySQL path references — we re-map those paths post-import to HubSpot's file hosting. We do not migrate Hesk ticket workflows or automated routing rules; the Hesk admin rebuilds these in HubSpot's automation builder post-cutover. The Knowledge Base maps to HubSpot's knowledge base articles with category structure preserved.

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

HubSpot Service Hub logo

HubSpot Service Hub

What's pulling them in

  • Unified CRM context means every support ticket links directly to the Contact and Company record without a separate integration
  • Free tier provides unlimited support seat access with basic ticketing and a shared inbox for small teams to validate fit before committing
  • Omnichannel routing consolidates email, live chat, Facebook Messenger, WhatsApp, and Instagram DM into one queue
  • Built-in customer success workspace gives health scores and portfolio views that other standalone helpdesks cannot match
  • AI-powered Breeze agent automates common resolutions and surfaces knowledge base articles without agent intervention

Object mapping

How Hesk objects map to HubSpot Service Hub

Each row shows how a Hesk object lands in HubSpot Service Hub, 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

HubSpot Service Hub

Ticket

1:1
Fully supported

Hesk tickets map directly to HubSpot Service Hub tickets. The Hesk ticket subject becomes the HubSpot ticket subject, the message body and threaded replies become HubSpot ticket conversations (thread order preserved via timestamp ordering), and Hesk status (new/open/pending/waiting/closed) maps to HubSpot ticket status values which we configure to match the Hesk taxonomy during setup. Priority maps to HubSpot priority. We use the HubSpot Tickets API for write operations with batch chunking to stay within HubSpot's 100 calls/second limit at Enterprise tier.

Hesk

Ticket Category

maps to

HubSpot Service Hub

Ticket Pipeline and Stage

lossy
Fully supported

Hesk ticket categories map to HubSpot ticket pipelines. Each Hesk category becomes a HubSpot pipeline with stage values modelled on the Hesk status progression. We create the pipelines in HubSpot via the CRM API before any ticket import so that pipeline_id is available for every ticket record at write time.

Hesk

Customer (End User)

maps to

HubSpot Service Hub

Contact

1:1
Fully supported

Hesk end-user accounts (name, email, phone, IP address, creation date) map to HubSpot CRM Contacts. Email serves as the dedupe key. If a Hesk user has no email (phone-only contact), we create a synthetic email from the contact ID to satisfy HubSpot's email format requirement and flag it in the reconciliation report for the customer's admin to correct post-migration.

Hesk

Staff Account

maps to

HubSpot Service Hub

User

1:1
Fully supported

Hesk staff accounts (name, email, role) map to HubSpot Users. Hesk administrator and manager roles map to HubSpot Super Admin and Admin roles respectively; agent maps to a standard User role scoped to the relevant HubSpot Teams. We match by email. Staff accounts without a matching HubSpot User are held in a provisioning queue for the customer's admin to resolve before ticket import begins.

Hesk

Custom Fields (Ticket)

maps to

HubSpot Service Hub

Custom Properties (Ticket)

1:1
Fully supported

Hesk ticket custom fields (per-ticket text, number, dropdown, checkbox, and date fields) map to HubSpot ticket custom properties. We read the Hesk custom field definition table, create matching HubSpot custom properties via the CRM Properties API, then map field values during ticket import. Hesk custom field type (text, number, dropdown) is preserved as the HubSpot property type.

Hesk

Custom Fields (User)

maps to

HubSpot Service Hub

Custom Properties (Contact)

1:1
Fully supported

Hesk user custom fields (per-end-user fields) map to HubSpot Contact custom properties. These are created in HubSpot before contact import and values are written during the contact phase.

Hesk

Knowledge Base Article

maps to

HubSpot Service Hub

Knowledge Base Article

1:1
Fully supported

Hesk KB articles (title, HTML content, category association, attachment references) map to HubSpot knowledge base articles. We export HTML content as the article body, preserve category structure as HubSpot article category folders, and handle inline images as separate file references that are re-mapped to HubSpot file URLs post-import. Article publish status migrates as draft in HubSpot so the customer's admin reviews and publishes each article.

Hesk

KB Category

maps to

HubSpot Service Hub

Knowledge Base Category

1:1
Fully supported

Hesk KB categories map to HubSpot knowledge base categories. We preserve the full category tree and re-map the parent-child hierarchy during import so that articles land in the correct folder in HubSpot.

Hesk

Canned Response

maps to

HubSpot Service Hub

Snippets

1:1
Fully supported

Hesk canned responses (title, HTML reply content) map to HubSpot Snippets. We export them as a flat list and import into the Snippets feature in HubSpot Service Hub. Snippets are organisation-level in HubSpot, not scoped per agent, which is a minor structural difference from Hesk's per-staff canned responses.

Hesk

Attachment

maps to

HubSpot Service Hub

Files

1:1
Fully supported

Hesk attachments live on the file system with MySQL path references. We export the entire attachments directory alongside the database export, create HubSpot Files records via the Files API, and update the attachment path references in migrated tickets and KB articles with the new HubSpot file URLs. This step requires a coordinated file transfer alongside the database read and adds 30-60 minutes of transfer time for large attachment sets.

Hesk

Ticket History

maps to

HubSpot Service Hub

Ticket Conversations

1:1
Fully supported

Hesk ticket history logs (opened, replied, status changed, assigned) are exported as conversation entries in HubSpot. Each history event becomes a HubSpot ticket conversation line with the event type preserved as a tag on the conversation body. We cannot create a native audit log entry in HubSpot because the audit log is system-generated, but the event content is visible in the ticket timeline as conversation entries.

Hesk

Settings and Configuration

maps to

HubSpot Service Hub

Settings

lossy
Mapping required

Hesk configuration settings (ticket status labels, priority labels, email routing, branding) are exported as a written configuration inventory. We do not apply them programmatically to HubSpot because HubSpot status and priority labels are configured manually in Settings > Objects > Tickets. We deliver a configuration guide mapping each Hesk setting to its HubSpot equivalent so the admin applies them during the parallel setup 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.

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

HubSpot Service Hub logo

HubSpot Service Hub gotchas

High

Rate limits throttle large migration API calls

High

Side conversations and Zendesk macros have no HubSpot equivalent

High

HubSpot stores ticket history as fragmented engagement objects

Medium

Custom Objects require Enterprise tier in HubSpot

Medium

Ticket pipeline stage probability values do not export cleanly

Pair-specific challenges

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

    Hesk exposes no public API for creating, reading, or updating records programmatically. Every migration runs through direct MySQL access or the UI's XML/Excel export. We connect to the customer's MySQL instance, read the full Hesk schema, and write to HubSpot via the Tickets API and CRM REST API. This requires the customer to provide database credentials and confirm our migration host can reach the MySQL port (default 3306). Self-hosted Hesk installations on restrictive hosting environments may need SSH tunnel or VPN access configured before we can connect.

  • Attachments are file-system references, not database blobs

    Hesk stores attachments on disk with relative path strings in the MySQL attachments table. A database-only migration leaves broken attachment links. We bundle a parallel file-system export of the Hesk attachments directory, re-map path strings to HubSpot Files API URLs post-import, and verify each re-mapped link against HubSpot's file record. Large attachment sets (thousands of files) require a dedicated file-transfer window and add 30-90 minutes to the project timeline.

  • HubSpot API rate limits require batch chunking on large migrations

    HubSpot Service Hub's Tickets API enforces tier-based rate limits (20 calls/second on Starter, 100 calls/second on Enterprise). Large Hesk instances with tens of thousands of tickets risk 429 responses without chunking and exponential backoff. We implement 100-record batch sizing with retry logic on 429 responses, using HubSpot's Bulk API for contact and company imports to maximise throughput while respecting limits. This adds engineering complexity that is handled transparently inside the migration delivery.

  • GDPR anonymisation may conflict with ticket content fidelity

    Hesk's built-in anonymisation feature strips PII from message content while preserving tickets for statistics. If the customer requests anonymisation as a pre-migration GDPR cleanup, we must decide whether to preserve ticket subjects and thread structure (which may still contain indirect identifiers) or apply full anonymisation and accept reduced migration fidelity. We clarify the GDPR scope with the customer before anonymising and document which records are affected.

  • Hesk workflows and ticket routing do not migrate to HubSpot automation

    Hesk's basic ticket routing by category and owner has no direct HubSpot equivalent that we can import. HubSpot's automation builder (property triggers, delays, ticket actions) requires manual rebuild by the admin. We deliver a written inventory of every Hesk category-to-owner routing rule and recommended HubSpot automation equivalent as part of the configuration handoff. This is admin rebuild work, not a migration deliverable.

Migration approach

Six steps for a successful Hesk to HubSpot Service Hub data migration

  1. Discovery and database access setup

    We conduct a scoping call to confirm record volumes (tickets, contacts, KB articles, attachments, canned responses), Hesk version and hosting type (self-hosted or Hesk Cloud), and GDPR requirements. We then set up a secure connection to the Hesk MySQL database — self-hosted installations require SSH tunnel or VPN access; Hesk Cloud requires the customer to provide a database read-only credential or XML/Excel export. We run a discovery query against all Hesk tables to enumerate schema, custom field definitions, attachment paths, and ticket history record count, and deliver a scoping report before any migration begins.

  2. HubSpot Service Hub configuration preparation

    While awaiting database access confirmation, we set up HubSpot Service Hub on the customer's destination portal: creating ticket pipelines and stages that mirror the Hesk category and status taxonomy, provisioning custom ticket and contact properties for Hesk custom fields, setting up HubSpot Teams that map to Hesk staff role hierarchies, and creating the knowledge base category structure. This is done in parallel with the database access setup so that the HubSpot schema is ready before any data is written.

  3. File-system attachment export and path mapping

    We export the full Hesk attachments directory (the hesk_attachments folder and any custom-attachment subdirectories) to a staging host, verify the file count and total size, and generate a path-to-HubSpot-File-ID mapping table. Inline image references inside ticket message bodies and KB article HTML are updated to point to the HubSpot Files API URLs post-upload. This step runs in parallel with the database export phase.

  4. Database extraction and transformation

    We run a full MySQL extraction from the Hesk database covering tickets, ticket history, contacts, staff accounts, custom field definitions and values, KB articles, KB categories, canned responses, and configuration settings. Custom field values are pivoted from the Hesk key-value row format into columnar format suitable for HubSpot CRM property writes. Ticket threading is reconstructed from the Hesk ticket replies table with parent ticket ID resolution. The extracted data is validated against the discovery counts before transformation begins.

  5. Sandbox migration and reconciliation

    We run a full migration into the customer's HubSpot Sandbox (or a designated test portal) using production-equivalent data volumes. The customer's Service Hub admin reviews a random sample of 25-50 migrated tickets, contacts, and KB articles against the Hesk source, verifies pipeline mapping, confirms attachment links resolve correctly, and approves the mapping. Any corrections to custom property names, stage labels, or owner assignments happen in this phase before production migration begins.

  6. Production migration in dependency order

    We run the production migration in record-dependency order: HubSpot Users (validated against staff accounts), Contacts (with dedupe by email), Companies (where applicable), Knowledge Base articles and categories, Snippets, Ticket pipelines and stages, and then Tickets with conversations, attachment links, and custom field values. Each phase emits a row-count reconciliation report. File attachments are uploaded to HubSpot Files API concurrently with the ticket phase and path references are updated in real time. A delta pass captures any records modified in Hesk during the migration window before cutover.

  7. Cutover, validation, and handoff

    We freeze writes in Hesk during cutover, run the delta migration of any records modified in the final hours, then confirm HubSpot as the system of record. We deliver the configuration inventory (Hesk settings mapped to HubSpot equivalents), the automation rebuild guide (category-to-owner routing rules and recommended HubSpot automation triggers), and the post-migration reconciliation report. We support a five-business-day hypercare window for data issues raised by the support team. We do not rebuild Hesk routing rules as HubSpot automations inside the migration scope; this is documented for the admin to rebuild.

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.
HubSpot Service Hub logo

HubSpot Service Hub

Destination

Strengths

  • Unified CRM object model means support context is always linked to sales and marketing data
  • Generous free tier with unlimited tickets and a shared inbox for small teams
  • Omnichannel inbox consolidates email, live chat, and major messaging platforms natively
  • Customer Success Workspace provides portfolio-level health scores without a separate tool
  • AI agent (Breeze) handles Tier-1 resolutions and knowledge base deflection automatically

Weaknesses

  • Per-seat pricing with mandatory onboarding fees inflates year-one cost significantly
  • Ticket history stored as fragmented engagement objects across APIs complicates export and migration
  • Custom Objects locked behind Enterprise tier limits portability for mid-market teams
  • Help desk depth—routing rules, SLA management, advanced reporting—trails dedicated tools like Zendesk
  • Setup and configuration requires real time investment; out-of-box defaults rarely fit existing workflows

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 Hesk and HubSpot Service Hub.

  • 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

    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 HubSpot Service Hub 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 HubSpot Service Hub data migrations

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

Can't find your answer?

Walk through your Hesk to HubSpot Service Hub migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Small migrations under 3,000 tickets, 1,000 contacts, and 500 KB articles typically complete in two to three weeks. Medium migrations with full ticket history, attachment bundling, and custom field mapping land at four to six weeks. Large migrations with 15,000+ tickets, multi-category KB exports, and GDPR anonymisation preprocessing move to eight to ten weeks. The database access setup phase (1-3 business days depending on hosting environment) and HubSpot configuration phase can run in parallel and do not add to the critical path.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Hesk.
Land in HubSpot Service Hub, 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