Skip to main content

Agency Migration Guide

Zendesk Support to HubSpot Migration


What actually transfers, what quietly does not, and what has to be rebuilt by hand.

We mapped Zendesk Support against HubSpot feature by feature: 75 features, 4 synced objects, 9 documented traps and 26 items that have to be rebuilt. The whole map is on this page, ungated.

The PDF is the same reference, formatted to send to a client.

Get The Guide And The Calculator

The full Zendesk Support to HubSpot reference as a branded PDF you can send straight to a client, plus the Excel calculator we scope these migrations with: every one of the 75 features as a row, enter your counts, get hours.

Three files: the guide as a PDF, the same guide unbranded in Markdown for your AI tool, and the full Excel effort calculator.

PDF documentPDFMarkdown documentMDExcel workbookXLS
Zendesk Support logoHubSpot logo

Zendesk Support to HubSpot is a moderate to high migration, typically 2-5 weeks depending on volume, custom fields, and automation complexity. Smart Transfer: days. Custom scripts for 100K+ tickets: 3-5 days of execution plus 1-2 weeks of prep. weeks. Of 75 features we mapped, 26 carry across as they are and 43 land with something lost. The work is not moving records: it is the 26 items nothing moves for you.

Migration Scorecard

Complexity: High
Migration complexity
Moderate to high
Typical timeline
2-5 weeks depending on volume, custom fields, and automation complexity. Smart Transfer: days. Custom scripts for 100K+ tickets: 3-5 days of execution plus 1-2 weeks of prep. weeks
Recommended method
Smart Transfer for simple migrations (<5K tickets); custom API scripts for complex migrations (50K+ tickets, inline images, side conversations, strict data integrity)
Native sync
Data sync, two way
Smart transfer
Supported
HubSpot subscription
Free for basic sync. Data Hub Starter+ for custom field mappings.

Feature parity across 75 capabilities

2635%
4357%
68%
  • Maps directly: 26 (35%)
  • Maps partially: 43 (57%)
  • No equivalent: 6 (8%)

4

Objects synced natively

9

Limitations and traps

26

Manual rebuild items

2

Source editions covered

Where this comes from: Our own research corpus, verified 2026-07-31, behind every number on this page.

The Four Objects That Sync Natively

What the connector moves for you, and which way each one flows.

Users

Two wayTwo way

Becomes Contacts

Email-based matching. Only email address synced at initial user creation via timeline app. First/last name not synced by timeline app, only by Data Sync app. Shared inboxes and address changes can cause matching failures.

Organizations

Two wayTwo way

Becomes Companies

Domain or name matching. Default mappings include name and domain.

Tickets

Into HubSpotInto HubSpot

Becomes Tickets

One-way only (Zendesk to HubSpot). Archived tickets do NOT sync. Ticket data appears on contact timeline via the Zendesk-built app. The HubSpot Data Sync app can create actual HubSpot ticket records. Cannot customize the ticket information that appears in HubSpot. Tickets appear only on contact timeline, not on company timeline or deal view.

Ticket Events

Into HubSpotInto HubSpot

Becomes Timeline Activities

Pushed by the Zendesk-built app (HubSpot for Zendesk Support). Appears as timeline activity on matching contact. Cannot customize the JSON payload for timeline events.

Nine Things the Sync Does Not Tell You

Each one is documented, and each one has ended a migration in a bad week.

Ticket Sync Is One-way Only

Tickets can only sync from Zendesk to HubSpot. There is no native reverse flow (HubSpot tickets to Zendesk). Creating HubSpot-to-Zendesk ticket sync requires Zapier, Make, or custom middleware.

Workaround: Use Zapier/Make to create reverse automation flows for HubSpot-to-Zendesk ticket creation.

Archived Tickets Do Not Sync

Zendesk archived tickets are excluded from the Data Sync integration entirely.

Workaround: Use Smart Transfer or custom API scripts to migrate archived ticket history.

Conversation Threads Not Preserved in Help Desk View

Imported tickets do not generate conversation threads in HubSpot Help Desk. Historical comments appear as notes on the timeline, not in the conversation view or customer portal.

Workaround: Accept that historical ticket conversations will appear as timeline notes rather than threaded conversations.

Email-only Matching Creates Duplicate Risks

Contact matching relies solely on email addresses. Shared inboxes, address changes, and merged contacts can cause matching failures or duplicate records.

Workaround: Audit and merge duplicate contacts post-sync. Establish deduplication rules before migration.

Custom Field Mapping Requires Data Hub

Default field mappings only cover basic properties (name, email, phone, domain). Custom field mappings require Data Hub Starter or higher subscription.

Workaround: Subscribe to Data Hub Starter ($20/mo) for custom field mapping capability.

Inline Images Break After Zendesk Cancellation

Zendesk CDN URLs for inline images in ticket comments will break permanently after Zendesk subscription is cancelled. Images must be downloaded, re-uploaded to HubSpot File Manager, and URLs rewritten in HTML.

Workaround: Build custom script to download all inline images, upload to HubSpot, and rewrite URLs before cancelling Zendesk.

Side Conversations Have No HubSpot Equivalent

Zendesk Side Conversations (threaded discussions with external/internal parties via email, Slack, or Teams alongside the main ticket) have no equivalent in HubSpot. They must be serialized into private notes with metadata preserved in the body.

Workaround: Serialize each side conversation thread into a note with participants, timestamps, and channel metadata.

Zendesk 'Urgent' Priority Has No Native HubSpot Match

Zendesk uses Low/Normal/High/Urgent priority levels. HubSpot only has Low/Medium/High. The 'Urgent' level has no direct equivalent.

Workaround: Map Urgent to High and use a custom property or tag to flag urgency.

Incremental Export Timestamp Trap

Zendesk's Incremental Export compares start_time against a ticket's generated_timestamp, not its updated_at value. Using updated_at for deduplication causes record loss or duplication.

Workaround: Always use generated_timestamp for delta sync tracking, not updated_at.

Six Zendesk Support Features HubSpot Cannot Replace

Not a workaround away. If a client depends on one of these, it belongs in the conversation before the contract.

Ticket Sharing (Multi-Instance)

HubSpot has no native multi-instance ticket sharing. Would require custom integration or shared portal approach.

Business Rules Execution Order

HubSpot workflows execute independently/in parallel. No ordered execution model. This can cause conflicts when multiple workflows affect the same ticket.

Sunshine Conversations

No HubSpot equivalent for unified messaging API across 30+ channels. Individual channel connections available but no unified messaging platform layer.

Community Forums (Gather)

HubSpot has no native community forum functionality. Third-party solutions (Discourse, Vanilla Forums) or HubSpot's community platform (separate product, not integrated with Service Hub) needed.

Content Blocks

HubSpot KB has no reusable content block system. Content Hub has global content modules but these don't apply to KB articles.

Live Agent Dashboard

HubSpot lacks a real-time agent activity dashboard. Inbox overview provides some visibility but not real-time operational monitoring. Third-party tools or custom dashboard needed.

The 26 Items That Get Rebuilt by Hand

This is the list that separates a quote that holds from one that does not.

Data And Objects

Ticket Pipelines and Statuses -- Must Pre-configure HubSpot Pipelines to Match Zendesk Ticket Statuses/stages

Custom Ticket Fields -- Must Pre-create All Custom Properties in HubSpot Before Import

Tags -- Zendesk Tags Must Map to Multi-select Custom Properties (no Native Tag Object on HubSpot Tickets)

Satisfaction Ratings (CSAT) -- No Native CSAT Field in HubSpot; Map to Custom Property

Side Conversations -- Serialize Into Private Notes With Metadata

Groups -- Map Zendesk Groups to HubSpot Teams (separate From Owner Assignment)

Automation

Triggers -- Rebuild as HubSpot Workflows or Routing Rules

Automations -- Rebuild as HubSpot Ticket-based Workflows

Macros -- Decompose Into HubSpot Snippets, Templates, Workflows, and Help Desk Macros (50-macro Limit in HubSpot)

SLA Policies -- Recreate Using HubSpot SLA Settings and Ticket-based Workflows

Views -- Rebuild Using HubSpot Ticket Filters and Saved Views

Round-robin/skill-based Routing -- Configure in HubSpot Help Desk Routing Rules

Reporting

All Zendesk Explore Reports -- Rebuild Using HubSpot Reporting

Custom Dashboards -- Recreate in HubSpot Dashboard Builder

SLA Compliance Reports -- Rebuild With HubSpot SLA Reporting

Agent Performance Metrics -- Configure in HubSpot Service Analytics

Sales And Marketing Config

Support Forms -- Create New Forms in HubSpot

Chat Flows/widgets -- Rebuild Using HubSpot Live Chat or Chatbot Builder

Help Center/customer Portal -- Rebuild in HubSpot Knowledge Base and Customer Portal

Email Templates for Ticket Responses -- Recreate as HubSpot Email Templates

Users And Permissions

User Roles and Permissions -- Manually Configure in HubSpot User Management

Agent Groups and Team Assignments -- Set up HubSpot Teams

Business Hours and Schedules -- Configure in HubSpot Settings

Integrations

Zendesk Marketplace App Configurations -- Find HubSpot Equivalents or Use Zapier/Make

Channel Integrations (Slack, Teams, Social) -- Reconnect in HubSpot

Phone/voice Integrations -- Reconnect With HubSpot Calling Providers

The Sequence

Sync First, Then Migrate

Order is the content here. These are a dependency chain, and running them out of order is a documented way these migrations fail.

  1. 1

    Audit Zendesk Object Counts, Custom Fields, and Automation Inventory

    Audit Zendesk object counts, custom fields, and automation inventory

  2. 2

    Build HubSpot Pipelines, Custom Properties, and Teams to Mirror Zendesk Structure

    Build HubSpot pipelines, custom properties, and teams to mirror Zendesk structure

  3. 3

    Add Source ID Custom Fields for Delta Sync Tracking and Reconciliation

    Add source ID custom fields for delta sync tracking and reconciliation

  4. 4

    Manually Rebuild Macros as Snippets/templates, Triggers as Workflows, SLAs in HubSpot

    Manually rebuild macros as snippets/templates, triggers as workflows, SLAs in HubSpot

  5. 5

    Create HubSpot Users Matching Zendesk Agents (email-based Matching)

    Create HubSpot users matching Zendesk agents (email-based matching)

  6. 6

    Install Both Integration Apps

    Zendesk-built timeline app and HubSpot Data Sync app

  7. 7

    Run Bulk Migration

    Contacts → Companies → Tickets (with associations) → Notes → Files

  8. 8

    Run Delta Sync to Capture Records Created/updated During Bulk Migration Window

    Run delta sync to capture records created/updated during bulk migration window

  9. 9

    Export and Import Knowledge Base Articles (HubSpot Supports Direct Zendesk KB Import)

    Export and import Knowledge Base articles (HubSpot supports direct Zendesk KB import)

  10. 10

    Switch Agent Routing to HubSpot, Disable Zendesk Notifications/triggers

    Switch agent routing to HubSpot, disable Zendesk notifications/triggers

  11. 11

    Keep Zendesk Read-only for 30 Days for Reference

    Keep Zendesk read-only for 30 days for reference

  12. 12

    Validate

    check associations, inline images, timestamps, rebuilt workflows

Typically 2-5 weeks depending on volume, custom fields, and automation complexity. Smart Transfer: days. Custom scripts for 100K+ tickets: 3-5 days of execution plus 1-2 weeks of prep. weeks end to end, depending on how much of the source configuration is actually in use.

Effort Estimator

How Big Is This Migration?

A handful of questions, no email required. The ranges come from the research above: every feature we mapped carries an effort figure, and this adds up the ones that apply to you.

Custom fields and properties across all records

Everything beyond the out-of-the-box fields, added up across contacts, companies, deals and anything custom.

Automations, workflows and rules

Anything that fires on its own: workflows, sequences, assignment and validation rules, approvals.

Custom reports and dashboards

Only the ones the business actually uses. Reports nobody opens do not need rebuilding.

Marketing assets to rebuild

Email templates, forms, landing pages, lists and segments taken together.

Custom objects or extra pipelines

Record types beyond contacts, companies, deals and tickets.

Third-party integrations wired into the current system

Anything connected by API, webhook or installed package that has to keep working afterwards.

Users to move across

Seats, plus whatever permission structure sits behind them.

Roughly how many contact records

This affects the sync approach and the reconciliation effort, not the per-record work. The connector moves records; people do not.

Estimated Effort

Answer a couple of questions and an hours range appears here.

Built from our research on 75 Zendesk Support features. It is a range, not a quote.

A planning range, not a quote. It is delivery effort only, with no project management line and no agency markup, so add your own. What moves it most in practice is data quality.

What Goes Wrong Most Often

The failures that show up again and again, in roughly the order they bite.

Inline Images Break When Zendesk Subscription Is Cancelled

must re-host all images before cutover

Include_inline_images Defaults to False on Zendesk Ticket Comments API

must explicitly enable

Associations Must Be Created After Contacts/companies

out-of-order creation silently fails

Activity Timestamps Default to Import Time If Activity Date Is Omitted

destroys chronological accuracy

HubSpot CRM Search API Has 5 Rps Limit

search-then-create loops bottleneck here, not at the 190 rps burst limit

Partial Batch Failures Require objectWriteTraceId Tracking

don't assume all-or-nothing behavior

Record Merges in HubSpot Break Sync Links and Can Create Duplicates

Record merges in HubSpot break sync links and can create duplicates

Zendesk Urgent Priority Has No HubSpot Equivalent

needs custom mapping

Questions

Zendesk Support To HubSpot, Answered

Ready to get started?

Let's do something great together.

Augment your agency's marketing team's bench with our end-to-end inbound and digital solutions and find out why we're "The HubSpot Agency for HubSpot Agencies."

Fill out this form, and someone from our Solutions team will be in touch with you soon!