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.
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
- 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
- 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 wayBecomes 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 wayBecomes Companies
Domain or name matching. Default mappings include name and domain.
Tickets
Into HubSpotBecomes 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 HubSpotBecomes 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
Zendesk ticket statuses and the flow a ticket moves through.
HubSpot: Ticket pipelines and stages
Configure before the import. Tickets landing before the pipeline exists all arrive in the default stage and have to be re-sorted by hand.
Custom Ticket Fields
Fields added to the Zendesk ticket form to capture case detail.
HubSpot: Custom ticket properties
Pre-create every one before importing. A field created on the fly during import lands as text and loses its type and its picklist.
Tags
Zendesk tags applied to tickets for grouping and for driving triggers.
HubSpot: A multi-select ticket property
HubSpot tickets have no native tag object, so tags become values in one property. Where a tag drives a trigger, it has to become a real field the workflow can read.
Satisfaction Ratings
CSAT scores and comments captured against resolved tickets.
HubSpot: A custom property, with feedback surveys going forward
No native CSAT field on a HubSpot ticket, so history lands in a custom property while new ratings come from the survey tool. Two homes for one metric, which reporting has to account for.
Side Conversations
Zendesk's parallel threads with third parties, held alongside the main ticket.
HubSpot: Private notes on the ticket
Flattened into notes with the participants and timestamps written in, because there is no parallel-thread concept to land in.
Groups
Zendesk groups controlling which agents handle which tickets.
HubSpot: Teams
Team membership and ticket ownership are separate in HubSpot. Mapping a group to a team does not assign the tickets, which is a common surprise.
Automation
Triggers
Zendesk rules firing immediately when a ticket is created or updated.
HubSpot: Workflows and routing rules
Rebuilt rule by rule. Zendesk triggers run in a defined order and HubSpot workflows do not, so a chain of dependent triggers has to be restructured rather than copied.
Automations
Zendesk's time-based rules, firing hours or days after a condition holds.
HubSpot: Ticket-based workflows with delays
The time semantics differ. Test the delay behaviour against real tickets before trusting an auto-close rule.
Macros
One-click agent actions that set fields and insert a reply.
HubSpot: Snippets, templates, workflows and help desk macros
One macro is several HubSpot objects: the text is a snippet or template, the field changes are a workflow. HubSpot also caps help desk macros well below what a mature Zendesk account holds, so this needs triage down to the ones actually used.
SLA Policies
Response and resolution targets by ticket type or requester.
HubSpot: SLA settings and ticket workflows
Rebuild the targets first and the breach handling second. Business hours have to be configured or every SLA measures against a 24-hour clock.
Views
Saved queues agents work from.
HubSpot: Saved ticket views
Cheap to rebuild and worth doing before go-live, because this is the screen agents live in all day.
Round-robin and Skill-based Routing
Rules distributing tickets across agents by availability or skill.
HubSpot: Help desk routing rules
Users and teams must exist first. Test with real tickets: routing that looks right in configuration often distributes unevenly in practice.
Reporting
Zendesk Explore Reports
The reporting suite built over Zendesk ticket data.
HubSpot: Custom reports
Rebuilt from the question each report answers. Explore exposes metrics HubSpot does not record, so some reports cannot be reproduced and that is worth saying out loud early.
Custom Dashboards
Saved dashboard layouts used for regular reporting.
HubSpot: Dashboards
Rebuild after the reports exist. Building the dashboard first tends to lock in a layout the available data cannot fill.
SLA Compliance Reports
Reporting on targets met and missed.
HubSpot: SLA reporting
Depends entirely on the SLA configuration above, so sequence it after that rather than alongside.
Agent Performance Metrics
Per-agent volume, resolution and response reporting.
HubSpot: Service analytics
Agents must map to real HubSpot users on import or every metric attributes to nobody.
Sales And Marketing Config
Support Request Forms
The forms customers use to raise a ticket.
HubSpot: Forms
Rebuilt, and every embed swapped at cutover or requests keep arriving in the old system.
Chat Flows and Widgets
The on-site chat experience and its routing logic.
HubSpot: Live chat and the chatbot builder
The widget swaps easily; the conversation logic behind it is the real work. Rebuild the routing before the styling.
Help Centre and Customer Portal
The public knowledge base and the logged-in portal where customers track tickets.
HubSpot: Knowledge base and customer portal
Two products, not one. Article content can be brought across; the portal's permissions and branding are a separate build.
Ticket Response Templates
Standard reply templates used by agents.
HubSpot: Email templates and snippets
Rebuilt by hand. Personalisation tokens have different names and will not carry across.
Users And Permissions
User Roles and Permissions
Agent, admin and light-agent access levels.
HubSpot: Users and permission sets
Zendesk light agents have no exact counterpart, so decide per person whether they need a seat before counting licences.
Agent Groups and Team Assignments
How agents are grouped for routing and visibility.
HubSpot: Teams
Map intent rather than structure. A literal copy usually over-restricts.
Business Hours and Schedules
Operating hours and holiday schedules driving SLA clocks.
HubSpot: Business hours settings
Small job with a large blast radius: every SLA measures against this, so configure it before the SLAs.
Integrations
Marketplace App Configurations
Zendesk apps extending the agent workspace.
HubSpot: App Marketplace integrations, or Zapier and Make
Inventory what is actually used first. Most mature Zendesk accounts carry apps nobody has opened in a year.
Channel Integrations
Slack, Teams and social channels feeding or notifying the queue.
HubSpot: Connected channels and integrations
Reconnected individually. Check that each channel still creates a ticket rather than only notifying, which is a common regression.
Phone and Voice Integrations
The telephony provider behind voice support.
HubSpot: HubSpot calling providers
Confirm the provider has a HubSpot integration before the contract. Call recording and logging behaviour differ even where the provider is the same.
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
Audit Zendesk Object Counts, Custom Fields, and Automation Inventory
Audit Zendesk object counts, custom fields, and automation inventory
- 2
Build HubSpot Pipelines, Custom Properties, and Teams to Mirror Zendesk Structure
Build HubSpot pipelines, custom properties, and teams to mirror Zendesk structure
- 3
Add Source ID Custom Fields for Delta Sync Tracking and Reconciliation
Add source ID custom fields for delta sync tracking and reconciliation
- 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
Create HubSpot Users Matching Zendesk Agents (email-based Matching)
Create HubSpot users matching Zendesk agents (email-based matching)
- 6
Install Both Integration Apps
Zendesk-built timeline app and HubSpot Data Sync app
- 7
Run Bulk Migration
Contacts → Companies → Tickets (with associations) → Notes → Files
- 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
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
Switch Agent Routing to HubSpot, Disable Zendesk Notifications/triggers
Switch agent routing to HubSpot, disable Zendesk notifications/triggers
- 11
Keep Zendesk Read-only for 30 Days for Reference
Keep Zendesk read-only for 30 days for reference
- 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.
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
Yes. Data sync, two way, covering 4 objects. Smart transfer is supported. What it does not do is rebuild configuration: that is the 26 items below.
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. Complexity is driven by automation and reporting depth, not by record count: the connector moves records, so a large database is not by itself a long project.
Of 75 features we mapped, 26 (35%) carry across directly and 43 (57%) map partially, meaning something is lost or reshaped. 6 have no HubSpot equivalent at any tier.
26 items have to be rebuilt by hand, and 9 documented limitations are not surfaced by the connector at all. The full list of both is on this page.
Free for basic sync. Data Hub Starter+ for custom field mappings.
6: Ticket Sharing (Multi-Instance), Business Rules Execution Order, Sunshine Conversations, Community Forums (Gather), Content Blocks, Live Agent Dashboard. If a client depends on one, it belongs in the conversation before the contract.
Only in one direction. The sync is not bidirectional here, so a parallel period means picking a system of record and accepting drift in the other.
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!