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

Freshdesk statuses and the flow a ticket moves through.

HubSpot: Ticket pipelines and stages

Configure before the import or every ticket lands in the default stage.

Custom Ticket Fields

Fields added to the Freshdesk ticket form.

HubSpot: Custom ticket properties

Pre-define each one. A property created during import lands as text and loses its type and picklist.

Tags

Freshdesk tags used for grouping and for driving automations.

HubSpot: A multi-select ticket property

No native tag object on HubSpot tickets. Where a tag drives an automation it needs to become a real field the workflow can read.

Ticket Watchers and CCs

Additional people following a ticket without owning it.

HubSpot: No direct equivalent

Logged as notes or a custom property. If the team relies on watchers day to day, agree the replacement habit before go-live rather than after.

Time Tracking Data

Time logged by agents against tickets.

HubSpot: Custom properties, or an external time tool

If time drives billing, a custom property is a stopgap rather than an answer. Raise it early: it usually needs a real tool.

Canned Responses

Saved reply text agents insert into tickets.

HubSpot: Snippets

Rebuilt by hand. Triage first: most accounts carry far more canned responses than are actually used.

Contact Merge History

The record of which Freshdesk contacts were merged into which.

HubSpot: No equivalent

HubSpot deduplicates on email, so contacts merged in Freshdesk under different addresses can re-split on import. Check the merge list before importing, not after.

Automation

Dispatch Rules

Rules assigning and categorising a ticket at the moment it arrives.

HubSpot: Workflows and routing rules

Rebuilt rule by rule. Freshdesk evaluates these in order and HubSpot does not, so dependent chains need restructuring.

Event and Time Triggered Automations

Rules firing on a ticket event or after a period of inactivity.

HubSpot: Ticket-based workflows with delays

Test delay behaviour against real tickets before trusting anything that auto-closes.

Scenario Automations

Bundled actions an agent applies to a ticket in one click.

HubSpot: Workflows, triggered manually or by a property

There is no one-click agent bundle in HubSpot, so these become a workflow with a trigger the agent can set.

SLA Policies

Response and resolution targets by ticket type or customer.

HubSpot: SLA settings and ticket workflows

Configure business hours first or every SLA measures against a 24-hour clock.

Canned Responses and Macros

Saved text plus the field changes that go with it.

HubSpot: Snippets, templates and workflows

One macro becomes several objects: the text is a snippet, the field changes are a workflow.

Freddy AI Models

Freshdesk's AI suggestions and automated triage.

HubSpot: HubSpot's own AI tooling

No migration path: the models are trained on Freshdesk data and stay there. Treat the HubSpot side as a fresh configuration, and expect suggestion quality to start low.

Notification and Escalation Rules

Who is told what, and when a ticket escalates.

HubSpot: Notification settings and workflows

Split between two places in HubSpot, so it is easy to rebuild half of it. Check both the notification settings and the workflows.

Reporting

Freshdesk Analytics Reports

The reporting suite over Freshdesk ticket data.

HubSpot: Custom reports

Rebuilt from the question each answers. Some metrics have no HubSpot counterpart, which is better said early than discovered at handover.

Custom Dashboards

Saved dashboard layouts for recurring reporting.

HubSpot: Dashboards

Build after the reports exist rather than alongside.

SLA Compliance Reports

Reporting on targets met and missed.

HubSpot: SLA reporting

Depends on the SLA configuration, so sequence it after that.

Agent Performance and Productivity Metrics

Per-agent volume and resolution reporting.

HubSpot: Service analytics

Agents must map to real HubSpot users on import or metrics attribute to nobody.

CSAT Survey Reports

Satisfaction survey results and trends.

HubSpot: Customer feedback surveys

New surveys go out from HubSpot while history sits in a property, so reporting spans two sources for the first year.

Sales And Marketing Config

Support and Ticket Submission Forms

The forms customers use to raise a ticket.

HubSpot: Forms

Swap every embed at cutover or requests keep arriving in the old system.

Freshchat Widgets

The on-site chat experience.

HubSpot: Live chat

The widget swaps easily; routing and availability rules are the real work.

Chatbots

Automated chat flows handling common questions.

HubSpot: The chatbot builder

Rebuilt flow by flow. Bot performance history does not carry, so the new bot starts without its tuning.

Knowledge Base Articles

Published help articles.

HubSpot: Knowledge base

HubSpot's importer reads Freshdesk directly, which makes this one of the cheaper items. It batches, and tables in articles do not survive, so budget a formatting pass.

Help Centre and Customer Portal

The public help site and the logged-in portal.

HubSpot: Knowledge base and customer portal

Separate from the article import above. Permissions and branding are their own build.

Email Templates

Standard agent reply templates.

HubSpot: Email templates and snippets

Rebuilt by hand. Tokens have different names and will not carry.

Satisfaction Surveys

The survey sent after a ticket closes.

HubSpot: Customer feedback surveys

Rebuild the trigger as well as the survey, since the send is driven by a workflow rather than a ticket setting.

Users And Permissions

Agent Roles and Permissions

Access levels attached to each agent.

HubSpot: Users and permission sets

Freshdesk occasional-agent arrangements have no exact counterpart. Decide per person whether they need a seat before counting licences.

Agent Groups

How agents are grouped for routing.

HubSpot: Teams

Map intent rather than structure.

Business Hours and Schedules

Operating hours and holidays driving SLA clocks.

HubSpot: Business hours settings

Configure before the SLAs, not after.

Agent Signatures

Per-agent email signatures on ticket replies.

HubSpot: User email signatures

Set per user rather than centrally, so this is a short task repeated across the team.

Integrations

Marketplace App Configurations

Freshdesk apps extending the agent view.

HubSpot: App Marketplace integrations, or Zapier and Make

Inventory what is actually used before pricing replacements.

Freshworks Suite Integrations

Links to Freshsales, Freshchat and Freshcaller inside the same suite.

HubSpot: The equivalent HubSpot hubs and tools

These are not integrations so much as neighbouring products. If the client runs several, the migration is wider than the help desk and should be scoped that way.

Channel Integrations

Email, social and phone channels feeding the queue.

HubSpot: Connected channels

Check each still creates a ticket rather than only notifying, which is a common regression.

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!