Helpdesk migration
Field-level mapping, validation, and rollback between Teamwork Desk and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Teamwork Desk
Source
Salesforce Service Cloud
Destination
Compatibility
7 of 11
objects map 1:1 between Teamwork Desk and Salesforce Service Cloud.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from Teamwork Desk to Salesforce Service Cloud is a model translation, not a straight record copy. Teamwork Desk uses a flat Customer object for all contacts; Salesforce separates end users into Contacts linked to Accounts for a full CRM context. We resolve that mapping during scoping, create the Account records first, then attach Contacts with the original Customer data preserved. Ticket threads migrate as Case Comments and EmailMessages against the Case, and agent assignments resolve by email match against Salesforce Users. Custom fields from Teamwork Desk Premium and Enterprise tiers are enumerated during discovery and mapped to Salesforce custom fields or custom objects before any load. Triggers, Business Hours, and Reports do not migrate as data; we deliver a written inventory of every automation and report requiring rebuild in Salesforce Flow and Reports. Teamwork's 120 req/min API rate limit governs export pacing, and spam-marked tickets are excluded from the migration per Teamwork Desk's native export behavior.
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
Teamwork Desk platform overview
Scorecard, SWOT, gotchas, and pricing for Teamwork Desk.
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 Teamwork Desk 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.
Teamwork Desk
Customer
Salesforce Service Cloud
Account + Contact (split required)
1:manyTeamwork Desk Customers blend person and organization into a flat record with a company_name field. We split this during migration: the organization component becomes a Salesforce Account record, and the person component becomes a Contact record linked to that Account via AccountId. Email addresses determine deduplication across both objects. The original company_name and all custom fields (Premium/Enterprise) map to equivalent Account or Contact custom fields. If a Teamwork Desk Customer has no company_name, the record becomes a Contact with no Account association.
Teamwork Desk
Ticket
Salesforce Service Cloud
Case
1:1Teamwork Desk Tickets map directly to Salesforce Case. Ticket status (Open, Pending, Resolved, Closed) maps to Salesforce Case Status with a custom status value set scoped to a Teamwork migration Record Type. Priority maps to Case Priority. Assignee resolves via email match to Salesforce User on Case OwnerId. Thread replies migrate as EmailMessage records (external-facing) and CaseComments (internal notes flagged as such in Teamwork). Original Teamwork ticket ID is preserved in a custom field tw_ticket_id__c for audit and cross-reference.
Teamwork Desk
Agent
Salesforce Service Cloud
User
1:1Teamwork Desk Agents map to Salesforce Users by email match. We resolve Agent.email against the destination org's User table during scoping. Active Agents with no matching Salesforce User enter a reconciliation queue; the customer's admin provisions the User before production migration. Agent role (Admin, Agent) maps to Salesforce Profile assignment. Agent inbox assignments do not migrate as queue memberships; we document the routing logic for Omni-Channel Skills-Based Routing configuration post-migration.
Teamwork Desk
Inbox
Salesforce Service Cloud
Omni-Channel Routing + Service Channel
lossyTeamwork Desk Inboxes route incoming email and forwarding rules to agents. We do not migrate Inboxes as data records because Salesforce uses Omni-Channel with Service Channels, Skills, and Presence configurations instead. During discovery we document every Inbox's channel type (email address, forwarding), routing behavior, and associated agents. The customer uses that documentation to configure Omni-Channel Routing in Salesforce after migration.
Teamwork Desk
Tags
Salesforce Service Cloud
Case Tags or Custom Picklist Field
lossyTeamwork Desk Tags on Tickets are a freeform vocabulary. We export all distinct tag values and present two options: recreate as Salesforce native Case Tags (if the org has this feature enabled) or map to a multi-select picklist custom field tw_tags__c on Case. The customer chooses during scoping. Tag-to-Case associations migrate as tag-string entries in the chosen destination field.
Teamwork Desk
Helpdocs (Knowledge Base Articles)
Salesforce Service Cloud
Knowledge Article
1:1Teamwork Desk Helpdocs map to Salesforce Knowledge Articles (ArticleType: Troubleshooting_Article or a custom Article Type depending on content). Article Title, Body (rich text), Status (Draft, Published), and Author migrate. Category hierarchy from Teamwork maps to Salesforce Data Category Groups, which we set up before article import. Attachments on Helpdocs migrate as ContentDocument records linked to the Article via ContentDocumentLink. Publication date from Teamwork migrates as a custom field; Salesforce Knowledge sets CreatedDate to the import timestamp by default.
Teamwork Desk
Categories
Salesforce Service Cloud
Data Category Group
lossyTeamwork Desk Category hierarchy (top-level and sub-categories) maps to Salesforce Knowledge Data Category Groups. We preserve the hierarchy as a two-level data category structure in Salesforce. If Teamwork has more than two levels, additional sub-categories flatten to a single child level in Salesforce; the remainder is documented as a gap for admin review.
Teamwork Desk
Custom Fields (Premium/Enterprise)
Salesforce Service Cloud
Custom Field or Custom Object
1:1Teamwork Desk custom fields (dropdown, text, date, number) on Tickets and Customers are available only on Premium ($36.75/user) and Enterprise plans. During scoping we enumerate every custom field, its type, and the objects it applies to. Each custom field is created as a typed custom field on the equivalent Salesforce object (Case or Contact/Account) before migration. Custom field values migrate as field data, not as configuration.
Teamwork Desk
Customer Happiness Ratings (CSAT)
Salesforce Service Cloud
Custom Rating Field on Case
1:1CSAT ratings on Teamwork Desk Tickets (Premium tier feature) have no native Salesforce equivalent on Case. We migrate the rating value as a custom numeric field csat_rating__c on Case and the submission timestamp as csat_submitted_date__c. If Teamwork stores a satisfaction label (Satisfied, Neutral, Dissatisfied), we map it to a custom picklist field csat_label__c.
Teamwork Desk
Attachments
Salesforce Service Cloud
ContentDocument + ContentVersion
1:1File attachments on Teamwork Desk Tickets and Helpdocs are referenced by URL in the API. We download each attachment to local storage, then upload to Salesforce as ContentVersion, creating a ContentDocumentLink to the parent Case or Knowledge Article. We respect Salesforce file size limits (25 MB per ContentVersion for standard uploads) and flag any file exceeding the limit for manual handling.
Teamwork Desk
Time Tracking (Pro tier and above)
Salesforce Service Cloud
Custom Time Entry Object or Custom Fields on Case
1:1Teamwork Desk time entries on Tickets (Pro tier, $18.75/user) are logged time against tickets. We export time entries as a structured record set with Ticket ID, Agent, duration, billable flag, and date. Since Salesforce Case does not natively store time entries, we create a custom object Time_Entry__c with lookup to Case, or map to custom fields on Case (total_time_spent__c, billable_time__c) depending on the customer's reporting needs. The customer chooses during scoping.
| Teamwork Desk | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Customer | Account + Contact (split required)1:many | Fully supported | |
| Ticket | Case1:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Inbox | Omni-Channel Routing + Service Channellossy | Fully supported | |
| Tags | Case Tags or Custom Picklist Fieldlossy | Fully supported | |
| Helpdocs (Knowledge Base Articles) | Knowledge Article1:1 | Fully supported | |
| Categories | Data Category Grouplossy | Mapping required | |
| Custom Fields (Premium/Enterprise) | Custom Field or Custom Object1:1 | Mapping required | |
| Customer Happiness Ratings (CSAT) | Custom Rating Field on Case1:1 | Fully supported | |
| Attachments | ContentDocument + ContentVersion1:1 | Mapping required | |
| Time Tracking (Pro tier and above) | Custom Time Entry Object or Custom Fields on Case1:1 | 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.
Teamwork Desk gotchas
Spam tickets are silently excluded from Teamwork customer exports
Custom fields gated behind Premium and Enterprise tiers
API rate limit of 120 requests per minute constrains bulk export speed
Helpdesk Migration Service charges fees separate from Teamwork subscription
Triggers and business hours do not migrate as data
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 tier verification
We audit the Teamwork Desk account: plan tier (Starter/Pro/Premium/Enterprise), inbox count, agent count, ticket volume, Helpdocs article count, active Triggers, and any custom fields visible under the current plan. We also identify the destination Salesforce edition (Service Cloud Starter at $25/user, Professional, or Enterprise) and whether the org already has Salesforce Knowledge enabled. The discovery output is a written migration scope with object inventory, mapping rules, and a Salesforce edition recommendation.
Schema preparation and Salesforce setup
We create the Salesforce destination schema before any data loads. This includes provisioning custom fields on Case, Contact, and Account (with types matched to Teamwork field types), custom objects for time entries if selected, Data Category Groups for Knowledge hierarchy, Service Channel configuration for Omni-Channel, and Case Record Types scoped to the Teamwork migration. Schema deploys to a Salesforce Sandbox first for validation, then to production.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-equivalent data volume. The customer's support operations lead reconciles record counts (Cases in, Contacts in, Accounts in, Articles in, Time Entries in), spot-checks 25-50 records against the Teamwork Desk source, and signs off the mapping before production migration begins. Any field type corrections, category mapping gaps, or custom field additions happen here.
Agent-to-User reconciliation
We extract every distinct Teamwork Desk Agent email referenced on Tickets and map them against the Salesforce destination org's User table. Agents without a matching User enter a reconciliation queue. The customer's Salesforce admin provisions any missing Users (active or inactive depending on whether the original Teamwork Agent is still employed). Migration cannot proceed past User provisioning because Case OwnerId requires a valid Salesforce User reference.
Production migration in dependency order
We run production migration in dependency order: Accounts (from Teamwork Desk company_name), Contacts (with AccountId resolved), Cases (with OwnerId resolved, thread replies as EmailMessages), Time Entries (if applicable), Knowledge Articles (with Data Category assignments), and Attachments (via ContentVersion). Teamwork's 120 req/min API rate limit governs export pacing; we use X-Rate-Limit-Remaining and X-Rate-Limit-Reset headers to pace dynamically. Each phase emits a row-count reconciliation report before the next begins.
Cutover, validation, and handoff documentation
We freeze Teamwork Desk writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Salesforce Service Cloud as the system of record. We deliver the Trigger inventory and Business Hours rebuild guide to the customer's admin team. We support a one-week hypercare window where we resolve reconciliation issues. We do not configure Omni-Channel Routing, rebuild Triggers as Flow, or rebuild Reports inside the migration scope; those are separate configuration deliverables.
Platform deep dives
Teamwork Desk
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 Teamwork Desk 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
Teamwork Desk: 120 requests per minute per org, returning X-Rate-Limit headers on every response.
Data volume sensitivity
Teamwork Desk 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 Teamwork Desk to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Teamwork Desk 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 Teamwork Desk
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.