Helpdesk migration
Field-level mapping, validation, and rollback between ThinkOwl and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
ThinkOwl
Source
Salesforce Service Cloud
Destination
Compatibility
6 of 11
objects map 1:1 between ThinkOwl and Salesforce Service Cloud.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from ThinkOwl to Salesforce Service Cloud is a case-centric migration with two compounding challenges: ThinkOwl's cf-prefixed custom field naming convention and the absence of any exportable workflow definition. ThinkOwl structures every customer interaction as a Case with embedded customer references and threaded conversation modules; Salesforce Service Cloud mirrors this with its own Case object linked to Contacts and Accounts, but the field type system, picklist constraints, and SLA engine are structurally different. We extract Contact records and Company associations first, create the corresponding Salesforce Account and Contact records, then migrate open Cases with full conversation history, time entries, and attachments. Draft replies are imported as internal Case notes with an [ORIGINAL_DRAFT] prefix to preserve agent work-in-progress without creating duplicate active tickets. Workflows, Business Process definitions, and ThinkOwl Conversations module JSON do not migrate; we deliver a written specification of every active automation and routing rule so the customer's admin can rebuild them in Salesforce Flow and Omni-Channel routing.
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
ThinkOwl platform overview
Scorecard, SWOT, gotchas, and pricing for ThinkOwl.
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 ThinkOwl 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.
ThinkOwl
Contact
Salesforce Service Cloud
Contact + Account
1:manyThinkOwl embeds customer data within Cases via the embed=customer parameter, returning a Contact record with name, email, phone, and company reference. We extract these Contact records first, map the ThinkOwl company association to a Salesforce Account, create the Account, then create the Contact with the AccountId lookup resolved. If multiple ThinkOwl Cases share the same customer email, we deduplicate into a single Salesforce Contact. Custom contact properties migrate to Salesforce custom Contact fields using the cf-prefix mapping table.
ThinkOwl
Company
Salesforce Service Cloud
Account
1:1ThinkOwl companies associated with extracted Contacts map to Salesforce Account. The company name becomes Account Name, and the domain or website becomes the Account Website field used as the dedupe key. Account is created before any Contact import so the AccountId lookup is satisfied at the moment of Contact insert.
ThinkOwl
Case
Salesforce Service Cloud
Case
1:1ThinkOwl Cases map directly to Salesforce Case records. The ThinkOwl Case ID is preserved in a custom field thinkowl_case_id__c for audit traceability. Case Status maps from ThinkOwl's status field (Open, In Progress, Pending, Resolved, Closed) to Salesforce Status values that the customer's admin configures during SLA setup. Priority, Origin (email, chat, voice, WhatsApp, social), and SLA breach flags transfer to equivalent Salesforce Case fields.
ThinkOwl
Conversation (Modules)
Salesforce Service Cloud
Case Conversations
1:1ThinkOwl Cases contain threaded conversations across multiple channels stored as Modules. We extract every message in the thread with its timestamp, author, channel, and direction (customer-facing or agent internal). Messages migrate as Salesforce CaseComment records for public-facing entries and InternalNote records for agent-only notes. The conversation sequence order is preserved by sorting on the original timestamp.
ThinkOwl
Draft
Salesforce Service Cloud
Case (Internal Note)
lossyThinkOwl maintains a separate Drafts object for unsent replies. Migrating Drafts as open Cases creates noise and can trigger auto-escalation rules. We import draft content as internal Case notes prefixed with [ORIGINAL_DRAFT], preserving the work-in-progress text for agent review without creating duplicate active tickets. The customer decides during scoping whether to migrate all drafts or only those created within a defined window.
ThinkOwl
Time Entry
Salesforce Service Cloud
Case Time Tracking (custom)
1:1ThinkOwl time entries attached to Cases record which agent logged time, duration, and optional description. Salesforce Service Cloud does not have a native time tracking standard object at all tiers, so we map time entries to a custom TimeEntry__c object with a Lookup to Case, a Lookup to User (agent), a Duration field in minutes, and a Description field. The admin configures this custom object in the destination org before migration begins.
ThinkOwl
Attachment
Salesforce Service Cloud
ContentDocument (via Case)
1:1ThinkOwl stores files via its Fileee module and associates them with Cases by filename reference. We export attachments from ThinkOwl's file storage, re-associate them by filename during import, and create Salesforce ContentDocumentLink records linking the file to the parent Case. File size limits (up to 25 MB per Salesforce file) and MIME-type restrictions are validated during export; any file exceeding the limit is flagged for the customer to handle separately.
ThinkOwl
Agent / User
Salesforce Service Cloud
User
1:1ThinkOwl agent records include name, email, role, and team assignment. We map agent identities to Salesforce User records by email match. Any ThinkOwl agent without a corresponding Salesforce User is held in a reconciliation queue for the customer's admin to provision before record import resumes. Inactive or archived ThinkOwl agents map to inactive Salesforce Users with the migration user flag set so historical assignments are preserved without generating notifications.
ThinkOwl
Team
Salesforce Service Cloud
Queue
lossyThinkOwl teams group agents and define routing rules. We preserve team structures as Salesforce Queues (for case distribution) and map team membership to QueueMembership. Routing rule logic—which team receives which case type or priority—is documented in the written automation specification for rebuild in Salesforce Omni-Channel routing or Flow. Teams without a direct Salesforce equivalent are mapped to the closest Queue or Group based on use case.
ThinkOwl
Tag
Salesforce Service Cloud
Case Tags or Custom Field
lossyTags applied to ThinkOwl Cases are exported as flat label strings. We migrate tags as-is and map them to a Salesforce Case custom multi-select picklist or to the Case Tag feature if the destination org has it enabled. No semantic translation is applied; tag names are preserved verbatim and the customer chooses the tagging strategy during scoping.
ThinkOwl
Business Hours
Salesforce Service Cloud
Business Hours
lossyThinkOwl's Business Hours API defines support operating windows used for SLA calculations. We migrate business-hours configurations as structured records. The destination's SLA engine must be reviewed post-migration because Salesforce SLA calculations are tied to Business Hours assignment on the Case and Entitlement records. The written handoff document maps each ThinkOwl business-hours rule to its Salesforce equivalent.
| ThinkOwl | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Contact | Contact + Account1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Case | Case1:1 | Fully supported | |
| Conversation (Modules) | Case Conversations1:1 | Fully supported | |
| Draft | Case (Internal Note)lossy | Fully supported | |
| Time Entry | Case Time Tracking (custom)1:1 | Fully supported | |
| Attachment | ContentDocument (via Case)1:1 | Fully supported | |
| Agent / User | User1:1 | Fully supported | |
| Team | Queuelossy | Fully supported | |
| Tag | Case Tags or Custom Fieldlossy | Fully supported | |
| Business Hours | Business Hourslossy | Mapping required |
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.
ThinkOwl gotchas
API rate limits differ by plan tier
Workflow automation is not exportable
Custom fields use opaque cf-prefix codes
Draft records require manual disposition
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 source audit
We audit the ThinkOwl portal across plan tier (Professional/Enterprise/Enterprise plus), active Case count, custom field inventory (with cf-prefix codes and their display labels), agent and team roster, open versus closed case ratio, attachment volume and size distribution, and active Business Process definitions. We extract sample records via the ThinkOwl REST API to validate field completeness and identify records with missing required destination fields. The discovery output is a written migration scope document covering record counts, custom field mapping table, and a flag for any ThinkOwl-specific objects (Conversations JSON, Drafts, Business Hours) requiring pair-specific handling.
Salesforce destination configuration
We configure the Salesforce destination org before any data moves: we create the custom TimeEntry__c object (with User and Case lookups), add custom fields for cf-prefixed ThinkOwl fields mapped to typed Salesforce fields, configure Case Status values and Business Hours, and set up Queues for ThinkOwl team equivalents. Salesforce validation rules and triggers are audited and temporarily disabled for the migration user. All configuration is deployed to a Salesforce Sandbox first for validation by the customer's admin.
Contact and account pre-load
We extract ThinkOwl Contact records (referenced via embed=customer in Case payloads) and Company records as the first data phase. Each Contact is deduplicated by email, the associated Company becomes a Salesforce Account, and the Contact is created with AccountId resolved. This phase establishes the parent record integrity required by Salesforce before any Case with a customer reference can be created. We run a row-count reconciliation against the extracted contact total and spot-check 20-30 records against the ThinkOwl source before proceeding.
Open cases with conversation history
We migrate open and recently closed Cases in the second phase. Each Case is created with the customer Contact resolved (via email match to the pre-loaded Contact records), the assigned agent resolved to a Salesforce User, status mapped to the destination Status values, and the full conversation thread decomposed into CaseComment and InternalNote records in timestamp order. Time entries are created as TimeEntry__c child records linked to the parent Case. Attachments are re-associated by filename reference to ContentDocumentLink records on the parent Case.
Closed cases and delta migration
Historical closed Cases are migrated in the third phase, following the same field mapping and attachment re-association process. After all bulk loads complete, we freeze ThinkOwl write access during a defined cutover window, extract any Cases modified or created during the migration period (delta migration), and import them as a final batch. We validate record counts (Cases in, Cases linked to Contacts, Cases with attachments) against the ThinkOwl source export totals.
Cutover, validation, and automation handoff
We enable Salesforce as the system of record and disable ThinkOwl access for the migration team. We deliver the written automation inventory (routing rules, SLA triggers, escalation paths, Business Hours mappings) and the written workflow rebuild guide to the customer's admin team. We support a one-week hypercare window where we resolve any record linkage issues, missing attachment references, or field mismatches raised by the support team. We do not rebuild ThinkOwl automations as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
ThinkOwl
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 ThinkOwl 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
ThinkOwl: 500 req/min (Professional), 700 req/min (Enterprise), 850 req/min (Enterprise plus). Limits enforced per organization..
Data volume sensitivity
ThinkOwl 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 ThinkOwl to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your ThinkOwl 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 ThinkOwl
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.