Skip to main content

Agency Migration Guide

Freshdesk to HubSpot Migration


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

We mapped Freshdesk against HubSpot feature by feature: 59 features, 3 synced objects, 9 documented traps and 33 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 Freshdesk 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 59 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
Freshdesk logoHubSpot logo

Freshdesk to HubSpot is a moderate to high migration, typically 2-6 weeks. CSV approach: days. SaaS migration tool (1K-50K tickets): 2-4 weeks. DIY scripts (50K+): 4-8 weeks. Professional service: 2-4 weeks. weeks. Of 59 features we mapped, 26 carry across as they are and 30 land with something lost. The work is not moving records: it is the 33 items nothing moves for you.

Migration Scorecard

Complexity: High
Migration complexity
Moderate to high
Typical timeline
2-6 weeks. CSV approach: days. SaaS migration tool (1K-50K tickets): 2-4 weeks. DIY scripts (50K+): 4-8 weeks. Professional service: 2-4 weeks. weeks
Recommended method
Custom API migration for full data fidelity. Native sync only suitable for ongoing coexistence, NOT for full migration. CSV export only for <500 tickets without conversation needs.
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 59 capabilities

2644%
3051%
35%
  • Maps directly: 26 (44%)
  • Maps partially: 30 (51%)
  • No equivalent: 3 (5%)

3

Objects synced natively

9

Limitations and traps

33

Manual rebuild items

4

Source editions covered

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

The Three Objects That Sync Natively

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

Contacts

Two wayTwo way

Becomes Contacts

Primary sync object. Deduplicate on primary email only, which is risky for merged accounts. Two-way real-time sync available.

Companies

Two wayTwo way

Becomes Companies

Must create company records before contacts, then associate via Associations API. Two-way sync supported.

Tickets

Two wayTwo way

Becomes Tickets

CRITICAL LIMITATION: Only syncs tickets from the last 120 days. Does NOT transfer conversation threads, only ticket title and basic metadata. Excludes private and public notes. Loses authorship, timestamps, and metadata. Breaks threaded email chains into scattered messages.

Nine Things the Sync Does Not Tell You

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

120-day Ticket History Limit

The native integration only syncs tickets from the last 120 days. Any ticket older than 120 days is left behind entirely.

Workaround: Use custom API migration scripts to extract and import full ticket history via Freshdesk REST API.

No Conversation or Reply Transfer

The native integration does NOT transfer conversations at all: it only moves the ticket title and basic metadata. Full email threads, agent replies, customer responses, and conversation history are lost.

Workaround: Use custom API scripts to extract conversations and import as HubSpot engagement notes associated with tickets.

Private and Public Notes Excluded

Both private (internal) and public notes attached to tickets are excluded from native sync. Important internal documentation is lost.

Workaround: Extract notes via Freshdesk API and import as HubSpot notes. Tag private notes as internal.

Authorship and Timestamps Lost

Original agent authorship and timestamps are not preserved by the native integration. All records appear as if created at sync time by the integration user.

Workaround: Preserve Freshdesk agent IDs and timestamps in custom HubSpot properties. Map agent IDs to HubSpot owner IDs for authorship preservation.

Inline Images Become Broken Links

Inline images in ticket descriptions and notes are hosted on Freshdesk CDN. After decommissioning Freshdesk, these URLs break permanently.

Workaround: Download all inline images, re-upload to HubSpot File Manager, and rewrite src URLs in HTML before cancelling Freshdesk.

Freshdesk API Rate Limits and Pagination Ceiling

Freshdesk API has strict rate limits (50-700 requests/min depending on plan). Pagination ceiling of 30,000 tickets (300 pages x 100 items). Filter API hard limit of 300 results total.

Workaround: Use incremental export or updated_since parameter for large datasets. Implement backoff and retry logic.

Long Ticket Descriptions Truncated

Freshdesk allows ticket descriptions and notes over 65,000 characters. HubSpot has a hard character limit that is lower. Long content must be split intelligently.

Workaround: Build content-splitting logic that preserves context and creates continuation notes.

Attachment Handling Limitations

Multiple files cannot be uploaded with a single HubSpot API request. File Manager limit is 2GB (paid) or 20MB (free). Each HubSpot record supports up to 10,000 engagements.

Workaround: Upload files individually via /files/v3/files endpoint, then link to ticket via hs_attachment_ids.

Association Failures and Silent Data Drops

Notes created with ticket associations may not appear in HubSpot UI. Custom field values silently drop if the property doesn't exist in HubSpot when the API call hits: no error, just missing data.

Workaround: Pre-create all custom properties before migration. Verify associations with post-import validation scripts.

Three Freshdesk Features HubSpot Cannot Replace

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

Community Forums

HubSpot has no native community forum. Third-party solution required (Discourse, Vanilla Forums, etc.).

Freddy Thank You Detector

HubSpot has no native thank-you detection to prevent ticket reopening. Would need custom workflow with AI step or keyword matching.

Field Service Management

HubSpot has no native field service management. Third-party integration required (ServiceMax, Salesforce Field Service, etc.).

One Thing a Migration Does Not Rebuild

This is Freshdesk's own code or product. A HubSpot migration does not port it, so it carries no hours in any estimate. It still needs a decision, because the client is giving something up.

Custom Apps

Custom apps require complete rewrite for HubSpot's platform. Each app needs individual assessment.

The 33 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 Freshdesk Statuses

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

Tags -- Map Freshdesk Tags to Custom Multi-select Property (no Native Tag Object on HubSpot Tickets)

Ticket watchers/CCs -- No Native Equivalent; Log as Notes or Custom Fields

Time Tracking Data -- Store as Custom Properties or Notes

Canned Responses -- Rebuild as HubSpot Snippets

Contact Merge History -- Risky With Email-only Deduplication

Automation

Dispatch Rules -- Rebuild as HubSpot Workflows or Routing Rules

Automations (event-triggered/time-triggered) -- Rebuild as HubSpot Ticket-based Workflows

Scenario Automations -- Recreate in HubSpot Workflow Builder

SLA Policies -- Recreate Using HubSpot SLA Settings

Canned Responses / Macros -- Rebuild as HubSpot Snippets and Templates

Freddy AI Models -- No Migration Path; HubSpot Has Its Own AI Stack (Breeze)

Email Notifications and Escalation Rules -- Rebuild in HubSpot Notification Settings and Workflows

Reporting

All Freshdesk Analytics Reports -- Rebuild Using HubSpot Reporting

Custom Dashboards -- Recreate in HubSpot Dashboard Builder

SLA Compliance Reports -- Rebuild With HubSpot SLA Reporting

Agent Performance and Productivity Metrics -- Configure in HubSpot Service Analytics

Customer Satisfaction (CSAT) Survey Reports -- Rebuild With HubSpot Feedback Surveys

Sales And Marketing Config

Support Forms and Ticket Submission Forms -- Recreate in HubSpot

Chat Widgets (Freshchat) -- Rebuild Using HubSpot Live Chat

Chatbots -- Rebuild in HubSpot Chatbot Builder

Knowledge Base Articles -- Import via HubSpot KB Importer (supports Freshdesk Directly, 400 Article Limit Per Batch, Tables Not Supported)

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

Email Templates -- Recreate in HubSpot

Satisfaction Surveys -- Rebuild Using HubSpot Customer Feedback Surveys

Users And Permissions

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

Agent Groups -- Set up HubSpot Teams

Business Hours and Schedules -- Configure in HubSpot Settings

Agent Signatures -- Recreate in HubSpot

Integrations

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

Freshworks Suite Integrations (Freshsales, Freshchat, Freshcaller) -- Replace With HubSpot Equivalents

Channel Integrations (email, Social, Phone) -- Reconnect in HubSpot

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 Freshdesk Ticket Volume, Custom Fields, Automation Inventory, and KB Article Count

    Audit Freshdesk ticket volume, custom fields, automation inventory, and KB article count

  2. 2

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

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

  3. 3

    Pre-create All Custom Properties in HubSpot (values Silently Drop If Property Doesn't Exist)

    Pre-create all custom properties in HubSpot (values silently drop if property doesn't exist)

  4. 4

    Manually Rebuild Automations as Workflows, Canned Responses as Snippets, SLAs in HubSpot

    Manually rebuild automations as workflows, canned responses as snippets, SLAs in HubSpot

  5. 5

    Freeze Freshdesk Configuration (no Schema Changes; Operations Continue)

    Freeze Freshdesk configuration (no schema changes; operations continue)

  6. 6

    Bulk Migration (T-7 to T-3)

    historical data, closed tickets, old attachments: Contacts → Companies → Tickets → Notes → Files

  7. 7

    Download and Re-host All Inline Images Before Decommissioning Freshdesk

    Download and re-host all inline images before decommissioning Freshdesk

  8. 8

    Import Knowledge Base Articles via HubSpot KB Importer (400 Article Limit Per Batch)

    Import Knowledge Base articles via HubSpot KB importer (400 article limit per batch)

  9. 9

    Pre-cutover QA (T-2 to T-1)

    validate sample, check ordering and associations

  10. 10

    Delta Sync (T-0)

    capture new/updated tickets since bulk migration started

  11. 11

    Route Switch

    point email, chat, forms to HubSpot; deactivate Freshdesk channels

  12. 12

    Monitor (T+1 to T+3)

    watch for orphaned records and broken links

Typically 2-6 weeks. CSV approach: days. SaaS migration tool (1K-50K tickets): 2-4 weeks. DIY scripts (50K+): 4-8 weeks. Professional service: 2-4 weeks. 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 59 Freshdesk 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.

Native Integration Is a Sync Tool, NOT a Migration Tool

leaves behind 120+ days of history and all conversations

Inline Images Break Permanently When Freshdesk Is Decommissioned

must re-host before cutover

Freshdesk API Pagination Ceiling of 30,000 Tickets

use updated_since for larger datasets

HubSpot Custom Field Values Silently Drop If Property Doesn't Exist

pre-create everything

Association Failures May Not Surface Errors

notes appear created but don't show on ticket in UI

HubSpot Has Eventual Consistency

reads immediately after writes may fail or return incomplete data

Knowledge Base Table Formatting Not Supported in HubSpot Import

tables must be reformatted

Delta Sync Is Critical for Zero-downtime Migration

without it, you must freeze ticket creation or accept data loss

Questions

Freshdesk 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!