Helpdesk migration
Field-level mapping, validation, and rollback between Thulium and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Thulium
Source
Salesforce Service Cloud
Destination
Compatibility
6 of 10
objects map 1:1 between Thulium and Salesforce Service Cloud.
Complexity
CModerate
Timeline
4-6 weeks
Overview
Moving from Thulium to Salesforce Service Cloud is a structural migration, not a record copy. Thulium stores individual email, chat, and voice interactions as sub-objects within a Case rather than as standalone records; we flatten these into a chronological Case timeline during export so that the full communication history is present in Salesforce. Thulium's custom field types (text, large text, email, numeric, link, list, yes/no, date) require field-level type mapping to Salesforce field types because the two platforms use different type names and constraints. We resolve every Agent-to-Case reference to a Salesforce User ID before import so that Cases are assigned at load time rather than requiring manual reassignment post-migration. Workflows, automations, and SLA rules do not migrate as code; we deliver a written inventory of these for the customer's admin to rebuild in Salesforce Flow. Custom integrations, third-party apps, and telephony configurations are documented and handed off to the customer's technical team for reconfiguration in the destination org.
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
Thulium platform overview
Scorecard, SWOT, gotchas, and pricing for Thulium.
Destination platform
Salesforce Service Cloud platform overview
Scorecard, SWOT, gotchas, and pricing for Salesforce Service Cloud.
Data migration guide
The complete Salesforce Service Cloud migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Salesforce Service Cloud migration checklist
Pre- and post-cutover tasks for moving onto Salesforce Service Cloud.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Thulium 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.
Thulium
Case
Salesforce Service Cloud
Case
1:1Thulium Cases map directly to Salesforce Case records with CaseNumber, Status, Priority, Origin, and Description fields preserved. The Thulium Case ID is stored in a custom field thulium_case_id__c for traceability. Thulium's Case Status (open, pending, resolved, closed) maps to Salesforce Case Status values, which we configure as a Status picklist on the Case object before import. If Thulium uses custom status labels, we build a value-mapping table during scoping and apply it during transformation.
Thulium
Case.Conversation
Salesforce Service Cloud
EmailMessage + Task
1:manyThulium stores individual email, chat, and voice interactions as sub-objects within a Case rather than as standalone records. We flatten these into EmailMessage records (for email channel), Task records with TaskSubtype=Call (for voice), and Task records (for chat and internal notes) linked to the parent Case via the WhatId field. Each conversation entry's timestamp, author, and content body migrate to the corresponding Salesforce object. The flattened chronological order is preserved by setting ActivityDate on Tasks and CreatedDate on EmailMessage to the original Thulium timestamp.
Thulium
Contact
Salesforce Service Cloud
Contact
1:1Thulium CRM Contacts map to Salesforce Contact records. Email, Phone, FirstName, LastName, and custom field values migrate directly. We use Email as the dedupe key during import to prevent duplicate Contact creation. Thulium's Contact-to-Company linkage migrates as the Salesforce Contact.AccountId lookup, resolved after Account records are created. If Thulium stores a contact's primary company as a reference ID, we resolve it against the Account import to populate AccountId at migration time.
Thulium
Company
Salesforce Service Cloud
Account
1:1Thulium Companies map to Salesforce Account records. Company name becomes Account Name, address fields map to BillingAddress fields, website becomes Account Website, and custom field values map to corresponding custom fields. Account is created before any Contact import so that the AccountId lookup is satisfied at the moment of Contact insert. Thulium's Company ID is stored in a custom field thulium_company_id__c for traceability.
Thulium
Custom Fields
Salesforce Service Cloud
Custom Fields
lossyThulium supports nine custom field types (text, large text, email, numeric, link, list, yes/no, date) across Cases, Contacts, and Companies. We build a field-mapping table per object during scoping that maps each Thulium type to the nearest Salesforce field type (e.g., Thulium list maps to Salesforce Picklist with a value-mapping table; Thulium yes/no maps to Salesforce Checkbox). Large text fields map to Long Text Area with appropriate length validation. This mapping step is required before any data loads and adds a scoping phase to the migration timeline.
Thulium
Agent
Salesforce Service Cloud
User
1:1Thulium Agents are the user accounts assigned to Cases and Companies. We map Agent records to Salesforce User by resolving the Agent's email address against the destination org's User table. Any Agent without a matching Salesforce User goes to a reconciliation queue for the customer's admin to provision before Case import begins, because Case.OwnerId requires a valid User ID. Role and profile assignments from Thulium are documented as a configuration recommendation for the Salesforce admin.
Thulium
Tag
Salesforce Service Cloud
Case Tag or Custom Field
1:1Thulium supports tagging Cases for categorization. Tags migrate to Salesforce as either a custom multi-select picklist field on Case (if the customer chooses to consolidate tags into a structured field) or as TopicAssignment records (if the org uses Salesforce Topics for case classification). We apply a value-mapping table for any naming differences and preserve the full tag vocabulary from Thulium.
Thulium
Attachment
Salesforce Service Cloud
ContentDocument + ContentVersion
1:1Files attached to Cases or Contacts in Thulium are exported and re-uploaded to Salesforce as ContentVersion records linked via ContentDocumentLink to the parent Case or Contact. We preserve original filenames, file MIME types, and the attachment-to-record linkage. Large attachments (over 25 MB per Salesforce ContentVersion limit) are flagged during scoping and handed off to the customer for alternative storage (S3, SharePoint) with the link migrated as a URL custom field.
Thulium
SLA
Salesforce Service Cloud
Entitlement + Milestone
lossyThulium SLA configurations (response time, resolution time, business hours) do not migrate as Salesforce entitlement rules. We document the existing SLA terms from Thulium in a written configuration guide that the customer's admin uses to set up Salesforce Entitlements and Milestones post-migration. This includes mapping Thulium's SLA tiers to Salesforce Entitlement Processes scoped to the relevant Account or Contact.
Thulium
Report / Dashboard
Salesforce Service Cloud
Report + Dashboard
lossyThulium's built-in reporting exports as raw data only; the report configurations (chart types, filters, groupings, schedules) do not have a Salesforce equivalent export format. We deliver a written inventory of every Thulium report and dashboard with its configuration parameters so the customer's admin can rebuild them in Salesforce Reports and Dashboards. We do not migrate report configurations as code or deliver equivalent Salesforce report definitions within the migration scope.
| Thulium | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Case | Case1:1 | Fully supported | |
| Case.Conversation | EmailMessage + Task1:many | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Agent | User1:1 | Fully supported | |
| Tag | Case Tag or Custom Field1:1 | Fully supported | |
| Attachment | ContentDocument + ContentVersion1:1 | Fully supported | |
| SLA | Entitlement + Milestonelossy | Fully supported | |
| Report / Dashboard | Report + Dashboardlossy | 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.
Thulium gotchas
Custom field type mismatches require field-level mapping
Conversation history embedded in Cases requires flattening
Agent-to-Case linkage must be preserved explicitly
Salesforce Service Cloud gotchas
Data Export 512MB file size cap breaks large org exports
API Daily Request Limits vary by license edition
No automatic data backup in base Salesforce
Picklist dependencies silently break records when unmapped
Workflow rules fire unexpectedly during data load
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the Thulium account across Cases, Contacts, Companies, Custom Fields, Agents, Tags, Attachments, and conversation volume. We extract a representative sample of conversation threads to confirm the flattening scope and estimate the individual record count for email, chat, and voice sub-entries. We also inventory Thulium's workflow rules, SLA configurations, and custom field definitions. This output is a written migration scope document with record counts per object, custom field mapping requirements, and a flag for any Thulium-specific data patterns that require transformation logic.
Schema design and Salesforce configuration
We design the destination schema in Salesforce Service Cloud. This includes provisioning custom fields (matching Thulium's custom field types with Salesforce field types per the field-mapping table), configuring Case Status and Priority picklist values, setting up Entitlement Processes for SLA migration, creating Record Types if the customer uses multiple case categories, and provisioning the migration user's permissions (Modify All Data, Bulk API access). Schema is deployed to a Salesforce Sandbox first for validation before any production migration begins.
Conversation flattening and field-type transformation
We extract Case sub-objects (email entries, chat messages, voice call records) from Thulium's API and restructure them into individual Salesforce-compatible records. Email entries become EmailMessage records; voice interactions become Task records with TaskSubtype=Call and CallDurationInSeconds preserved; chat and internal notes become Task records. Each record receives its parent Case ID as WhatId. Concurrently, we apply the field-type mapping table to all custom fields across Cases, Contacts, and Companies, converting Thulium data types to validated Salesforce field types. List-type values are mapped via the value-mapping table.
Owner reconciliation and User provisioning
We extract every distinct Thulium Agent referenced on Cases, Contacts, and Companies and match by email against the destination Salesforce org's User table. Agents without a matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users (active or inactive based on whether the original Thulium Agent is still active) before the Case import phase. Migration cannot proceed past this step because Case.OwnerId requires a valid User ID and any null OwnerId at load time will cause a validation error.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volume. The customer's Service Cloud admin reconciles record counts (Cases in, Contacts in, Accounts in, EmailMessages in, Tasks in), spot-checks 25-50 random Cases against the Thulium source for field accuracy and conversation completeness, and validates that Agent assignments resolved correctly. Any mapping corrections or field-type adjustments happen here. The admin signs off the sandbox migration before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Thulium Companies), Contacts (with AccountId resolved), Users (validated from reconciliation step), Cases (with OwnerId resolved), conversation records (EmailMessage and Task via Salesforce Bulk API 2.0 with chunking and parent-record lookup resolution), Attachments (ContentVersion via Bulk API), Custom Fields (mapped during prior steps and loaded with each record), Tags (mapped to TopicAssignment or custom picklist). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and workflow handoff
We freeze writes in Thulium during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce Service Cloud as the system of record. We deliver the workflow, SLA, and automation inventory document to the customer's admin team with recommended Salesforce Flow and Entitlement equivalents. We support a one-week hypercare window where we resolve reconciliation issues raised by the support team. We do not rebuild Thulium workflows as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Thulium
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Thulium and Salesforce Service Cloud.
Object compatibility
1 of 7 objects need a manual workaround.
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
Thulium: Not publicly documented.
Data volume sensitivity
Thulium 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 Thulium to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Thulium to Salesforce Service Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Thulium
Other ways to arrive at Salesforce Service Cloud
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.