Helpdesk migration
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
Source
HubSpot Service Hub
Destination
Compatibility
10 of 12
objects map 1:1 between Hesk and HubSpot Service Hub.
Complexity
CModerate
Timeline
2-4 weeks
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Source platform
Hesk platform overview
Scorecard, SWOT, gotchas, and pricing for Hesk.
Destination platform
HubSpot Service Hub platform overview
Scorecard, SWOT, gotchas, and pricing for HubSpot Service Hub.
Data migration guide
The complete HubSpot Service Hub migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
HubSpot Service Hub migration checklist
Pre- and post-cutover tasks for moving onto HubSpot Service Hub.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
HubSpot Service Hub
Ticket
1:1Hesk 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
HubSpot Service Hub
Ticket Pipeline and Stage
lossyHesk 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)
HubSpot Service Hub
Contact
1:1Hesk 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
HubSpot Service Hub
User
1:1Hesk 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)
HubSpot Service Hub
Custom Properties (Ticket)
1:1Hesk 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)
HubSpot Service Hub
Custom Properties (Contact)
1:1Hesk 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
HubSpot Service Hub
Knowledge Base Article
1:1Hesk 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
HubSpot Service Hub
Knowledge Base Category
1:1Hesk 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
HubSpot Service Hub
Snippets
1:1Hesk 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
HubSpot Service Hub
Files
1:1Hesk 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
HubSpot Service Hub
Ticket Conversations
1:1Hesk 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
HubSpot Service Hub
Settings
lossyHesk 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.
| Hesk | HubSpot Service Hub | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Ticket Category | Ticket Pipeline and Stagelossy | Fully supported | |
| Customer (End User) | Contact1:1 | Fully supported | |
| Staff Account | User1:1 | Fully supported | |
| Custom Fields (Ticket) | Custom Properties (Ticket)1:1 | Fully supported | |
| Custom Fields (User) | Custom Properties (Contact)1:1 | Fully supported | |
| Knowledge Base Article | Knowledge Base Article1:1 | Fully supported | |
| KB Category | Knowledge Base Category1:1 | Fully supported | |
| Canned Response | Snippets1:1 | Fully supported | |
| Attachment | Files1:1 | Fully supported | |
| Ticket History | Ticket Conversations1:1 | Fully supported | |
| Settings and Configuration | Settingslossy | Mapping required |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Hesk gotchas
No REST API means all migrations are database-first
Moving Hesk between servers requires version parity
GDPR anonymisation may conflict with ticket preservation
Attachments are file-system references, not database blobs
Custom field limits are undocumented but exist
HubSpot Service Hub gotchas
Rate limits throttle large migration API calls
Side conversations and Zendesk macros have no HubSpot equivalent
HubSpot stores ticket history as fragmented engagement objects
Custom Objects require Enterprise tier in HubSpot
Ticket pipeline stage probability values do not export cleanly
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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.
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
Hesk
Source
Strengths
Weaknesses
HubSpot Service Hub
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 3 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Hesk and HubSpot Service Hub.
Object compatibility
3 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Hesk: Not documented.
Data volume sensitivity
Hesk doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Hesk to HubSpot Service Hub migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Hesk
Other ways to arrive at HubSpot Service Hub
Same-Helpdesk migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.