Helpdesk migration

Migrate from Freshservice to Salesforce Service Cloud

Field-level mapping, validation, and rollback between Freshservice and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.

Freshservice logo

Freshservice

Source

Salesforce Service Cloud

Destination

Salesforce Service Cloud logo

Compatibility

75%

9 of 12

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

Complexity

BStandard

Timeline

5-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Freshservice to Salesforce Service Cloud is a cross-platform migration that maps one ITSM data model onto a CRM-native service object structure. Freshservice Tickets become Salesforce Cases with a full conversation thread preserved via EmailMessage records; Agents map to Salesforce Users by email; Requesters become Contacts under Account records; Changes map to a custom Change Request object configured in the destination org; and Problems map to Cases with a linked parent-case relationship where the destination supports it. Freshservice assets feed into Salesforce Assets or a custom CMDB extension depending on whether the destination includes Field Service. Automations, escalation rules, SLA policies, and Service Catalog workflows do not migrate as code; we deliver a written inventory of every active rule with a recommended Salesforce Flow or Omni-Channel equivalent for your admin to rebuild post-migration. Freshservice API rate limits (200-700 calls per minute by plan tier) are managed with chunking and exponential backoff throughout the migration.

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

Freshservice logo

Freshservice

What's pushing teams away

  • Freddy AI became a paid add-on rather than a platform-included feature, which felt like a bait-and-switch for customers who purchased expecting the AI to remain included at their tier.
  • Reporting on hierarchical ticket structures — particularly child tickets — is weak and requires exporting to BI tools to get meaningful cross-ticket views.
  • Advanced customizations that require custom objects are only available on Forest and Enterprise plans, and the absence of native-to-custom object associations limits real-world utility.
  • Dashboard performance degrades when handling large ticket volumes, leading to slow load times that frustrate agents during high-activity periods.
  • Platform evolution is frequent and sometimes removes or restructures features mid-subscription, forcing customers to adapt workflows unexpectedly.

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

Each row shows how a Freshservice 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.

Freshservice

Ticket

maps to

Salesforce Service Cloud

Case

1:1
Fully supported

Freshservice Tickets map directly to Salesforce Cases. The Freshservice display_id becomes Case.CaseNumber to preserve the original ticket identifier; subject maps to Subject; description maps to Description; status maps to Status with a value mapping table (Open to New/Open, Pending to On Hold, Resolved to Closed); priority maps to Priority. Full conversation threads (internal and public notes) migrate as EmailMessage records linked to the Case. Custom ticket fields map to custom Case fields pre-created in the destination org with equivalent picklist and text types.

Freshservice

Agent

maps to

Salesforce Service Cloud

User

1:1
Fully supported

Freshservice Agents (licensed users) map to Salesforce Users by email address match. Agent role (Admin, Agent, Requester) maps to Salesforce Profile and Role assignments the customer specifies during scoping. Group membership in Freshservice maps to Salesforce Queues. Any Agent without a matching Salesforce User is held in a reconciliation queue for the customer's admin to provision before record import. Service Cloud Agent Console license is assigned to migrated agents at the destination tier.

Freshservice

Requester

maps to

Salesforce Service Cloud

Contact

1:1
Fully supported

Freshservice Requesters (end users who submit tickets) map to Salesforce Contacts under Account records. Requester email, name, phone, and organization (from Freshservice Department) migrate as typed Contact fields. If a Requester's organization maps to a fresh Salesforce Account, that Account is created before the Contact insert to satisfy the AccountId lookup. Requester custom fields migrate to custom Contact fields pre-created in the destination org.

Freshservice

Asset

maps to

Salesforce Service Cloud

Asset

1:1
Fully supported

Freshservice Assets (hardware, software, and network items tracked in the CMDB) map to Salesforce Asset records. Freshservice CI type, serial number, IP address, and associated agent map to Asset.Name, Asset.SerialNumber, a custom IP_Address__c field, and the linked Contact respectively. Organizations using Freshservice asset discovery for automated network inventory should note that Salesforce Asset is product-contract centric rather than discovery-centric; a supplemental CMDB export is recommended alongside the Asset migration for teams relying on CI-level detail.

Freshservice

Change

maps to

Salesforce Service Cloud

Change Request (Custom Object)

lossy
Fully supported

Freshservice Changes (planned IT modifications with risk level, approvers, and CI linkage) map to a custom Change Request object in Salesforce. The destination schema is pre-created during scoping because Salesforce does not ship a native Change Management object outside of Field Service or Governance Risk and Compliance (GRC) modules. Change type, risk level, implementation plan, and approver chain migrate as custom fields on the Change Request object. Approval workflow from Freshservice is documented and handed off; it does not migrate as Salesforce Approvals.

Freshservice

Problem

maps to

Salesforce Service Cloud

Case (parent-case linkage)

1:1
Fully supported

Freshservice Problems (root cause records linked to one or more incidents) map to Salesforce Cases with a custom Problem_Record__c flag to distinguish them from standard cases. The linkage between Problem and related incident tickets is preserved by storing the linked Case IDs in a custom text field Problem_Linked_Cases__c on the parent Problem Case, and conversely storing the Problem reference on each linked incident Case. This preserves the relationship in a way that custom reports can surface without native many-to-many case linkage.

Freshservice

Service Catalog

maps to

Salesforce Service Cloud

Service Catalog (Experience Cloud)

lossy
Mapping required

Freshservice Service Catalog items (request forms with multi-step workflows and approval chains) do not migrate as active catalog items in Salesforce. We deliver a written catalog inventory that maps each Freshservice catalog item to a Salesforce Flow with an Approval Process, a Service Catalog (Experience Cloud) item, or a Case Record Type and Path combination depending on the customer's chosen configuration. Form logic, conditional fields, and approval routing are documented for the customer's admin to rebuild.

Freshservice

Custom Object

maps to

Salesforce Service Cloud

Custom Object

1:1
Fully supported

Freshservice Custom Object records (Forest and Enterprise plans) migrate to Salesforce Custom Objects of equivalent API name. The destination schema is pre-created in the sandbox with all custom fields and validation rules before any data import. Freshservice does not support defining relationships from Custom Objects to native objects like Tickets or Assets; if the source uses such references, we store the related record ID as a text field rather than a native lookup and document the gap in the migration report. Custom object naming convention is preserved with a __c suffix per Salesforce standard.

Freshservice

Solution

maps to

Salesforce Service Cloud

Knowledge Article

1:1
Fully supported

Freshservice Solutions (knowledge-base articles with categories) map to Salesforce Knowledge Articles. Article title, body, and status migrate to Knowledge Article Version fields. Freshservice category structure (top-level folders, second-level categories) maps to Data Category Group and Data Category assignments in Salesforce Knowledge, which uses a different hierarchical model. We map the structure and document the taxonomy differences. Article-to-ticket linkages are preserved by storing the related Case number in a custom field on the article.

Freshservice

SLA Policy

maps to

Salesforce Service Cloud

Entitlement Process

lossy
Fully supported

Freshservice SLA Policies (response and resolution time targets tied to ticket priority or type) map to Salesforce Entitlement Processes and Entitlement records. Each Freshservice SLA policy becomes an Entitlement Process with milestone triggers matching the original response and resolution hour targets. Entitlement records are linked to Accounts or Contacts depending on the customer's service model. SLA assignment at the ticket level maps to the Entitlement lookup on Case.

Freshservice

Survey

maps to

Salesforce Service Cloud

Case Survey / Custom Field

1:1
Fully supported

Freshservice CSAT and CES survey records migrate to Salesforce as custom Case fields capturing satisfaction score, free-text response, and timestamp. Survey metadata (questions, response options) is documented in the migration report as a separate asset for the customer's admin to configure in Salesforce Surveys or a third-party survey tool. The ticket-to-survey association migrates by linking the response record to the original Case ID.

Freshservice

Location and Department

maps to

Salesforce Service Cloud

Account Address / Custom Field

1:1
Fully supported

Freshservice Locations and Departments (organizational metadata for ticket routing and asset assignment) migrate as reference data. Locations with address details map to Salesforce Account shipping or billing address fields. Departments with no address are stored as a custom picklist field on Contact and User records. This data is migrated first as reference data so that routing logic in Freshservice can be translated into Salesforce assignment rules or Omni-Channel routing configuration post-migration.

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.

Freshservice logo

Freshservice gotchas

High

API rate limits vary by plan and must be accounted for during migration scoping

Medium

Agent-based vs requester-based licensing affects migration sizing

Medium

Custom Objects cannot define associations to native Freshservice objects

Low

Child ticket reporting is limited in native Freshservice dashboards

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

  • Freshservice parent-child ticket hierarchy has no native equivalent in Salesforce

    Freshservice supports unlimited nesting depth for parent-child ticket relationships and child ticket reporting requires exporting to a BI tool for aggregation. Salesforce Service Cloud enforces a single-level Case hierarchy (a parent Case can have child Cases, but those children cannot have their own children). During scoping, we identify the deepest hierarchy depth in Freshservice and propose a custom field approach: the top-level ticket becomes the parent Case, and all descendant child ticket IDs are stored in a custom hierarchical relationship field or delimited text field so the full ancestry is queryable in reports. This design must be agreed upon before migration begins because it affects how every nested ticket is processed.

  • Freshservice automation rules and escalation workflows do not migrate to Salesforce Flow

    Freshservice automation rules use trigger-action branching with group routing, SLA escalation timers, and field-update conditions that are structurally different from Salesforce Flow's record-triggered, scheduled, and screen flow variants. Escalation rules with time-based triggers cannot be mapped directly to Salesforce Time-Dependent Workflow Actions or Flow Timers without redesign. We do not migrate automations as code. We deliver a written automation inventory that lists every active Freshservice rule with its trigger, conditions, actions, and a recommended Salesforce Flow or Omni-Channel routing equivalent. The customer's admin or a Salesforce implementation partner rebuilds these post-migration.

  • Freshservice API rate limits vary by plan tier and must be coordinated upfront

    Freshservice applies per-minute API rate limits that scale with plan tier: Growth is around 200 calls per minute, Pro is 400, and Enterprise reaches 700. During large-volume migrations, these limits become a bottleneck and can cause 429 responses if exceeded. We request elevated API limits through Freshservice's migration partner process before migration begins and use chunked batch processing with exponential backoff during execution. If elevated limits are not available on the customer's current plan, we scope the migration in phased batches to avoid timeline overruns. This is flagged during the discovery call.

  • Freshservice Forest and Enterprise Custom Objects cannot define associations to native objects

    Custom Objects on Freshservice Forest and Enterprise plans allow storing structured data beyond standard fields, but Freshservice explicitly does not support creating relationships between Custom Object records and native objects like Tickets, Assets, or Changes. If the source system uses custom objects that reference ticket IDs or asset CIs, we store the related record ID as a text field rather than a native association during migration, and we document this gap in the migration report. The customer's admin can create Salesforce lookup relationships on the destination side because Salesforce Custom Objects support lookups to standard objects from Professional tier.

  • SLA policies and service catalog approval workflows require post-migration configuration rebuild

    Freshservice SLA Policies tied to ticket priority or type do not migrate as Salesforce Entitlement Processes because the mapping depends on the customer's chosen Entitlement and Milestone configuration in the destination org. Similarly, Service Catalog items with multi-step forms, conditional logic, and approval chains do not migrate as active catalog entries. We deliver a written inventory of every SLA policy and catalog item with its configuration details and recommended Salesforce equivalent (Entitlement Processes for SLAs, Experience Cloud Service Catalog or Flow for catalog items). The customer's admin activates these in the destination org after the migration data is validated.

Migration approach

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

  1. Discovery and object mapping design

    We audit the source Freshservice account across plan tier, active agent count, ticket volume, hierarchy depth (parent-child nesting levels), custom objects, change management module usage, SLA policy count, automation rule count, and service catalog size. We pair this with a destination assessment: whether the destination org includes Field Service for asset management, whether Entitlement Processes exist or need to be created, and whether a custom Change Request object schema is needed. The discovery output is a written migration scope with the object mapping table, the ticket hierarchy flattening strategy, and a list of any Freshservice custom objects requiring pre-creation in Salesforce.

  2. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy selected based on data volume) using production-like ticket volume. The customer's Service Cloud admin reconciles record counts (Cases in, Contacts in, Assets in, Change Requests in), spot-checks 25-50 random Cases against the Freshservice source for field accuracy, and validates the hierarchy flattening approach for parent-child tickets. Any mapping corrections happen in the sandbox, not in production. The admin signs off the schema and mapping before production migration begins.

  3. Reference data migration first

    We migrate reference data objects first because operational records depend on them. Locations and Departments migrate as Account address data or custom picklist values on Contact and User. SLA Policies are configured as Salesforce Entitlement Processes before ticket migration so that the Entitlement lookup on Case is available at insert time. Agent records are reconciled against Salesforce Users by email, with any missing Users queued for admin provisioning before the ticket phase begins. Custom Object schemas in Salesforce are deployed via metadata API before any custom object records are imported.

  4. Operational record migration in dependency order

    We run production migration in record-dependency order: Requesters (as Contacts under Accounts), Agents (reconciled as Users), Assets, Change Requests (custom object), Problems (as flagged Cases), then Tickets (as Cases). Conversation threads migrate as EmailMessage records linked to the Case during the ticket phase. Survey responses migrate as custom Case fields. Solutions migrate as Salesforce Knowledge Articles with Data Category assignments. Each phase emits a row-count reconciliation report before the next phase begins, and we validate that the entitlement lookup on Cases is populated from the SLA policy mapping.

  5. Cutover, delta migration, and go-live validation

    We freeze Freshservice writes during cutover, run a final delta migration of any tickets modified during the migration window, then enable Salesforce Service Cloud as the system of record. We validate record counts, spot-check 20 cases from the Freshservice export against the Salesforce destination, and confirm that parent-child ticket hierarchy information is queryable in the custom hierarchy field. Any Freshservice automations still pending rebuild are documented in the handoff inventory.

  6. Automation inventory handoff and post-migration support

    We deliver the automation rebuild inventory as a structured document listing every Freshservice automation rule, escalation workflow, SLA policy, and service catalog item with its trigger, conditions, actions, and recommended Salesforce Flow, Omni-Channel routing, Entitlement Process, or Experience Cloud Service Catalog equivalent. We support a one-week hypercare window where we resolve any record-level reconciliation issues. We do not rebuild Freshservice automations as Salesforce Flow or configure Entitlement Processes inside the migration scope; those are separate configuration engagements for the customer's admin or a Salesforce implementation partner.

Platform deep dives

Context on both ends of the pair

Freshservice logo

Freshservice

Source

Strengths

  • Agent-based licensing model with no charge for approvers or requesters keeps total cost predictable across team sizes.
  • Fast time-to-value: teams report getting from signup to first resolved ticket within a single session.
  • Asset discovery scans networks and endpoints automatically, cutting manual CMDB population time significantly.
  • Automation rules, SLA management, and service catalog are native — no professional services engagement required to activate them.
  • Escalation rules and group-based routing handle complex IT org structures without requiring custom code.

Weaknesses

  • Freddy AI is a paid add-on at additional cost rather than included in platform tiers, which surfaces frequently in negative reviews.
  • Child ticket reporting and dashboard performance degrade under large ticket volumes, pushing teams toward external BI tools.
  • Custom Objects are locked behind Forest and Enterprise plans and do not support associations to native objects.
  • Advanced workflow customization and API extensibility require developer resources that smaller IT teams may not have on staff.
  • Feature releases sometimes restructure or remove functionality mid-subscription without advance notice.
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?

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

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Freshservice and Salesforce Service Cloud.

  • Object compatibility

    B

    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

    Freshservice: 200 calls/min (Growth) to 700 calls/min (Enterprise) depending on plan tier; limits are per-account, not per-agent.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Freshservice 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 five and eight weeks for accounts under 10,000 tickets and 500 agents with no custom Change Request schema or multi-level ticket hierarchies. Migrations with custom objects on Forest or Enterprise, large engagement histories (over 200,000 ticket events), complex ticket hierarchies with nested children, or a service catalog to document move into ten to fourteen weeks because of schema pre-creation, hierarchy flattening logic, and the automation inventory scope.

Adjacent paths

Related migrations to explore

Ready when you are

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