Helpdesk migration

Migrate from HubSpot Service Hub to Zendesk

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

HubSpot Service Hub logo

HubSpot Service Hub

Source

Zendesk

Destination

Zendesk logo

Compatibility

92%

11 of 12

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

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Zendesk
HubSpot Service Hub

Overview

What this migration involves

Moving from HubSpot Service Hub to Zendesk trades HubSpot's CRM-unified context for Zendesk's dedicated ticketing depth. HubSpot stores ticket history as separate email, call, chat, and note engagement objects across multiple API endpoints, requiring us to query each engagement type and reconstruct a unified conversation thread before loading it into Zendesk's comment structure. We map standard HubSpot properties (subject, status, priority, source) directly to Zendesk ticket fields, and resolve HubSpot ticket owners to Zendesk agent users by email match. Custom ticket properties map to Zendesk custom ticket fields, but HubSpot macros (saved response templates) have no native Zendesk equivalent and must be rebuilt as Zendesk macros post-migration. We do not migrate Workflows, automations, or sequences; we deliver a written inventory of every HubSpot automation for your admin to rebuild in Zendesk's trigger and automation engine. Knowledge base articles, categories, and publish status transfer to Zendesk Guide with article bodies and attachments intact.

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

HubSpot Service Hub logo

HubSpot Service Hub

What's pushing teams away

  • Pricing scales per-seat with mandatory Professional onboarding fees that feel disproportionate if you only need basic ticketing
  • Portal customization is limited—branding options and layout control lag behind dedicated helpdesk tools
  • Setup requires real work; out-of-the-box defaults rarely match existing support workflows without significant configuration
  • Feature depth in Service Hub lags behind Zendesk for complex routing rules, SLAs, and advanced reporting requirements
  • Growing teams hit tier limits quickly and face expensive upgrades to unlock basic capabilities like custom ticket pipelines

Choosing

Zendesk logo

Zendesk

What's pulling them in

  • Mature omnichannel routing across email, chat, phone, messaging, and social — one unified inbox for support teams regardless of size or complexity.
  • Deep automation with Triggers, Automations, and SLA Policies lets high-volume teams enforce consistent workflows without manual ticket handling.
  • Large ecosystem of third-party integrations and a public app marketplace reduce friction for teams already using Salesforce, Jira, or Slack.
  • Industry-leading brand recognition and trust signal — many enterprise buyers default to Zendesk as a known quantity in vendor procurement cycles.
  • Generous documentation library and community mean onboarding teams can self-configure without needing a services engagement to get started.

Object mapping

How HubSpot Service Hub objects map to Zendesk

Each row shows how a HubSpot Service Hub object lands in Zendesk, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

HubSpot Service Hub

Ticket

maps to

Zendesk

Ticket

1:1
Fully supported

HubSpot Tickets map directly to Zendesk Tickets. The HubSpot subject property becomes Zendesk subject, hs_ticket_status becomes status (open, pending, solved, closed), priority maps to Zendesk priority (low, normal, high, urgent), and source channels map to Zendesk channel tags. Custom ticket properties map to Zendesk custom ticket fields, which we create in the destination admin before migration. We reconstruct the HubSpot ticket ID in a custom field hs_original_id__c for cross-referencing after migration.

HubSpot Service Hub

Contact

maps to

Zendesk

User (Requester)

1:1
Fully supported

HubSpot Contacts map to Zendesk end-user records. Email, name, phone, and lifecycle stage migrate. HubSpot contact properties that have no Zendesk equivalent (lifecycle stage, lead status) become Zendesk user custom fields. If the customer uses HubSpot's built-in portal for customers, we flag any user records that will need to be re-invited to the Zendesk end-user portal post-migration.

HubSpot Service Hub

Company

maps to

Zendesk

Organization

1:1
Fully supported

HubSpot Companies map to Zendesk Organizations. The HubSpot company domain becomes the Organization's domain field and is used as the dedupe key during import. Organization is created before User import so that the organization relationship is satisfied at the moment of User insert. If the destination requires multi-org hierarchies, we flatten to Zendesk's flat organization model or use the parent_id field to preserve one level of hierarchy.

HubSpot Service Hub

Engagement: Email

maps to

Zendesk

Comment (public reply)

1:1
Fully supported

HubSpot email engagements map to Zendesk public comments on the linked ticket. The HubSpot email body (hs_email_body) becomes the comment body. We resolve the associated contact by email and attach the comment to the correct Zendesk ticket. HTML email bodies are stripped to plain text or converted to Zendesk's supported HTML subset.

HubSpot Service Hub

Engagement: Call

maps to

Zendesk

Comment (private note) + Ticket Field

1:1
Fully supported

HubSpot call engagements map to Zendesk private comments on the ticket, preserving the call duration, disposition, and recording URL as comment metadata and custom ticket fields. We set the comment as private so it does not appear in the end-user ticket view. Call recording URLs are stored as a custom ticket field linking to the external recording storage.

HubSpot Service Hub

Engagement: Meeting

maps to

Zendesk

Comment (private note)

1:1
Fully supported

HubSpot meeting engagements (recorded via HubSpot Meetings) map to Zendesk private comments with meeting details (attendees, start time, end time, location) in the comment body. The original meeting link is preserved as a URL field. Attendee emails are added as cc on the private comment for agent reference.

HubSpot Service Hub

Engagement: Note

maps to

Zendesk

Comment (private note)

1:1
Fully supported

HubSpot internal notes on tickets map to Zendesk private comments. We flag these as private so they remain internal. Note body migrates with rich text preserved where Zendesk's comment HTML support allows. Attachments on notes migrate as Zendesk ticket attachments linked to the private comment.

HubSpot Service Hub

Engagement: Task

maps to

Zendesk

Task

1:1
Fully supported

HubSpot task engagements map to Zendesk tasks linked to the parent ticket. Task subject, status, priority, and due date transfer. Completed tasks preserve their completion timestamp as a custom field since Zendesk tasks do not have a native completed status at the ticket level.

HubSpot Service Hub

Knowledge Base Article

maps to

Zendesk

Help Center Article

1:1
Fully supported

HubSpot Knowledge Base articles migrate to Zendesk Guide articles with article title, body (HTML), author, and publish status preserved. HubSpot article categories map to Zendesk article sections within the Guide. Images embedded in HubSpot articles migrate as attachments to Zendesk articles. Draft status translates directly; scheduled publish dates require manual reconfiguration in Zendesk Guide.

HubSpot Service Hub

Owner

maps to

Zendesk

Agent

1:1
Fully supported

HubSpot owners map to Zendesk agent user accounts. We resolve by email match. Any HubSpot owner without a matching Zendesk agent account goes to a reconciliation queue for the customer's Zendesk admin to provision before record import resumes. Active versus inactive status on HubSpot owners maps to the agent's status field in Zendesk.

HubSpot Service Hub

Ticket Pipeline

maps to

Zendesk

Ticket Fields (Status, Type, Group)

lossy
Fully supported

HubSpot ticket pipelines and their stages map to Zendesk ticket status values and ticket fields. We extract stage names, display order, and probability percentages. If Zendesk's status values (open, pending, on-hold, solved, closed) do not match HubSpot's custom pipeline stages, we create a custom ticket status field to preserve the full stage set. Probability percentages migrate as informational fields only since Zendesk does not support per-stage probability forecasting on tickets.

HubSpot Service Hub

Tag

maps to

Zendesk

Tag

1:1
Fully supported

HubSpot tags on tickets and contacts migrate to Zendesk tags as string values. Both platforms support freeform tags, so the migration is direct. We deduplicate tags that appear on both tickets and contacts to avoid orphaned tag references in Zendesk's tag index.

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.

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

Zendesk logo

Zendesk gotchas

High

Data export requires API scripting on non-Enterprise plans

Medium

Automations cap at 500 active rules and 1,000 tickets per hour

Medium

Help Center has no native export feature

High

Custom Objects and full data export are Enterprise-only

Pair-specific challenges

  • HubSpot engagement history requires reconstruction before Zendesk import

    HubSpot stores emails, calls, chats, and notes as separate engagement objects linked to tickets via a relations layer. Standard exports miss these fragments. We query each engagement type separately (calls via engagements API, emails via emails API, meetings via meetings API, notes via notes API), reconstruct a unified conversation thread sorted by timestamp, and load it as Zendesk comments with private notes for internal activities and public comments for customer-facing replies. This multi-API approach increases processing time and API call volume and must be accounted for when scoping HubSpot's tier-based rate limits.

  • HubSpot macros have no native Zendesk equivalent and must be rebuilt

    HubSpot does not expose macros as a standalone data object in its API. Saved response templates and agent action sequences in HubSpot are configuration artifacts that cannot be exported programmatically. We cannot import macros during migration. We flag the existence of macros in HubSpot and advise customers to audit their macro library before migration begins. Zendesk macros are rebuilt post-migration using Zendesk's macro builder with dynamic placeholders for requester name, ticket ID, and ticket URL. This is a manual rebuild task for the customer's admin team.

  • Ticket merging behavior differs between platforms

    HubSpot's ticket merge functionality can create orphaned engagement associations that do not surface in a standard export. When HubSpot merges two tickets, the losing ticket's engagements may not automatically reassign to the surviving ticket in all API responses. We run a pre-migration check for merged ticket IDs and manually resolve the engagement attachment before loading into Zendesk. In Zendesk, merged tickets do not produce the same orphaned engagement risk because the comment model is flat per ticket.

  • HubSpot's per-tier API rate limits constrain migration throughput

    HubSpot enforces per-second and daily API limits that vary by subscription tier. Starter and Free accounts are capped at 100 requests per 10 seconds and 250,000 per day. Professional raises this to 190 per 10 seconds and 625,000 per day. Enterprise reaches 1,000,000 per day. We throttle our API calls to stay within these limits and warn customers if their migration volume (especially large engagement histories) requires either upgrading the source HubSpot tier for higher API limits or staging the migration across multiple days with a delta sync to capture changes made during the migration window.

  • Historical ticket visibility after migration depends on Zendesk's portal configuration

    When HubSpot tickets migrate to Zendesk, the original ticket IDs stored in hs_original_id__c allow agents to cross-reference HubSpot history. However, end users who had access to HubSpot's customer portal will need to be invited to Zendesk's end-user portal and will not see their ticket history unless Zendesk's agent workspace is configured to show the historical thread to end users. We set up the Zendesk portal before migration and advise customers to communicate the portal transition to their customers during the go-live window.

Migration approach

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

  1. Discovery and HubSpot portal audit

    We audit the source HubSpot Service Hub portal across tier (Free/Starter/Professional/Enterprise), active ticket pipelines, custom ticket properties, engagement volume by type (emails, calls, meetings, notes), knowledge base article count and category depth, and active workflows and sequences. We review HubSpot's rate limit tier to calculate migration throughput. The discovery output is a written migration scope with record counts per object, a knowledge base transfer plan, and a macro audit request for the customer to complete before migration begins.

  2. Zendesk admin setup and custom field creation

    We configure the destination Zendesk account before any data loads. This includes creating custom ticket fields to receive HubSpot custom properties, configuring ticket status values to match HubSpot pipeline stages, setting up agent groups matching HubSpot owner teams, enabling the Help Center and creating section hierarchy matching HubSpot Knowledge Base categories, and configuring the end-user portal for customer-facing ticket visibility. Custom fields are deployed via Zendesk API or admin UI before record migration begins.

  3. Engagement reconstruction and knowledge base transfer

    We query HubSpot's engagement APIs separately (emails, calls, meetings, notes) for each ticket, reconstruct a unified conversation thread sorted by timestamp, and prepare the comment batch for Zendesk import. Concurrently, we export HubSpot Knowledge Base articles with HTML bodies, embedded images, author attribution, and publish status, and load them into Zendesk Guide sections matching the HubSpot category hierarchy. This phase runs against the live HubSpot API and produces the highest API call volume, so we throttle to the portal's rate limit tier.

  4. Ticket and contact migration in dependency order

    We run production migration in record-dependency order: Organizations (from HubSpot Companies), Users (from HubSpot Contacts with organization resolution), Agents (from HubSpot owners with email match validation), then Tickets (with hs_original_id__c preserved and owner resolved to Zendesk agent). Engagement comments load as the final step per ticket to ensure parent-record references are satisfied. Each phase emits a row-count reconciliation report before the next phase begins.

  5. Cutover, delta sync, and macro inventory handoff

    We freeze HubSpot writes during the cutover window, run a final delta migration capturing any records modified during the migration, then enable Zendesk as the system of record. We deliver the macro inventory document listing every HubSpot macro the customer documented during scoping, mapped to recommended Zendesk macro equivalents with dynamic placeholders. We do not rebuild HubSpot Workflows or sequences as Zendesk triggers and automations; that rebuild is documented separately as a written automation map for the customer's Zendesk admin to implement post-migration.

  6. Validation and post-migration support window

    We support a one-week post-migration validation window where the customer's support team spot-checks ticket histories, contact records, organization associations, and knowledge base articles against the HubSpot source. We resolve any record-level reconciliation issues identified during this window. We do not provide ongoing admin support, training, or Zendesk workflow rebuild as standard scope; these are separate engagements with the customer's Zendesk admin team or a Zendesk implementation partner.

Platform deep dives

Context on both ends of the pair

HubSpot Service Hub logo

HubSpot Service Hub

Source

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
Zendesk logo

Zendesk

Destination

Strengths

  • Well-documented REST API with broad endpoint coverage for Tickets, Users, Organizations, and Help Center.
  • Rich automation primitives: Triggers (event-driven), Automations (time-based), and Macros with variable substitution.
  • Multi-brand support enables large organizations to route and isolate support by product line or subsidiary.
  • Scalable from small teams on Team plan to global enterprises on Enterprise Plus with sandbox and disaster recovery options.
  • Large partner ecosystem and marketplace with hundreds of pre-built integrations reduces integration work at deployment.

Weaknesses

  • Per-agent pricing with aggressive feature gating makes lower tiers feel artificially limited.
  • No native full-KB export — Help Center content requires API scripting to extract.
  • AI features are add-on priced and behave inconsistently, not deeply embedded in core workflows.
  • Implementation timelines for complex multi-channel setups routinely exceed initial estimates by weeks or months.
  • Knowledge base and help center functionality are separate from core ticketing with their own permission model and versioning.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across HubSpot Service Hub and Zendesk.

  • Object compatibility

    B

    2 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

    HubSpot Service Hub: 100–190 req/10sec (per app, varies by tier); 250,000–1,000,000 req/day (shared across all apps in account).

  • Data volume sensitivity

    A

    HubSpot Service Hub exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your HubSpot Service Hub to Zendesk 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 HubSpot Service Hub to Zendesk data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between four and six weeks for accounts under 15,000 tickets with no knowledge base transfer and straightforward custom fields. Migrations with large engagement histories (over 200,000 activity records), knowledge base transfers with deep category hierarchies, or custom object schemas move to eight to twelve weeks because of the engagement reconstruction work and Zendesk custom field configuration time. The macro rebuild and automation inventory are parallel workstreams handled by the customer's admin team outside the migration window.

Adjacent paths

Related migrations to explore

Ready when you are

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