Helpdesk migration checklist

Migration Checklist: Moving to HubSpot Service Hub

A phased, atomic task list for moving a helpdesk operation onto HubSpot Service Hub — covering tickets, conversations, knowledge base, SLAs, and validation.

123 tasks 6–16 weeks typical Updated May 27, 2026
HubSpot Service Hub
Tickets
Conversations
Customers
Attachments
Knowledge Base
Tags
0 of 123 tasks complete

Phase 0

Decide & Plan

Lock scope and constraints before a single record moves.

  • Risk if skipped: Scope drift mid-migration forces re-mapping after fields are already loaded, and Enterprise-only objects discovered late blow the budget.

  • Risk if skipped: Importing unbounded history inflates association counts, custom-property usage, and runtime past the cutover window.

  • Risk if skipped: Switching surfaces post-cutover forces a second round of view/routing rebuild and retraining.

  • Risk if skipped: Discovering a feature is tier-locked after kickoff forces a contract change order and delays cutover.

  • Risk if skipped: GDPR sign-off blocks go-live if customer data lands in the wrong data center.

  • Risk if skipped: Compliance objections surface at UAT and block sign-off after the data is already loaded.

  • Risk if skipped: Without a freeze, tickets created during cutover get split across source and destination and customers see duplicate responses.

  • Risk if skipped: Stakeholders assume excluded items are coming and surface them as defects during UAT.

Phase 1

Pre-Migration Prep

Cleanse the source. Build the destination. Brief the people.

1a. Source-system audit and cleansing

  • Risk if skipped: Without a baseline, post-migration reconciliation cannot prove completeness.

  • Risk if skipped: Silent merges at import permanently fuse separate customer histories into one contact record.

  • Risk if skipped: Foreign characters and trailing whitespace trigger 'Property values were not valid' errors that fail entire batches.

  • Risk if skipped: Picklist mismatches trigger 'Invalid enumeration option' errors and block entire ticket batches.

1b. Destination HubSpot setup

  • Risk if skipped: Skipping a sandbox load means production is your test run, and import errors burn property and association limits you cannot fully reclaim.

  • Risk if skipped: Mismatched agent emails force a fallback assignee on every imported ticket and destroy historical workload reports.

  • Risk if skipped: Importing tickets into a stage that does not exist drops every row in the batch.

  • Risk if skipped: Importing into a property that does not exist silently drops the column data with no row-level error.

  • Risk if skipped: Without legacy date properties, every imported ticket appears created on cutover day and historical SLA reporting is destroyed.

  • Risk if skipped: Without an external ID, re-running a partial load creates duplicate tickets instead of updating existing ones.

  • Risk if skipped: Unverified sending domains cause customer replies to bounce or land in spam from day one.

  • Risk if skipped: Imports trigger thousands of automated notifications to live customers on resolved tickets.

1c. People and process prep

  • Risk if skipped: Agents working past the freeze create tickets that vanish at delta cutoff.

Phase 2

Source Export

Pull a complete, timestamped snapshot of everything you need to transform.

  • Risk if skipped: Non-UTF-8 encoding turns Korean, Cyrillic, and accented characters into '??????' on import.

  • Risk if skipped: Omitting original dates collapses years of SLA history into the cutover date.

  • Risk if skipped: Re-importing emails is not supported — existing Email engagements cannot be updated, so the data has to be right on first write.

  • Risk if skipped: Without timestamps you cannot prove which records were already exported, and the delta load misses or duplicates rows.

Phase 3

Transform & Map

Reshape source exports into HubSpot-shaped files.

3a. Master mapping spreadsheet

  • Risk if skipped: Without a single source of truth, transform logic diverges across CSVs and bugs surface only at validation.

3b. Data transformation

  • Risk if skipped: Inconsistent date formats fail rows individually with no batch-level early warning.

  • Risk if skipped: Articles exceeding 100 tags fail KB import or get silently truncated.

3c. Relationship and audit-trail decisions

  • Risk if skipped: If skipped, every imported ticket looks created on cutover day and breaks tenure/closure-rate reporting.

  • Risk if skipped: Inline images in source emails render as broken images on imported tickets unless converted to attachments.

3d. Helpdesk-specific transforms

  • Risk if skipped: Mapping by display label instead of internal value silently drops every ticket whose source status name differs in casing or punctuation.

  • Risk if skipped: Loading email engagements with wrong direction or missing addresses leaves an unfixable record and forces a full delete-and-reload of that ticket's thread.

  • Risk if skipped: Spaces after commas in the Keywords column trigger tag-import errors that hide successful article imports underneath.

  • Risk if skipped: Skipping the rebuild means agents lose their canned responses and tickets stop auto-routing on day one.

  • Risk if skipped: Without pipeline SLAs, breach alerts never fire and SLA dashboards show empty after cutover.

  • Risk if skipped: Skipping the file-to-ticket association upload step leaves orphaned files no agent can find.

Phase 4

Sandbox Test Migration

Catch every problem in a sandbox before production pays for it.

  • Risk if skipped: Loading only the easy records hides the gotchas until production load when they cost real time.

  • Risk if skipped: Reversed parent_company direction creates an unnavigable graph that requires re-importing the company file.

Phase 5

Production Cutover

Tightly sequenced. Idempotent. Logged.

  • Risk if skipped: Live workflows fire on every imported ticket and email thousands of customers with auto-replies on resolved tickets.

  • Risk if skipped: Loading children before parents leaves orphan associations that fail with 'Association record not found' and cannot be repaired without re-running.

  • Risk if skipped: Using create instead of upsert duplicates every row on a re-run.

  • Risk if skipped: Pushing forward with an unexplained delta stacks errors that become impossible to untangle later.

  • Risk if skipped: Forgetting an email alias means customer replies still hit the old system and never reach agents.

Phase 6

Validate

Prove correctness before opening the door to users.

6a. Reconciliation

  • Risk if skipped: An unexplained count delta usually means a transform dropped a column or a batch silently failed.

6b. Relationship validation

6c. Audit, compliance, and rollback readiness

  • Risk if skipped: Without an archived source export, an undiscovered defect after day 14 cannot be reversed.

6d. User-acceptance and sign-off

Phase 7

Post-Migration Cleanup

Decommission the old. Make HubSpot the source of truth.

  • Risk if skipped: Without rebuilt dashboards, leadership cannot answer 'how is service going' on day one.

  • Risk if skipped: If a defect surfaces six months later and the archive is gone, root cause cannot be diagnosed.

Watch list

Risks to track throughout

These risks live across multiple phases — keep an eye on them from kickoff through cutover.

  • Ticket Created/Updated/Closed dates are not migratable

    HubSpot does not allow overwriting a ticket's native Created, Updated, or Closed timestamps. Every imported ticket appears created on cutover day. The only mitigation is to populate Legacy Created At / Updated At / Closed At custom datetime properties on every ticket and rebuild reports against those properties. If this is not designed in from Phase 1, historical SLA and tenure reporting cannot be reconstructed.

  • Picklist and whitespace strictness on imports

    HubSpot matches enumeration values on the internal value, not the display label, and rejects leading/trailing whitespace and invisible Unicode characters. A single bad picklist value can fail every row in a batch. Audit and normalize every enumeration column in Phase 1, re-check transforms in Phase 3, and treat 'Invalid enumeration option' and 'Property values were not valid' as Sev-1 in sandbox testing.

  • Per-tier feature gating and per-object limits compound late

    Custom Objects are Enterprise-only. Knowledge Base CSV import is Professional+. Surveys for Feedback history are Professional+. Standard sandboxes are Enterprise-only. Per-object custom property caps are 3,000 with $220/mo per 500-property add-on packs, and association caps top out at 50,000 per record. Scope each feature against the actual contracted tier in Phase 0; discovering a gating issue post-cutover forces a contract change order.

  • Per-day import ceilings under cutover-day load

    Free portals cap at 500,000 rows/day; paid portals at 10,000,000 rows/day with at most three simultaneous imports. Daily rolling limits do not reset at a clock time. Test runs, fix-and-reload cycles, and the cutover delta all draw from the same quota — plan cumulative consumption from Phase 4 onward, not just the cutover step.

Pair this with the long-form guide

The complete HubSpot Service Hub migration guide

Same research, written as prose: data model, import mechanisms, mapping strategy, pitfalls, and partner landscape.