Helpdesk migration

Migrate from HubSpot Service Hub to Salesforce Service Cloud

Field-level mapping, validation, and rollback between HubSpot Service Hub and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.

HubSpot Service Hub logo

HubSpot Service Hub

Source

Salesforce Service Cloud

Destination

Salesforce Service Cloud logo

Compatibility

86%

12 of 14

objects map 1:1 between HubSpot Service Hub and Salesforce Service Cloud.

Complexity

BStandard

Timeline

5-7 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Salesforce Service Cloud
HubSpot Service Hub

Overview

What this migration involves

Moving from HubSpot Service Hub to Salesforce Service Cloud means translating a support data model built on one CRM platform into a different CRM's case management architecture. HubSpot Service Hub stores every support interaction—email, call, chat, note—as a separate engagement object linked to a Ticket, requiring us to query each engagement type independently and reconstruct a unified conversation thread before loading it into Salesforce Case. Ticket pipelines in HubSpot become Case Record Types with custom Status values in Salesforce. We preserve the original ticket close date, resolution time, and source channel, but flag that HubSpot's Customer Health Scores and Knowledge Base articles require separate rebuild decisions: health score algorithms are HubSpot-specific and articles do not map to Salesforce Knowledge as structured records. Automation in HubSpot Service Hub—workflows, canned responses, and SLA rules—does not migrate; we deliver a written inventory for the customer's admin to rebuild in Salesforce Flow or Omni-Channel.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

HubSpot Service Hub logo

HubSpot Service Hub

What's pushing teams away

  • Pricing scales per-seat with mandatory Professional onboarding fees that feel disproportionate if you only need basic ticketing
  • Portal customization is limited—branding options and layout control lag behind dedicated helpdesk tools
  • Setup requires real work; out-of-the-box defaults rarely match existing support workflows without significant configuration
  • Feature depth in Service Hub lags behind Zendesk for complex routing rules, SLAs, and advanced reporting requirements
  • Growing teams hit tier limits quickly and face expensive upgrades to unlock basic capabilities like custom ticket pipelines

Choosing

Salesforce Service Cloud logo

Salesforce Service Cloud

What's pulling them in

  • Deep Salesforce ecosystem integration with Sales Cloud, Marketing Cloud, and custom Apex apps creates a single pane of glass for enterprise customer data and cross-functional workflows.
  • Omnichannel case routing — email, chat, phone, social, and messaging — unified under one case object means agents do not lose context when customers switch channels mid-interaction.
  • AI for customer service (Einstein AI / Agentforce) offers automated case classification, suggested replies, and chatbot routing that reduces Tier-1 ticket volume without manual rule authoring.
  • Entitlement and milestone tracking enforces SLA compliance natively, automatically calculating breach windows and surfacing violations to supervisors in dashboards.
  • Salesforce's massive AppExchange ecosystem provides pre-built connectors, industry-specific managed packages, and third-party tools that extend Service Cloud beyond its out-of-box capabilities.

Object mapping

How HubSpot Service Hub objects map to Salesforce Service Cloud

Each row shows how a HubSpot Service Hub object lands in Salesforce Service Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

HubSpot Service Hub

Ticket

maps to

Salesforce Service Cloud

Case

1:1
Fully supported

HubSpot Tickets map directly to Salesforce Cases. The HubSpot ticket subject maps to Case Subject, hs_ticket_priority to Case Priority, hs_pipeline to Salesforce Case Record Type, and hs_ticket_stage to Case Status values that we configure per Record Type. Custom ticket properties migrate as custom Case fields. HubSpot's ticket source (email, chat, phone, form) maps to Case Origin. Closed-Lost and Closed-Won resolution from HubSpot custom fields becomes Case Reason.

HubSpot Service Hub

Engagement: Email

maps to

Salesforce Service Cloud

EmailMessage + Task

1:1
Fully supported

HubSpot email engagements (stored as separate engagement objects) reconstruct into Salesforce EmailMessage records linked to the Case via the WhatId field. The email body, timestamp, sender, and recipient address migrate. We query HubSpot's email engagements endpoint, resolve the parent ticket by ticket_id, and attach each EmailMessage to the corresponding Case record. EmailMessage status (New, Read, Replied, Sent) maps from HubSpot's email engagement metadata.

HubSpot Service Hub

Engagement: Call

maps to

Salesforce Service Cloud

Task (TaskSubtype = Call)

1:1
Fully supported

HubSpot call engagements map to Salesforce Task with TaskSubtype = Call. Call duration, disposition, recording URL, and outcome migrate to custom Task fields (call_duration_seconds__c, call_disposition__c, recording_url__c). We resolve the parent Case by linking the Task to WhatId = Case ID and set ActivityDate to the original HubSpot call timestamp for timeline fidelity.

HubSpot Service Hub

Engagement: Meeting

maps to

Salesforce Service Cloud

Event

1:1
Fully supported

HubSpot meeting engagements (including Zoom and Google Meet transcripts if available) map to Salesforce Event with StartDateTime, EndDateTime, Subject, and Location preserved. Attendee resolution attaches EventRelation records to the associated Contact (WhoId) and Case (WhatId). Meeting outcome and notes migrate as Event description.

HubSpot Service Hub

Engagement: Note

maps to

Salesforce Service Cloud

Note

1:1
Fully supported

HubSpot notes linked to tickets migrate to Salesforce Note records attached via ContentDocumentLink to the parent Case. Note body and create timestamp preserve. Rich text formatting is retained where possible; images in HubSpot notes migrate as ContentDocument records linked to the Note.

HubSpot Service Hub

Engagement: Chat (Conversations)

maps to

Salesforce Service Cloud

Task + EmailMessage

1:1
Fully supported

HubSpot chat and Facebook Messenger, WhatsApp, and Instagram DM conversations stored in the Conversations inbox map to a combined Task (for activity logging) and EmailMessage (for thread content). The conversation thread is reconstructed as a series of EmailMessage records with direction (Inbound/Outbound) preserved. Chat transcripts without a ticket association are flagged for manual review.

HubSpot Service Hub

Contact

maps to

Salesforce Service Cloud

Contact

1:1
Fully supported

HubSpot Contacts map directly to Salesforce Contacts. Standard fields (name, email, phone, address) migrate cleanly. Lifecycle stage, lead status, and any custom contact properties transfer to Salesforce custom fields. We resolve the Contact by email as the primary key during import. If the destination Salesforce org uses Person Accounts for B2C support cases, we flag this during scoping and adjust the mapping.

HubSpot Service Hub

Company

maps to

Salesforce Service Cloud

Account

1:1
Fully supported

HubSpot Company records map to Salesforce Account. Company domain name becomes the Account Website field. If the destination Salesforce org uses a parent-account hierarchy, we flatten HubSpot's single-level company structure unless the customer specifies a hierarchy mapping. Dedupe is by domain name during import.

HubSpot Service Hub

Ticket Pipeline

maps to

Salesforce Service Cloud

Case Record Type + Case Status

lossy
Fully supported

HubSpot ticket pipelines (up to Professional tier's pipeline count limit) map to Salesforce Case Record Types, each with its own set of Case Status values. Stage names from HubSpot become Status picklist labels; stage display order preserves. Probability per stage migrates to Salesforce but as an informational field on the Record Type since Case does not use probability natively. We configure the Record Type in a Sandbox before production migration.

HubSpot Service Hub

Knowledge Base Article

maps to

Salesforce Service Cloud

Salesforce Knowledge (article types)

1:1
Fully supported

HubSpot Knowledge Base articles can be exported via API and loaded into Salesforce Knowledge, but the structure mapping is not 1:1. HubSpot articles have category, slug, body, and publish status; Salesforce Knowledge uses Article Types (custom metadata), data category groups, and Lightning-rendered article pages. We migrate article title, body content, category path (as data categories), and publish status. Embedded HubSpot forms, Breeze-agent-specific deflection settings, and article view analytics do not transfer and are flagged as rebuild items.

HubSpot Service Hub

CSAT / Feedback Survey

maps to

Salesforce Service Cloud

Custom Field on Case

1:1
Fully supported

HubSpot CSAT survey responses linked to tickets migrate as custom fields on Salesforce Case (csat_score__c, csat_response_text__c, csat_submitted_date__c). The survey object structure in HubSpot does not map to a native Salesforce equivalent, so response metadata (survey name, question text) migrates as Case description or a custom text field. We flag that post-migration CSAT collection should use Salesforce Survey or an AppExchange survey tool.

HubSpot Service Hub

Owner (Agent/User)

maps to

Salesforce Service Cloud

User

1:1
Fully supported

HubSpot Owners map to Salesforce User records by email match. Active and inactive status preserves. Team assignments in HubSpot map to Salesforce Public Groups or Queues depending on whether the customer uses queue-based case assignment. Owners without a matching Salesforce User go to a reconciliation queue for admin provisioning before case import begins.

HubSpot Service Hub

Customer Health Score

maps to

Salesforce Service Cloud

Custom Field on Account/Contact

1:1
Fully supported

HubSpot Customer Success Workspace health scores (calculated from engagement data) cannot migrate as a working algorithm in Salesforce because health score computation is HubSpot-specific. We migrate the most recent health score value as a static number in a custom field (hs_health_score__c) on Account and/or Contact. Post-migration health scoring must be rebuilt using Salesforce reports, Salesforce Health Score solutions on AppExchange, or a dedicated CS platform like Gainsight.

HubSpot Service Hub

Tag

maps to

Salesforce Service Cloud

Multi-Select Picklist or Case Tag

lossy
Fully supported

HubSpot tags on tickets and contacts migrate as string values to a Salesforce multi-select picklist field (case_tags__c) or Case Tag object. HubSpot does not enforce a global tag taxonomy, so tags from multiple sources may have naming collisions; we deduplicate and prefix by source object where necessary. The customer chooses between multi-select picklist (simpler) and Case Tags (Salesforce-native) during scoping.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

HubSpot Service Hub logo

HubSpot Service Hub gotchas

High

Rate limits throttle large migration API calls

High

Side conversations and Zendesk macros have no HubSpot equivalent

High

HubSpot stores ticket history as fragmented engagement objects

Medium

Custom Objects require Enterprise tier in HubSpot

Medium

Ticket pipeline stage probability values do not export cleanly

Salesforce Service Cloud logo

Salesforce Service Cloud gotchas

High

Data Export 512MB file size cap breaks large org exports

High

API Daily Request Limits vary by license edition

High

No automatic data backup in base Salesforce

Medium

Picklist dependencies silently break records when unmapped

Medium

Workflow rules fire unexpectedly during data load

Pair-specific challenges

  • Ticket conversation history requires multi-endpoint reconstruction

    HubSpot splits every ticket conversation into separate engagement objects—emails, calls, chats, and notes—linked via the relations API rather than stored on the ticket itself. A standard export misses fragments. We query each engagement type endpoint (emails, calls, meetings, notes, conversations) separately, deduplicate by timestamp and sender, reconstruct a unified thread sorted by date, and attach the thread to the corresponding Salesforce Case. This multi-endpoint query pattern increases API call volume significantly and is the most common reason underestimates occur in HubSpot-to-Salesforce service migrations.

  • HubSpot Knowledge Base does not map as structured records

    HubSpot Knowledge Base articles export as HTML content with category metadata, but Salesforce Knowledge uses a different article type model with data categories, article type definitions, and Lightning-rendered pages. We migrate article title, body, category path, and publish status. Embedded HubSpot forms, Breeze deflection triggers, article view counters, and vote/rating data do not transfer. We deliver a written handoff listing each article that needs manual re-creation in Salesforce Knowledge with its category assignment, and the customer's admin rebuilds them before go-live.

  • Customer Health Scores are HubSpot-calculated values only

    HubSpot CS Hub health scores are computed by HubSpot's algorithm from engagement, ticket, and CSAT data. The numeric score and any trend data migrate as a static custom field value. The algorithm itself does not transfer and cannot be replicated identically in Salesforce without a dedicated CS platform like Gainsight, Totango, or Vitally. We flag this gap in the scoping document and recommend the customer evaluate Salesforce-native or AppExchange health score solutions before cutover.

  • HubSpot Ticket Pipelines require Record Type configuration before import

    HubSpot ticket pipelines store stage names and probabilities as display properties, not as typed fields on each ticket. Salesforce requires Record Types and Case Status values to be configured in the destination org before case import begins. We pre-create Record Types in Sandbox, map each HubSpot pipeline to a Record Type with matching Status values, validate the mapping with the customer's admin, and deploy to production before migration phases begin. Skipping this step causes every case to import with an incorrect or empty Status value.

  • CSAT survey structure does not map to a native Salesforce object

    HubSpot's post-conversation survey responses store as a separate object with question text, answer value, and ticket association. Salesforce has no native equivalent at the same level of structure. We migrate the most recent score and free-text response as custom fields on Case, but survey metadata (question labels, survey versions, non-responders) requires a separate audit. The customer should plan to run future CSAT collection through Salesforce Survey or an AppExchange tool post-migration.

Migration approach

Six steps for a successful HubSpot Service Hub to Salesforce Service Cloud data migration

  1. Discovery and scoping

    We audit the source HubSpot Service Hub portal for tier (Starter/Professional/Enterprise), active ticket pipelines and their stage counts, custom ticket properties, engagement record volumes by type (email, call, meeting, note, chat), Knowledge Base article count and category depth, CSAT survey structure, customer health score presence, and owner/agent count. We pair this with a Salesforce Service Cloud edition review: Service Cloud Starter ($25/user) covers basic case management; Service Cloud Professional adds Omni-Channel and Salesforce Knowledge; Service Cloud Enterprise adds Entitlement Management, MILestones, and advanced Flow; Service Cloud Unlimited adds 24x7 support. The discovery output is a written scope document with object counts, a Salesforce edition recommendation, and a flag for any Enterprise-only source features that may not transfer.

  2. Engagement reconstruction and conversation thread design

    HubSpot's engagement API requires separate queries for each engagement type. We build a reconstruction query for each object type (emails via the email engagements endpoint, calls via call recordings endpoint, meetings via meetings endpoint, notes via notes endpoint, conversations via the conversations inbox API). We resolve each engagement record back to its parent HubSpot ticket_id and sort by timestamp to build a unified thread per ticket. This design step produces the thread schema we use during migration and is validated against a sample of 50 tickets before bulk migration begins.

  3. Salesforce schema setup and Record Type configuration

    We configure Salesforce Service Cloud in a Sandbox before any data moves. This includes creating custom Case fields for all HubSpot custom ticket properties, configuring Case Record Types (one per HubSpot ticket pipeline), setting up Case Status values per Record Type with display labels matching HubSpot stage names, creating custom fields for CSAT scores, health score values, and tag data, and configuring Omni-Channel routing settings (Presence Configuration, Skills, Routing Flows) if the customer plans to use them. Salesforce Knowledge article types and data category groups are set up if the customer requires Knowledge Base migration. All configuration is validated by the customer's Salesforce admin before Sandbox sign-off.

  4. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy depending on data volume) with production-like record counts. The customer's support operations lead reconciles: total Case count against HubSpot ticket count, sample Case thread completeness against HubSpot ticket conversation history, Contact and Account record counts, Owner-to-User mapping verification, tag coverage on sample cases, and CSAT score presence. Any missing mappings, truncated conversation threads, or field-type mismatches are corrected in the Sandbox schema before production migration begins.

  5. Owner reconciliation and User provisioning

    We extract every distinct HubSpot Owner referenced on tickets and contacts and match by email against the Salesforce destination org's User table. Owners without a matching Salesforce User are queued for admin provisioning. For inactive HubSpot agents who still need history attribution, we provision Salesforce Users with the IsActive flag set appropriately. Salesforce Queue assignment for unassigned cases is configured before case import so that ownerless tickets route to the correct queue rather than landing as unowned records.

  6. Production migration in dependency order

    We migrate in this sequence: Accounts (from HubSpot Companies), Contacts (with AccountId resolved), Case Record Types and Status values (validated in Sandbox), Cases (with RecordTypeId, Status, Origin, and Priority resolved), Engagement history (EmailMessages, Tasks, Events, Notes via Bulk API 2.0 reconstructed per Case), CSAT data (as custom Case fields), Knowledge Base articles (as Salesforce Knowledge articles with data category assignments), and health score values (as static custom fields on Account/Contact). Each phase emits a reconciliation row-count report. We use Bulk API 2.0 with chunking, parent-record lookup resolution, and exponential backoff on rate-limit responses for engagement-heavy phases.

  7. Cutover, delta sync, and rebuild handoff

    We freeze HubSpot ticket writes during cutover, run a final delta migration of any tickets or engagement records modified during the migration window, then enable Salesforce Service Cloud as the system of record. We deliver: a Ticket-to-Case ID cross-reference for any customer-facing ticket references, a Knowledge Base rebuild checklist with article titles and category assignments, a Workflow and SLA rebuild inventory (HubSpot workflows and SLA rules do not migrate; we document the trigger, conditions, and recommended Salesforce Flow or Entitlement equivalent), and a Omni-Channel routing setup guide. We do not rebuild HubSpot workflows or SLA rules as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

HubSpot Service Hub logo

HubSpot Service Hub

Source

Strengths

  • Unified CRM object model means support context is always linked to sales and marketing data
  • Generous free tier with unlimited tickets and a shared inbox for small teams
  • Omnichannel inbox consolidates email, live chat, and major messaging platforms natively
  • Customer Success Workspace provides portfolio-level health scores without a separate tool
  • AI agent (Breeze) handles Tier-1 resolutions and knowledge base deflection automatically

Weaknesses

  • Per-seat pricing with mandatory onboarding fees inflates year-one cost significantly
  • Ticket history stored as fragmented engagement objects across APIs complicates export and migration
  • Custom Objects locked behind Enterprise tier limits portability for mid-market teams
  • Help desk depth—routing rules, SLA management, advanced reporting—trails dedicated tools like Zendesk
  • Setup and configuration requires real time investment; out-of-box defaults rarely fit existing workflows
Salesforce Service Cloud logo

Salesforce Service Cloud

Destination

Strengths

  • Enterprise-grade security, compliance certifications, and audit logging available across all paid editions with Shield offering enhanced event monitoring.
  • Scalable multi-tenant cloud architecture supporting orgs from 5 users to 150,000+ seat enterprises without infrastructure management overhead.
  • Omnichannel contact center unifying email, live chat, phone, messaging, and social into a single Case timeline per customer interaction.
  • Rich workflow automation via Salesforce Flow, Process Builder, and Apex triggers enabling complex case escalation, routing, and field updates.
  • Native AI capabilities (Agentforce / Einstein) for case auto-routing, classification, suggested responses, and chatbot escalation without third-party add-ons.

Weaknesses

  • Per-seat pricing model with no contact limits creates unpredictable cost scaling for large organizations adding many agents over time.
  • No automatic data backup — organizations must purchase a third-party backup solution or build manual Data Loader exports to protect against data loss from human error, failed deployments, or integrations overwriting records.
  • Steep learning curve for non-technical users requiring dedicated admin resources and formal training investment before teams reach productive velocity.
  • Annual contract requirements and limited pro-ration on exit create significant switching cost friction, especially for organizations evaluating alternatives mid-cycle.
  • Add-on licensing (CPQ, Einstein Activity Capture, Shield, Data Cloud) can double effective per-seat cost without clear documentation of which features are included in base tiers.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 1 of 7 objects need a manual workaround.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across HubSpot Service Hub and Salesforce Service Cloud.

  • Object compatibility

    C

    1 of 7 objects need a manual workaround.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    HubSpot Service Hub: 100–190 req/10sec (per app, varies by tier); 250,000–1,000,000 req/day (shared across all apps in account).

  • Data volume sensitivity

    A

    HubSpot Service Hub exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your HubSpot Service Hub to Salesforce Service Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about HubSpot Service Hub to Salesforce Service Cloud data migrations

Answers to the questions buyers ask most during HubSpot Service Hub to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your HubSpot Service Hub to Salesforce Service Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between five and seven weeks for accounts under 30,000 tickets and 200,000 engagement records without Knowledge Base migration or custom objects. Migrations with large conversation histories (500,000+ engagement records requiring multi-endpoint reconstruction), multiple ticket pipelines, Knowledge Base article migration, or HubSpot Enterprise custom objects move to twelve to eighteen weeks because of engagement reconstruction time, Record Type configuration per pipeline, Knowledge Base article type setup, and Omni-Channel routing documentation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from HubSpot Service Hub.
Land in Salesforce Service Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day