Helpdesk migration

Migrate from Thulium to Salesforce Service Cloud

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 logo

Thulium

Source

Salesforce Service Cloud

Destination

Salesforce Service Cloud logo

Compatibility

60%

6 of 10

objects map 1:1 between Thulium and Salesforce Service Cloud.

Complexity

CModerate

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Thulium logo

Thulium

What's pushing teams away

  • Limited platform recognition outside Europe makes it harder to find Thulium-experienced consultants or replacement talent compared to global brands like Zendesk.
  • Smaller ecosystem of third-party integrations compared to larger helpdesk platforms limits connectivity to niche business tools.
  • Lack of publicly documented API rate limits and bulk export endpoints makes programmatic data extraction uncertain for technical teams.
  • Teams requiring advanced AI features may outgrow Thulium's capabilities as customer service expectations escalate with generative AI adoption.

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 Thulium objects map to Salesforce Service Cloud

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

maps to

Salesforce Service Cloud

Case

1:1
Fully supported

Thulium 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

maps to

Salesforce Service Cloud

EmailMessage + Task

1:many
Fully supported

Thulium 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

maps to

Salesforce Service Cloud

Contact

1:1
Fully supported

Thulium 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

maps to

Salesforce Service Cloud

Account

1:1
Fully supported

Thulium 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

maps to

Salesforce Service Cloud

Custom Fields

lossy
Mapping required

Thulium 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

maps to

Salesforce Service Cloud

User

1:1
Fully supported

Thulium 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

maps to

Salesforce Service Cloud

Case Tag or Custom Field

1:1
Fully supported

Thulium 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

maps to

Salesforce Service Cloud

ContentDocument + ContentVersion

1:1
Fully supported

Files 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

maps to

Salesforce Service Cloud

Entitlement + Milestone

lossy
Fully supported

Thulium 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

maps to

Salesforce Service Cloud

Report + Dashboard

lossy
Fully supported

Thulium'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.

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.

Thulium logo

Thulium gotchas

Medium

Custom field type mismatches require field-level mapping

Low

Conversation history embedded in Cases requires flattening

Low

Agent-to-Case linkage must be preserved explicitly

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

  • Thulium conversation flattening requires restructuring before import

    Thulium stores email, chat, and voice interactions as sub-objects within a Case rather than as standalone records. Salesforce Case does not natively support embedded sub-records; each interaction must exist as a separate EmailMessage, Task, or Event linked to the Case via WhatId. We extract each conversation entry during the Thulium API export, restructure the data into individual records with the correct Salesforce object type, and assign the parent Case ID before loading. Skipping this step results in conversation threads being loaded as a single long-text blob rather than a readable timeline in the Salesforce Case UI.

  • Custom field type mismatches require per-field mapping before load

    Thulium supports nine custom field types (text, large text, email, numeric, link, list, yes/no, date) across Cases, Contacts, and Companies. Salesforce uses different type names and imposes different constraints (e.g., numeric precision, text area character limits, picklist value whitelist). We build a field-mapping table per object during scoping that assigns a Salesforce field type and validation rule to each Thulium custom field. For list-type fields, we also map each individual list value to a Salesforce picklist value. This mapping step is required before import and adds a scoping phase to the migration timeline.

  • Agent-to-Case linkage requires User lookup resolution

    Thulium assigns Agents to Cases using a reference ID rather than a flattened user identifier. During migration we resolve each Agent reference by matching the Agent's email against the destination Salesforce org's User table to populate Case.OwnerId. If a Thulium Agent has no corresponding Salesforce User at migration time, the Case is flagged in a reconciliation queue rather than loaded with a null OwnerId. This queue must be resolved before the Case import phase completes, requiring the customer's Salesforce admin to provision missing users in advance.

  • Salesforce field-level security and validation rules can reject imported records

    Salesforce orgs commonly enforce validation rules (required formats, conditional required fields, picklist whitelists) and field-level security that the migrating user must explicitly bypass during data load. We coordinate with the customer's Salesforce admin to grant the migration user Modify All Data and Bulk API permissions, and we either temporarily disable blocking validation rules during load or extend them with a migration-context bypass check. Skipping this step results in record rejection rates of 5-30 percent on first import attempt, requiring rework and extending the migration timeline.

  • Thulium workflow rules, SLA configs, and automations do not migrate

    Thulium's workflow rules, SLA configurations, and automation triggers are platform-specific constructs that do not have a direct Salesforce equivalent. We do not migrate them as code. We deliver a written inventory of every active Thulium workflow, SLA rule, and automation with its trigger, conditions, actions, and recommended Salesforce Flow or Entitlement equivalent. The customer's admin rebuilds these in Salesforce post-migration. Reports and dashboards similarly do not migrate; we provide a report and dashboard inventory document for the admin to reference during rebuild.

Migration approach

Six steps for a successful Thulium to Salesforce Service Cloud data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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

Context on both ends of the pair

Thulium logo

Thulium

Source

Strengths

  • Unified inbox consolidating calls, emails, and live chat into a single queue for support agents.
  • CRM built into the same platform for contact and company management alongside ticket handling.
  • Cloud-hosted SaaS delivery eliminates infrastructure management for customer service teams.
  • Custom field flexibility across multiple data types supports varied business-specific data capture.

Weaknesses

  • Smaller third-party integration ecosystem compared to global helpdesk competitors like Zendesk.
  • Limited public API documentation makes automated data extraction less predictable for migrations.
  • Platform is primarily recognized in European markets, reducing available implementation and migration expertise.
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?

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

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Thulium 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

    Thulium: Not publicly documented.

  • Data volume sensitivity

    B

    Thulium doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Thulium 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 Thulium to Salesforce Service Cloud data migrations

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

Can't find your answer?

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 consultation

Most migrations land between four and six weeks for accounts under 20,000 Cases, 10,000 Contacts, and 2,000 Companies with no complex custom field structures. Migrations with large conversation histories (over 500,000 individual email, chat, or voice entries), multiple custom field types requiring type-mapping tables, or multi-assignee Case structures requiring multiplicity resolution move to ten to fourteen weeks because of the conversation flattening scope, per-field type mapping work, and Salesforce Bulk API chunking for activity timelines.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Thulium.
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