Helpdesk migration
Field-level mapping, validation, and rollback between Freshdesk and HubSpot Service Hub. We move data and schema; workflows are rebuilt natively in HubSpot Service Hub.
Freshdesk
Source
HubSpot Service Hub
Destination
Compatibility
8 of 12
objects map 1:1 between Freshdesk and HubSpot Service Hub.
Complexity
BStandard
Timeline
3-5 weeks
Try the reverse
Overview
Moving from Freshdesk to HubSpot Service Hub is a cross-platform migration that requires careful sequencing across two API rate-limit regimes and a fundamentally different object model. Freshdesk organizes support around tickets linked to requesters and companies; HubSpot Service Hub attaches tickets directly to CRM contacts and companies, giving agents full lifecycle context without switching tabs. We extract Freshdesk Tickets, Conversations, Contacts, Companies, Agents, SLA Policies, Products, Tags, Time Entries, and Satisfaction Ratings in dependency order, resolving the Freshdesk-to-HubSpot agent match and the contact-to-company lookup before any record lands in HubSpot. Freshdesk automations, macros, and SLA policies do not migrate as code; we deliver written inventories for the customer's admin to rebuild in HubSpot's workflow builder and SLA configuration. The Freshdesk free plan blocks API access entirely, so we require at least the Growth plan before scoping begins.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Source platform
Freshdesk platform overview
Scorecard, SWOT, gotchas, and pricing for Freshdesk.
Destination platform
HubSpot Service Hub platform overview
Scorecard, SWOT, gotchas, and pricing for HubSpot Service Hub.
Data migration guide
The complete HubSpot Service Hub migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Source platform guide
Freshdesk migration guide
Understand the data you're exporting from Freshdesk before mapping it.
Destination checklist
HubSpot Service Hub migration checklist
Pre- and post-cutover tasks for moving onto HubSpot Service Hub.
Source checklist
Freshdesk migration checklist
Exit checklist for unwinding your Freshdesk setup cleanly.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Freshdesk object lands in HubSpot Service Hub, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Freshdesk
Ticket
HubSpot Service Hub
Ticket
1:1Freshdesk Tickets map directly to HubSpot Tickets. Subject, status, priority, type, source/channel, and requester link migrate. Freshdesk's channel field (email, phone, chat, portal, tweet, Facebook, survey, forwarded email) is normalized to HubSpot channel values; non-standard Freshdesk channels default to 'custom' and the original channel name is preserved in a metadata field. Freshdesk ticket ID is stored in a custom HubSpot field for cross-reference.
Freshdesk
Contact (Requester)
HubSpot Service Hub
Contact
1:1Freshdesk Contacts (requesters) map to HubSpot Contacts. Name, email, phone, job title, language, and company association migrate. Custom contact fields require pre-creation in HubSpot before migration; we create all custom field definitions in HubSpot during the schema phase and map values during transform. Freshdesk contact ID is preserved in a custom HubSpot field for audit. Contact import requires at least 10 existing tickets in Freshdesk for CSV method; we use the API to bypass this gate.
Freshdesk
Company
HubSpot Service Hub
Company
1:1Freshdesk Companies map to HubSpot Companies. Company name, domain, industry, and custom fields migrate. The Freshdesk contact-company relationship is preserved as the HubSpot Contact-Company association at migration time. If a Freshdesk contact has no company, we create a stub Company record and link it. Companies are migrated before Contacts to satisfy the lookup dependency on insert.
Freshdesk
Agent
HubSpot Service Hub
User
1:1Freshdesk Agents map to HubSpot User records. We match Freshdesk agents by email against existing HubSpot Users in the destination portal. Agents who are also ticket requesters are flagged during scoping to prevent circular references. Any Freshdesk agent without a matching HubSpot User is held in a reconciliation queue; the customer's HubSpot admin provisions missing Users before record migration resumes. Agent groups and roles are documented in the migration inventory for rebuild in HubSpot Teams and permission sets.
Freshdesk
Conversation (Ticket Replies and Notes)
HubSpot Service Hub
Conversation (Ticket Conversations)
1:1Freshdesk Conversations (public replies, private notes, and incoming emails) map to HubSpot Ticket conversation records. Each conversation has author, timestamp, body text, and attachments. We preserve the full conversation thread ordering by timestamp. Private notes from Freshdesk migrate as internal ticket notes in HubSpot. Attachments migrate as HubSpot file attachments linked to the conversation record. HTML content is preserved and rendered in HubSpot's conversation view.
Freshdesk
SLA Policy
HubSpot Service Hub
SLA Configuration
lossyFreshdesk SLA Policies (available on Pro and Enterprise) define response and resolution deadlines. We audit every SLA policy definition during scoping and deliver a written mapping to HubSpot's SLA configuration. HubSpot SLAs are set at the ticket pipeline level and reference business hours. SLA policy names and definitions are preserved in a migration inventory document; the customer's admin configures the equivalents in HubSpot after migration.
Freshdesk
Product
HubSpot Service Hub
Association to Contact or Custom Object
lossyFreshdesk Products are items associated with tickets for asset tracking. HubSpot Service Hub does not have a native Product object for support use cases; we map Freshdesk product associations to a custom multi-select picklist on the Contact record or to a custom object depending on the customer's asset management requirements. Product name and description are preserved. The customer selects the mapping strategy during scoping.
Freshdesk
Tag
HubSpot Service Hub
Tag
1:1Freshdesk tags are flat cross-object labels applied to tickets, contacts, and companies. Tags migrate as HubSpot Tags and are associated with the relevant Ticket, Contact, and Company records. Tag spelling and case are preserved exactly. If the tag count exceeds HubSpot's practical limit, we consolidate low-frequency tags into an 'other' catch-all tag and note the full list in the migration inventory.
Freshdesk
Time Entry
HubSpot Service Hub
Custom fields or Engagement records
lossyFreshdesk time entries (billable or non-billable, with duration and notes) migrate as custom time-tracking fields on the HubSpot Ticket record or as line items in a custom object depending on whether the customer needs reporting on agent time. Billable flag migrates as a boolean custom field. We confirm the time-tracking strategy during scoping based on reporting requirements.
Freshdesk
Satisfaction Rating (CSAT)
HubSpot Service Hub
Custom fields or Survey response
1:1Freshdesk CSAT surveys generate satisfaction ratings attached to tickets (satisfied/dissatisfied score plus comment). Ratings migrate as custom fields on the HubSpot Ticket record: csat_rating (number) and csat_comment (text). If the customer uses HubSpot's native surveys in Professional or Enterprise, we document the mapping as a reference for post-migration survey configuration.
Freshdesk
Collaborator
HubSpot Service Hub
Contact (view-only role)
1:1Freshdesk Collaborators are view-only users added to tickets for context. Up to 5,000 are included in paid plans. Collaborators migrate as HubSpot Contacts with a collaborator flag custom field. We note the view-only nature in the migration inventory; HubSpot's permission model handles access via Teams and permission sets rather than a separate collaborator role.
Freshdesk
Custom Field (Ticket and Contact)
HubSpot Service Hub
Custom Property
lossyFreshdesk custom ticket fields and custom contact fields require pre-creation in HubSpot Service Hub before any data import. We extract the full custom field definition (field name, type, options, required flag) during scoping and create matching HubSpot custom properties during the schema phase. Custom field API names are preserved where possible; HubSpot naming conventions are applied where they conflict. Custom field ordering in HubSpot ticket forms requires manual configuration by the customer's admin post-migration.
| Freshdesk | HubSpot Service Hub | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Contact (Requester) | Contact1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Conversation (Ticket Replies and Notes) | Conversation (Ticket Conversations)1:1 | Fully supported | |
| SLA Policy | SLA Configurationlossy | Fully supported | |
| Product | Association to Contact or Custom Objectlossy | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Time Entry | Custom fields or Engagement recordslossy | Fully supported | |
| Satisfaction Rating (CSAT) | Custom fields or Survey response1:1 | Fully supported | |
| Collaborator | Contact (view-only role)1:1 | Fully supported | |
| Custom Field (Ticket and Contact) | Custom Propertylossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Freshdesk gotchas
API access is blocked on the free plan
Per-minute rate limits are account-wide and endpoint-specific
Multi-channel source types do not map 1:1 to all destinations
Custom objects created in-product cannot be accessed by other apps
Contact import requires at least 10 existing tickets in the account
HubSpot Service Hub gotchas
Rate limits throttle large migration API calls
Side conversations and Zendesk macros have no HubSpot equivalent
HubSpot stores ticket history as fragmented engagement objects
Custom Objects require Enterprise tier in HubSpot
Ticket pipeline stage probability values do not export cleanly
Pair-specific challenges
Migration approach
Discovery and plan tier verification
We audit the source Freshdesk portal across plan tier (Free/Growth/Pro/Enterprise), active agents, ticket volume, conversation history, custom fields, SLA policies, Products, and any custom objects. We verify that the customer is on at least the Growth plan (required for API access). We confirm whether custom objects were created via API or in-product and adjust the extraction strategy accordingly. The discovery output is a written migration scope document listing all objects to migrate, their estimated counts, and the Freshdesk API credentials with plan-tier rate limit confirmation.
Schema pre-creation in HubSpot Service Hub
Before any data moves, we create all required HubSpot objects and properties: custom contact fields, custom ticket fields, custom objects (if applicable), and tag configurations. We also pre-map Freshdesk agents to HubSpot Users by email and flag any agent without a matching HubSpot User in a reconciliation queue for the customer's admin to provision. This step ensures that every insert during migration resolves its lookup dependencies without rejection.
Demo migration and reconciliation
We run a representative migration of up to 100 random tickets with associated contacts, companies, conversations, and attachments into a HubSpot Sandbox or the production portal (depending on customer preference). The customer's support manager reconciles the migrated sample against the Freshdesk source: record counts, conversation thread ordering, attachment presence, and field value accuracy. Any mapping corrections are documented and applied to the full migration configuration before the production migration begins.
Production migration in dependency order
We run production migration in strict dependency order: Companies (from Freshdesk) first, then Contacts (with company lookup resolved), then Agents (matched to HubSpot Users), then Tickets (with requester and company lookup resolved), then Conversations (linked to tickets), then Tags, Time Entries, and Satisfaction Ratings. Each phase emits a row-count reconciliation report before the next phase begins. We throttle export queries to Freshdesk's endpoint-specific rate limits with exponential backoff on 429 responses.
Cutover and delta sync
We freeze Freshdesk writes during cutover, run a final delta migration of any tickets, contacts, or conversations modified during the migration window, and enable HubSpot Service Hub as the system of record. The customer deactivates Freshdesk (or sets it to read-only if they are running in parallel during a transition period). We deliver the automation and SLA inventory document to the customer's admin team for post-migration rebuild in HubSpot's workflow builder.
Post-migration support and handoff
We support a one-week hypercare window where we resolve any data quality issues raised by the customer's support team: missing conversations, duplicate records, incorrect contact associations. We do not rebuild Freshdesk automations, macros, or SLA policies as HubSpot workflows inside the migration scope; that work is handled by the customer's admin or a HubSpot implementation partner. We provide a written handoff document summarizing the migration decisions, the object mapping summary, and the open items list.
Platform deep dives
Freshdesk
Source
Strengths
Weaknesses
HubSpot Service Hub
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Freshdesk and HubSpot Service Hub.
Object compatibility
2 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Freshdesk: Account-wide per-minute limits: Free=0, Growth=200, Pro=400, Enterprise=700. Each endpoint has sub-limits (e.g., Tickets List capped at 20-200/min depending on plan)..
Data volume sensitivity
Freshdesk doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Freshdesk to HubSpot Service Hub migration scoping. Not seeing yours? Book a call.
Walk through your Freshdesk to HubSpot Service Hub migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Freshdesk
Other ways to arrive at HubSpot Service Hub
Same-Helpdesk migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.