Helpdesk migration checklist

Migration Checklist: Moving to Salesforce Service Cloud

An eight-phase, task-by-task punch list for moving Cases, CaseComments, EmailMessages, Knowledge articles, and multi-channel history into Salesforce Service Cloud.

160 tasks 6–16 weeks typical Updated May 27, 2026
Salesforce Service Cloud
Tickets
Conversations
Customers
Attachments
Knowledge Base
Tags
0 of 160 tasks complete

Phase 0

Decide & Plan

Lock scope, owner, success criteria, and cutover window before any work starts.

  • Risk if skipped: Scope ambiguity surfaces mid-cutover as missing channels or article history, forcing emergency re-imports against governor limits.

  • Risk if skipped: An unbounded historical scope inflates File Storage, breaks the cutover window, and forces a paid storage add-on at short notice.

  • Risk if skipped: Hitting storage caps mid-load aborts bulk load jobs and stalls Knowledge article publication.

  • Risk if skipped: Quietly migrating a channel whose runtime is not configured leaves transcripts orphaned in the destination.

  • Risk if skipped: Residency violations discovered after go-live require a Hyperforce region migration and DPA renegotiation.

  • Risk if skipped: Without falsifiable criteria, the sponsor declares the project done while critical history gaps persist.

  • Risk if skipped: Cumulative consumption from sandbox tests, Knowledge re-versioning, and reloads can exhaust the budget hours before cutover finishes.

Phase 1

Pre-Migration Prep

Clean the source, stand up the destination, and prep people before the first export.

1a. Source-system audit and cleansing

  • Risk if skipped: Without a baseline, you cannot prove anything was lost.

  • Risk if skipped: Duplicate Contacts split case history across multiple records and break email-to-case matching post-cutover.

  • Risk if skipped: Duplicate parent Accounts split SLA reporting and break support-team rollups after cutover.

  • Risk if skipped: Validation Rules on Country reject non-ISO values, blocking row-level Case and Contact inserts.

  • Risk if skipped: Missing required fields fail per row and pollute error logs with thousands of rejections.

  • Risk if skipped: Skipping the inventory leaves agents without the daily workflow they depended on in the source.

  • Risk if skipped: Losing version lineage means the published article history disappears and any rollback path is gone.

1b. Destination Service Cloud setup

  • Risk if skipped: Testing volume in a Developer sandbox understates throughput and lets governor-limit and storage issues surface in production.

  • Risk if skipped: Wrong Business Hours assign every milestone to the default 24/7 calendar and misreport SLA attainment.

  • Risk if skipped: Loading articles before Lightning Knowledge is enabled creates Classic Knowledge records that cannot be converted without rework.

  • Risk if skipped: Loads fail at row level when OwnerId references a user that was not created or is deactivated.

  • Risk if skipped: Historical case timestamps are silently replaced and cannot be re-applied after the fact.

  • Risk if skipped: Without an External ID, retries duplicate every record, and Case/CaseComment/EmailMessage threading cannot be wired up by source ID.

  • Risk if skipped: Without these fields, every migrated closed case looks SLA-blank and historical CSAT scores are lost.

  • Risk if skipped: A single Record Type forces every migrated case onto one layout and one StageName picklist, hiding type-specific fields.

  • Risk if skipped: Restricted picklist ENUM rejections cancel entire batches with cryptic STRING_TOO_LONG-style errors.

  • Risk if skipped: Loading Cases before Entitlements exist leaves every case without an SLA reference and breaks Omni-Channel routing that keys on Entitlement.

  • Risk if skipped: An unconfigured Email-to-Case service drops every customer reply that arrives after go-live.

  • Risk if skipped: Voice configured after Case load leaves migrated call records unattached to the cases they belong to.

  • Risk if skipped: Importing transcripts without a deployment record leaves them orphaned and not visible on the agent console.

  • Risk if skipped: Omni-Channel configured after agents start using the org floods unrouted work to the default queue.

  • Risk if skipped: Agents lose the keystroke shortcuts and templated replies they had in the source, eroding adoption in week one.

  • Risk if skipped: Active rules can reject 100% of rows or fire auto-acknowledgement emails to thousands of customers.

  • Risk if skipped: An active integration during sandbox or production load broadcasts thousands of false notifications.

1c. People prep

  • Risk if skipped: Without a triage roster, user-reported defects sit unowned and erode trust in the new platform.

Phase 2

Source Export

Pull every byte you will need, with the exact timestamp captured for delta reconciliation.

  • Risk if skipped: Missing the source primary key forces fuzzy matching downstream and reintroduces duplicates.

  • Risk if skipped: Missing Subject, Status, or Origin blocks Case insert because these are required.

  • Risk if skipped: Truncated CommentBody silently drops the tail of long agent replies.

  • Risk if skipped: Missing MessageDate causes EmailMessages to sort by load time on the case feed, scrambling the thread.

  • Risk if skipped: Unrewritten cid: links render as broken images in the migrated case feed.

  • Risk if skipped: Missing intermediate versions breaks the rebuild because version N cannot be inserted without version N-1.

  • Risk if skipped: Without timestamps, the delta cannot be computed and last-minute source edits are lost.

Phase 3

Transform & Map

Reshape source CSVs into Service Cloud-shaped files, with every picklist, channel, and thread relationship resolved.

3a. Mapping spreadsheet

  • Risk if skipped: Undocumented mappings cause silent drops and unreproducible loads.

  • Risk if skipped: Using a mutable column as upsert key creates duplicates on every re-run.

  • Risk if skipped: Unmapped picklist values trigger ENUM rejection on restricted picklists.

  • Risk if skipped: Unmapped agents default to the migration user and break Omni-Channel agent-workload reporting.

3b. Data transformation

  • Risk if skipped: Mismatched timezones shift case ClosedDate by a day and break SLA-attainment reporting.

  • Risk if skipped: Silent CommentBody truncation removes the tail of long agent replies and chops apart customer questions.

  • Risk if skipped: BOM headers turn the first column name into garbage and break field mapping on the first row.

  • Risk if skipped: Unescaped newlines split one logical comment into two, misaligning every subsequent column.

  • Risk if skipped: Skipping the rewrite leaves every inline image broken on the migrated case feed.

3c. Relationship and audit-trail decisions

  • Risk if skipped: Losing original timestamps breaks aging reports, first-response metrics, and chronological case-feed ordering.

  • Risk if skipped: Re-uploading without staging the binaries first exhausts File Storage and stalls the load.

  • Risk if skipped: Loading children before parents leaves dangling foreign keys and forces a full re-run.

3d. Service Cloud helpdesk-specific transforms

  • Risk if skipped: Missed ParentId wiring leaves comments and emails orphaned, with no parent Case in the agent console.

  • Risk if skipped: Parallel version inserts are rejected; tools that fail this constraint break midway through the load.

  • Risk if skipped: Manual publish via UI does not scale beyond a few dozen articles and will not complete inside the cutover window.

  • Risk if skipped: Expecting Milestones to retro-fire on a closed migrated case leaves every historical SLA outcome unrepresented.

  • Risk if skipped: Without the custom field, historical CSAT trend reporting starts at zero on go-live.

  • Risk if skipped: Recordings hosted on an expired source telephony tenant become unreachable the moment the source contract lapses.

  • Risk if skipped: Skipping Business Hours assignment runs every milestone as 24/7 and over-reports SLA breach.

Phase 4

Sandbox Test Migration

Catch every defect in a sandbox before it costs real records in production.

  • Risk if skipped: Testing against stale metadata hides field-level-security and Validation Rule defects.

  • Risk if skipped: Sampling fewer than 10 misses encoding and transformation bugs that affect 1% of rows.

  • Risk if skipped: A misset IsPublished flag exposes internal notes to customers in the Experience Cloud portal.

  • Risk if skipped: Out-of-order EmailMessages scramble customer dialogue and confuse triage agents post-cutover.

  • Risk if skipped: Broken inline images surface as user-reported defects in week one.

  • Risk if skipped: Version replay misordering breaks the published article history irreversibly.

  • Risk if skipped: If active Entitlement Processes start re-clocking historical cases, every closed case shows as breached.

  • Risk if skipped: Unicode astral characters silently truncate and corrupt customer names and message text.

  • Risk if skipped: Lookup-by-external-ID failures point comments and emails at the wrong case and corrupt the entire thread hierarchy.

  • Risk if skipped: A Trigger firing on insert can exceed the 150 DML statement governor limit and abort a batch partway.

  • Risk if skipped: Skipping volume rehearsal hides Knowledge load throughput issues that only appear at full scale.

  • Risk if skipped: Proceeding to production without sign-off transfers all sandbox defects into the live org.

Phase 5

Production Cutover

The tightly-sequenced execution window. Idempotent loads, dependency order, and visible row counts.

  • Risk if skipped: Writes after the freeze produce a silent delta that never reaches the destination.

  • Risk if skipped: Active auto-response rules send thousands of false acknowledgement emails to customers during the load.

  • Risk if skipped: Active Entitlement Processes during load create false MilestoneInstance breach records on every historical case.

  • Risk if skipped: Loading Contacts before their parent Accounts orphans the children and forces a delete-and-reload.

  • Risk if skipped: Parallel version inserts fail; running them serially is the only supported pattern.

  • Risk if skipped: A misset IsPublished flag exposes internal notes to customers in any Experience Cloud portal.

  • Risk if skipped: Skipping this pass leaves every inline image broken on the migrated case feed.

  • Risk if skipped: Without job IDs, error rows cannot be retrieved from the Bulk Data Load Jobs page after the retention window expires.

  • Risk if skipped: Continuing past a variance compounds errors and makes root-cause analysis impossible.

Phase 6

Validate

Prove the migration was correct before opening the org to agents.

6a. Reconciliation

  • Risk if skipped: Even a single-record gap can mask a Validation Rule that quietly dropped a class of rows.

  • Risk if skipped: Open-case drift erodes support-leader trust on day one of go-live.

  • Risk if skipped: Multiple online versions per article confuse search and indicate the version replay was misordered.

6b. Relationship validation

  • Risk if skipped: External ID lookup misses leave Cases on the wrong Contact, breaking customer search and triage.

  • Risk if skipped: Wrong IsPublished exposes internal notes to customers and erodes trust permanently.

  • Risk if skipped: Broken file links surface as user-reported defects in week one and are expensive to retro-fix at scale.

6c. Audit and compliance

  • Risk if skipped: Residency violations discovered later require a Hyperforce region migration and DPA renegotiation.

6d. User-acceptance check

  • Risk if skipped: Skipping UAT defers defect discovery to agents on day one when the support load is already peaked.

6e. Sign-off

  • Risk if skipped: Skipping formal sign-off leaves scope-of-completion ambiguous and reopens the project months later.

Phase 7

Post-Migration Cleanup

Hand the org to its operators, decommission the source, and capture lessons learned.

  • Risk if skipped: Leaving the source writable encourages agents to keep working in the old system, fracturing the source of truth.

  • Risk if skipped: Skipping activation leaves new cases without SLA tracking on day one.

  • Risk if skipped: Activating untested Flows on top of migrated data can mass-update or mass-email customers.

  • Risk if skipped: Over-permissive Sharing Rules expose case data to the wrong team; under-permissive rules block agents from their own queues.

  • Risk if skipped: Without retained exports, a forensic question six months in cannot be answered.

Watch list

Risks to track throughout

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

  • Knowledge article version replay

    Lightning Knowledge stores articles in Knowledge__kav with a strict versioned model. Only one draft version and one published version can exist at a time, and versions must be inserted sequentially plus published via PublishingService.publishArticle. Bulk load patterns that work for Case will not translate. Plan extra cutover time and start article replay early; track success per article and resume on failure.

  • Milestone clocks do not retro-fire on backdated cases

    Active Entitlement Processes only start tracking once a case is associated with an Entitlement post-load. Historical SLA outcomes (first response, resolution) cannot be recreated as MilestoneInstance records and must land in custom fields like Legacy_First_Response_At__c. Activating Entitlement Processes during load creates false breach records on every closed historical case — keep them off until all closed cases are loaded.

  • Automation side effects on Case insert

    Validation Rules, Assignment Rules, Auto-Response Rules, Apex Triggers, Workflow Rules, and Flows all fire on every bulk Case insert by default. A single active Auto-Response Rule can email thousands of customers acknowledging cases they raised years ago. Bypass-condition patterns must be in place before any production load and verified during Phase 4.

  • Audit-trail loss from missing 'Set Audit Fields' permission

    Without the 'Set Audit Fields upon Record Creation' permission on the migration user, Case.CreatedDate, CaseComment.CreatedDate, and EmailMessage.MessageDate are silently re-stamped to the load timestamp. The original values cannot be patched after insert and EmailMessage thread ordering breaks irreversibly. Confirm the permission is granted in Phase 1b and verify on a sample in Phase 4 before any production load.

Pair this with the long-form guide

The complete Salesforce Service Cloud migration guide

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