Helpdesk migration
Field-level mapping, validation, and rollback between Freshdesk and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.
Freshdesk
Source
Salesforce Service Cloud
Destination
Compatibility
10 of 12
objects map 1:1 between Freshdesk and Salesforce Service Cloud.
Complexity
BStandard
Timeline
3-5 weeks
Try the reverse
Overview
Moving from Freshdesk to Salesforce Service Cloud is a schema redesign, not a record copy. Freshdesk models support around a ticket-first paradigm with agents, requesters, and companies; Salesforce Service Cloud models service around Cases attached to Accounts and Contacts in a CRM hierarchy. We resolve the ticket-to-case transformation, preserve conversation threads as EmailMessage records, and maintain the Freshdesk company-to-Account lookup chain throughout. SLA policies, products, satisfaction ratings, and time entries migrate as typed Salesforce fields. Freshdesk automations and macros do not migrate as code; we deliver a written inventory of every Freshdesk automation requiring rebuild in Salesforce Flow. Knowledge base articles transfer with folder structure intact, and we normalize non-standard channel sources (phone, Facebook, tweet, forwarded email) to Salesforce Case Origin values during transformation.
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
Freshdesk platform overview
Scorecard, SWOT, gotchas, and pricing for Freshdesk.
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.
Source platform guide
Freshdesk migration guide
Understand the data you're exporting from Freshdesk before mapping it.
Destination checklist
Salesforce Service Cloud migration checklist
Pre- and post-cutover tasks for moving onto Salesforce Service Cloud.
Source checklist
Freshdesk migration checklist
Exit checklist for unwinding your Freshdesk setup cleanly.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Freshdesk 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.
Freshdesk
Ticket
Salesforce Service Cloud
Case
1:1Freshdesk Tickets map directly to Salesforce Cases. We transform Freshdesk status (Open, Pending, Resolved, Closed) to Salesforce Status (New, Working, Escalated, Closed), and priority maps to Case Priority with a custom field fd_original_priority__c preserving the source value. The Freshdesk agent assignment resolves to Salesforce Case OwnerId via User email lookup. Non-standard channel sources (phone, Facebook, tweet, survey feedback) are normalized to Salesforce Case Origin values during transformation with the original channel name stored in a custom fd_channel_source__c field.
Freshdesk
Conversation (Replies and Notes)
Salesforce Service Cloud
EmailMessage
1:1Freshdesk ticket conversations (incoming emails, public replies, private notes) map to Salesforce EmailMessage records linked to the Case. We separate public conversations from private notes: public threads become EmailMessage with IsIncoming=false for agent replies and IsIncoming=true for customer messages; private notes map to a custom fd_private_note__c field on the Case to preserve audit context without creating a separate EmailMessage record. Attachments migrate as ContentDocument records linked via ContentDocumentLink.
Freshdesk
Contact (Requester)
Salesforce Service Cloud
Contact
1:1Freshdesk Contacts (requesters) map to Salesforce Contact. We resolve the parent Account via Freshdesk company_id and link Contact.AccountId before insert. Custom contact fields from Freshdesk Admin > Support Operations > Customer Fields create matching Salesforce custom fields on Contact. Email uniqueness is enforced as the dedupe key; contacts with duplicate emails receive a fd_original_id__c suffix for manual reconciliation.
Freshdesk
Company
Salesforce Service Cloud
Account
1:1Freshdesk Companies map to Salesforce Account. The company domain becomes the Account Website field and is used as the dedupe key during import. Freshdesk company custom fields map to Salesforce Account custom fields. We create Account records before Contact import so that Contact.AccountId references are satisfied at insert time.
Freshdesk
Agent
Salesforce Service Cloud
User
1:1Freshdesk Agents map to Salesforce User records by email match. We extract every distinct agent referenced on Tickets and Conversations and match against the destination Salesforce org's User table. Agents without a matching User go to a reconciliation queue for the customer admin to provision before migration resumes. Agents who are also ticket requesters are flagged to prevent circular ownership references.
Freshdesk
Product
Salesforce Service Cloud
Product2
1:1Freshdesk Products associated with tickets migrate as Salesforce Product2 records with a custom fd_product_id__c field preserving the Freshdesk product reference. Product-to-ticket associations transfer as a custom multi-select picklist fd_associated_products__c on the Case. Standard Pricebook entries are created during migration if the customer uses Opportunity-based selling in Salesforce.
Freshdesk
SLA Policy
Salesforce Service Cloud
Entitlement Process + Milestone
lossyFreshdesk SLA policies (available on Pro and Enterprise) map to Salesforce Entitlement Processes and Milestones tied to Entitlement records on the Account. First Response and Resolution Hours from Freshdesk become Entitlement Milestone business hours and urgency thresholds. We audit every Freshdesk SLA policy definition during scoping and map them to Salesforce equivalents or flag policy gaps in the destination.
Freshdesk
Satisfaction Rating
Salesforce Service Cloud
Case Custom Field (CSAT Score)
1:1Freshdesk post-resolution satisfaction ratings (satisfied/dissatisfied with optional comment) migrate to a custom Case field fd_satisfaction_rating__c storing score and comment. CSAT history is preserved for reporting in Salesforce. We do not migrate Freddy AI-assisted resolution scores unless they are stored as explicit satisfaction ratings in Freshdesk.
Freshdesk
Time Entry
Salesforce Service Cloud
Case Custom Field or Asset
1:1Billable and non-billable time entries from Freshdesk migrate to a custom Case field fd_time_entries__c storing a JSON array of duration, note, and billable flag. If the customer uses Salesforce Field Service or a time-tracking integration, we map time entries to the appropriate time-tracking object during scoping. We flag the chosen strategy before migration begins.
Freshdesk
Tag
Salesforce Service Cloud
Case Topic or Multi-Select Picklist
lossyFreshdesk tags are cross-object labels applied to tickets. We migrate tags as Salesforce Topics with TopicAssignment records linked to Cases, or as a custom multi-select picklist fd_tags__c depending on the customer's tagging strategy chosen during scoping. The tag list is flat with no hierarchy in Freshdesk, so no parent-child resolution is required.
Freshdesk
Knowledge Base (Articles)
Salesforce Service Cloud
Knowledge Article
1:1Freshdesk Articles migrate to Salesforce Knowledge Articles. Folder hierarchy from Freshdesk becomes Data Category Groups in Salesforce Knowledge, preserving top-level and second-level category structure. Multi-language articles export with all translations and migrate as separate Salesforce Knowledge Article Versions linked to the master Article record. Attachments migrate as ContentDocument records attached to the article.
Freshdesk
Forum (Categories and Topics)
Salesforce Service Cloud
Custom Object or Experience Cloud
1:1Freshdesk Forum Categories and Topics migrate to a custom object forum_category__c with topics as child records, or to Experience Cloud Community functionality if the customer licenses it. We scope this during discovery because Forum data is often used for community support rather than agent-facing case management. The flat Freshdesk forum structure maps to a parent-child custom object schema in Salesforce.
| Freshdesk | Salesforce Service Cloud | Compatibility | |
|---|---|---|---|
| Ticket | Case1:1 | Fully supported | |
| Conversation (Replies and Notes) | EmailMessage1:1 | Fully supported | |
| Contact (Requester) | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Product | Product21:1 | Fully supported | |
| SLA Policy | Entitlement Process + Milestonelossy | Fully supported | |
| Satisfaction Rating | Case Custom Field (CSAT Score)1:1 | Fully supported | |
| Time Entry | Case Custom Field or Asset1:1 | Fully supported | |
| Tag | Case Topic or Multi-Select Picklistlossy | Fully supported | |
| Knowledge Base (Articles) | Knowledge Article1:1 | Fully supported | |
| Forum (Categories and Topics) | Custom Object or Experience Cloud1: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.
Freshdesk gotchas
API access is blocked on the free plan
Per-minute rate limits are account-wide and endpoint-specific
Multi-channel source types do not map 1:1 to all destinations
Custom objects created in-product cannot be accessed by other apps
Contact import requires at least 10 existing tickets in the account
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 plan tier audit
We audit the source Freshdesk account across plan tier (Free/Growth/Pro/Enterprise), API rate limits, object inventory (tickets, contacts, companies, agents, products, SLA policies, knowledge base, forums), active automations, and custom field definitions. We confirm whether any Freshdesk custom objects were created via API or in-product. The discovery output is a written migration scope document with object counts, a mapping plan, and a Freshdesk plan upgrade recommendation if the customer is on the free tier.
Destination schema design in Salesforce Sandbox
We design the Salesforce Service Cloud destination schema in a Sandbox org. This includes provisioning custom fields on Case, Contact, and Account (with fd_ prefix to preserve Freshdesk origin), configuring Case Origin picklist values, setting up Entitlement Processes and Milestones from Freshdesk SLA policies, creating Knowledge data category groups from Freshdesk article folders, and designing the Topic or tag strategy. Page Layouts and Record Types are configured per the customer's case routing requirements. All schema is deployed via metadata API into Sandbox first for validation.
Sandbox migration and reconciliation
We run a full migration into the Salesforce Sandbox using production-like data volume. The customer reconciles record counts (Cases in, Contacts in, Accounts in, EmailMessages in, Knowledge Articles in), spot-checks 25-50 random cases against the Freshdesk source for field accuracy and conversation completeness, and signs off the schema and mapping before production migration begins. Any field mapping corrections, validation rule gaps, or rate-limit adjustments happen in Sandbox, not in production.
Owner reconciliation and User provisioning
We extract every distinct Freshdesk agent referenced on Tickets and Conversations and match by email against the destination Salesforce org's User table. Agents without a matching User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users before record import resumes. This step gates the production migration because Case OwnerId references are required at insert time.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Freshdesk Companies), Contacts (with AccountId resolved), Cases (with ContactId and OwnerId resolved, channel source normalized), Products, EmailMessage conversation history (via Bulk API 2.0 with parent-record resolution), Time Entries, Satisfaction Ratings, Tags (as Topics or custom field), Knowledge Base Articles with folder structure, and Forum data last. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta migration, and automation handoff
We freeze Freshdesk writes during cutover, run a final delta migration of any records created or updated during the migration window, then enable Salesforce as the system of record. We deliver the Freshdesk automation and macro inventory document to the customer's admin team for rebuild in Salesforce Flow. We support a one-week hypercare window where we resolve reconciliation issues raised by the support team. We do not rebuild Freshdesk automations, macros, or SLA policies as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Freshdesk
Source
Strengths
Weaknesses
Salesforce Service Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 1 of 7 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Freshdesk 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
Freshdesk: Account-wide per-minute limits: Free=0, Growth=200, Pro=400, Enterprise=700. Each endpoint has sub-limits (e.g., Tickets List capped at 20-200/min depending on plan)..
Data volume sensitivity
Freshdesk 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 Freshdesk to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Freshdesk 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 Freshdesk
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.