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.
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
- 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
- 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 wayBecomes Contacts
Primary sync object. Deduplicate on primary email only, which is risky for merged accounts. Two-way real-time sync available.
Companies
Two wayBecomes Companies
Must create company records before contacts, then associate via Associations API. Two-way sync supported.
Tickets
Two wayBecomes 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
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
Build HubSpot Pipelines, Custom Properties, and Teams to Mirror Freshdesk Structure
Build HubSpot pipelines, custom properties, and teams to mirror Freshdesk structure
- 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
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
Freeze Freshdesk Configuration (no Schema Changes; Operations Continue)
Freeze Freshdesk configuration (no schema changes; operations continue)
- 6
Bulk Migration (T-7 to T-3)
historical data, closed tickets, old attachments: Contacts → Companies → Tickets → Notes → Files
- 7
Download and Re-host All Inline Images Before Decommissioning Freshdesk
Download and re-host all inline images before decommissioning Freshdesk
- 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
Pre-cutover QA (T-2 to T-1)
validate sample, check ordering and associations
- 10
Delta Sync (T-0)
capture new/updated tickets since bulk migration started
- 11
Route Switch
point email, chat, forms to HubSpot; deactivate Freshdesk channels
- 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.
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
Yes. Data sync, two way, covering 3 objects. Smart transfer is supported. What it does not do is rebuild configuration: that is the 33 items below.
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. 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 59 features we mapped, 26 (44%) carry across directly and 30 (51%) map partially, meaning something is lost or reshaped. 3 have no HubSpot equivalent at any tier.
33 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.
3: Community Forums, Freddy Thank You Detector, Field Service Management. If a client depends on one, it belongs in the conversation before the contract.
No. 1 item on this page is Freshdesk's own code or product, which a HubSpot migration does not port and which carries no hours in an estimate. It still needs a decision, because the client is giving something up.
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!