Helpdesk migration
Field-level mapping, validation, and rollback between Thulium and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
Thulium
Source
Zendesk
Destination
Compatibility
10 of 11
objects map 1:1 between Thulium and Zendesk.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Thulium to Zendesk means restructuring a CRM-integrated helpdesk into Zendesk's separate Support, Talk, and Explore products. Thulium stores email, chat, and voice interactions as sub-objects embedded within a Case; Zendesk represents these as Comments appended to a Ticket in chronological order. We extract and flatten Thulium's conversation chronology during the transform phase before loading. Custom fields require type mapping because Thulium supports nine distinct field types (text, large text, email, numeric, link, list, yes/no, date) while Zendesk's custom field API uses a different type taxonomy. Agent-to-Case assignments are stored as reference IDs in Thulium and must be resolved against Zendesk Users before ticket import. We do not migrate Thulium's automation rules, canned responses, or reporting dashboards; we deliver a written inventory of these for your admin team to rebuild in Zendesk Admin Center.
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.
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 Zendesk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Thulium
Case
Zendesk
Ticket
1:1Thulium Cases map directly to Zendesk Tickets. The Case subject becomes Ticket subject, Case status maps to Ticket status (new, open, pending, hold, solved, closed), and Case priority maps to Ticket priority (low, normal, high, urgent). Thulium's Case ID can be preserved in a custom field thulium_case_id__c for cross-reference after migration. The Ticket is created before any Comment import so that comment threading has a parent record.
Thulium
Conversation (embedded)
Zendesk
Ticket Comment
1:manyThulium stores email, chat, and voice interactions as sub-objects within a Case. We flatten these into Zendesk Ticket Comments during the transform phase, extracting each interaction in chronological order. The channel type (email, chat, voice) is preserved in a custom comment attribute or tag so the customer can filter by original channel. Internal notes in Thulium map to Zendesk private Comments (is_public = false). Public comments map to Zendesk public Comments.
Thulium
Contact
Zendesk
End User (User)
1:1Thulium CRM Contacts with name, email, phone, and custom fields map to Zendesk Users with role = end-user. The Thulium Contact email becomes the Zendesk User email and serves as the dedupe key during import. If the Contact email is blank, we use the contact name as a fallback identifier. Custom field values from Thulium migrate to Zendesk User custom fields if the destination field types are compatible.
Thulium
Company
Zendesk
Organization
1:1Thulium Companies map to Zendesk Organizations. The Company name becomes Organization name, and address data maps to Organization fields. We extract the Company from each Contact record and create the Organization before Contact import so that the Organization lookup is satisfied at import time. Contacts without a linked Company in Thulium create standalone Zendesk Users without an Organization assignment.
Thulium
Contact-to-Company link
Zendesk
User-to-Organization relationship
1:1Thulium links Contacts to Companies via a relationship table. Zendesk Links Users to Organizations via the organization_id field on the User record. We resolve each Contact's Company reference during scoping and populate organization_id on the corresponding Zendesk User at migration time. If the same Contact has multiple Company associations in Thulium, we assign the primary Company and flag the secondary associations for manual review.
Thulium
Custom Field (Thulium CRM)
Zendesk
User Custom Field
1:1Thulium CRM supports nine field types: text, large text, email, numeric, link, list, yes/no, and date. We apply type mapping when the destination Zendesk field uses a different type name or constraint. For example, Thulium list fields map to Zendesk tagger (dropdown) fields with explicit option value mapping. Thulium yes/no fields map to Zendesk checkbox (boolean) fields. Thulium link fields (URLs) map to Zendesk text fields with URL format validation. We build a field-mapping table during scoping before any import.
Thulium
Case Custom Field
Zendesk
Ticket Custom Field
1:1Custom fields applied to Thulium Cases map to Zendesk Ticket custom_fields entries using the same type-mapping logic as CRM custom fields. The Zendesk custom field must be pre-created in the target Zendesk instance before migration. We use the Zendesk API field ID (not the display name) as the target identifier. List-type values from Thulium migrate to Zendesk dropdown option IDs via a value-mapping table built during scoping.
Thulium
Agent
Zendesk
Agent (User with role = agent)
1:1Thulium Agents are the user accounts that can be assigned to Cases and Companies. We map Agent records to Zendesk Users with role = agent. Agent email is the dedupe key. Agent status (active/inactive) in Thulium maps to Zendesk User active field. The customer's Zendesk admin must provision the Agent accounts in Zendesk before migration; we reconcile any Agent references in Cases against the available Zendesk User list and flag unresolved assignees for manual provisioning.
Thulium
Agent-to-Case assignment
Zendesk
Ticket assignee_id
1:1Thulium assigns Agents to Cases via a reference ID stored on the Case. We resolve each reference ID against the Thulium Agent table to get the email address, then match that email to the corresponding Zendesk User at migration time. If Zendesk supports group-based routing and the customer uses Thulium's team structure, we map the Agent's team to a Zendesk Group and assign the Ticket to the Group rather than directly to the Agent.
Thulium
Tag
Zendesk
Tag
1:1Thulium Tags on Cases map to Zendesk Tags on Tickets. We build a value-mapping table during scoping for any naming differences between the two systems. Zendesk Tags are flat strings; Thulium Tags are also flat, so the mapping is direct. Tags used for channel identification (email, chat, voice) are preserved as separate tags during migration.
Thulium
Attachment
Zendesk
Ticket Attachment
1:1Files attached to Thulium Cases or Contacts are exported and re-uploaded to Zendesk Tickets via the Zendesk API. We preserve original filenames and map each attachment to the correct parent Ticket using the Thulium attachment-to-Case linkage. Attachments stored as inline images within conversation text are handled as separate ContentDocument records in Zendesk. Note: Zendesk has a 50MB attachment size limit per file.
| Thulium | Zendesk | Compatibility | |
|---|---|---|---|
| Case | Ticket1:1 | Fully supported | |
| Conversation (embedded) | Ticket Comment1:many | Fully supported | |
| Contact | End User (User)1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Contact-to-Company link | User-to-Organization relationship1:1 | Fully supported | |
| Custom Field (Thulium CRM) | User Custom Field1:1 | Fully supported | |
| Case Custom Field | Ticket Custom Field1:1 | Fully supported | |
| Agent | Agent (User with role = agent)1:1 | Fully supported | |
| Agent-to-Case assignment | Ticket assignee_id1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Ticket Attachment1:1 | 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
Zendesk gotchas
Data export requires API scripting on non-Enterprise plans
Automations cap at 500 active rules and 1,000 tickets per hour
Help Center has no native export feature
Custom Objects and full data export are Enterprise-only
Pair-specific challenges
Migration approach
Discovery and data audit
We audit the source Thulium account to establish record counts across Cases, Contacts, Companies, Agents, and embedded conversation interactions. We identify all custom field schemas (field name, type, applicable object), active tags, and any Thulium channel configurations (voice, chat, email). We assess data quality by sampling for blank required fields, duplicate records, and orphaned relationships. The discovery output is a written migration scope with a custom field mapping table draft and a Zendesk edition recommendation based on volume (Suite Team at $19/agent/mo for straightforward migrations; Suite Professional at $55/agent/mo for SLA management; Suite Enterprise at $115/agent/mo for sandbox and advanced AI).
Destination schema setup
We work with the customer's Zendesk admin to pre-create the target schema in Zendesk Admin Center. This includes creating all custom fields for Tickets and Users with correct type selections (text, dropdown, checkbox, date, etc.), configuring ticket fields and forms, setting up Groups to mirror Thulium's team structure, and creating any required Organization fields. The Thulium list-type field values are mapped to Zendesk dropdown option values during this phase. The Zendesk admin must complete this setup before we begin data migration.
Conversation flattening and data transformation
We extract all Thulium Cases and their embedded Conversation sub-objects (email, chat, voice interactions) into an intermediate staging format. Each interaction is assigned a sequence number based on its timestamp to preserve chronological order. Internal notes are flagged as private Comments; external messages are flagged as public Comments. We resolve Agent reference IDs against the Thulium Agent table to map to Zendesk User emails. We flatten the conversation chronology into a linear comment array per Case. This transform step produces a migration-ready dataset where each Case is represented as a Ticket with an ordered comment list.
Contact and Company migration first
We run migration in dependency order: Organizations (from Thulium Companies) are created first, then Users (from Thulium Contacts) with organization_id resolved, then Agents provisioned by the admin are verified. This ordering ensures that when Tickets are created, the requester (User) and assignee (Agent) references are valid Zendesk records. Any Thulium Contacts without an email address are flagged for the customer's review; Zendesk requires an email for User creation.
Ticket migration with comment threading
We create Zendesk Tickets from Thulium Cases using the Zendesk API. Each Ticket is created with subject, status, priority, requester_id, assignee_id (or group_id), and any ticket custom field values. After each Ticket is created, we append Comments in chronological order using the flattened conversation data. The channel type for each interaction is preserved as a tag on the Comment. Attachments are uploaded via the Zendesk attachments API and linked to the correct Ticket. Tags from Thulium migrate as Zendesk Tags on each Ticket.
Validation and reconciliation
We reconcile record counts between Thulium source and Zendesk destination: Cases in, Tickets out; Contacts in, Users out; Companies in, Organizations out. We spot-check a sample of 25-50 Tickets against the Thulium source to verify comment chronology, attachment presence, assignee accuracy, and custom field values. We deliver a written automation inventory of every Thulium workflow, rule, or canned response that requires rebuild in Zendesk Admin Center or Zendesk Guide.
Cutover and handoff
We freeze Thulium write access during cutover, run a final delta migration of any Cases modified during the migration window, and hand off to the customer's admin to update DNS, email forwarding rules, and any active integrations (phone systems, chat widgets) to point to the new Zendesk instance. We deliver the automation inventory document. We do not rebuild Thulium automations in Zendesk; that work is a separate engagement for the customer's admin or a Zendesk implementation partner.
Platform deep dives
Thulium
Source
Strengths
Weaknesses
Zendesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Thulium and Zendesk.
Object compatibility
2 of 7 objects need a mapping; the rest are 1:1.
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 Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your Thulium to Zendesk 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 Zendesk
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.