Helpdesk migration

Migrate from Freshservice to Zendesk

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

Freshservice logo

Freshservice

Source

Zendesk

Destination

Zendesk logo

Compatibility

77%

10 of 13

objects map 1:1 between Freshservice and Zendesk.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Freshservice to Zendesk is an ITSM-to-support-desk structural migration. Freshservice organizes work around ITIL constructs — Changes, Problems, Releases, and a built-in CMDB — that require deliberate re-mapping when landing in Zendesk, which was designed for customer support workflows rather than internal IT service management. We handle the object-level mapping in dependency order: Requesters (Users in Zendesk) before Tickets, Agents before group assignments, Assets as configuration items in Zendesk's asset inventory, and Changes and Problems as mapped Ticket records with custom field tags that preserve the original Freshservice ITIL classification. We do not migrate Freshservice automations, SLA escalation rules, or Service Catalog items as working code; we deliver a written inventory of every active automation and escalation with the recommended Zendesk equivalent for the customer's admin to rebuild. Custom Objects from Forest and Enterprise plans cannot define native associations in Freshservice and are stored in Zendesk as tagged text fields with a documented schema gap in the migration report.

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

Zendesk logo

Zendesk

What's pulling them in

  • Mature omnichannel routing across email, chat, phone, messaging, and social — one unified inbox for support teams regardless of size or complexity.
  • Deep automation with Triggers, Automations, and SLA Policies lets high-volume teams enforce consistent workflows without manual ticket handling.
  • Large ecosystem of third-party integrations and a public app marketplace reduce friction for teams already using Salesforce, Jira, or Slack.
  • Industry-leading brand recognition and trust signal — many enterprise buyers default to Zendesk as a known quantity in vendor procurement cycles.
  • Generous documentation library and community mean onboarding teams can self-configure without needing a services engagement to get started.

Object mapping

How Freshservice objects map to Zendesk

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

Freshservice

Ticket

maps to

Zendesk

Ticket

1:1
Fully supported

Freshservice Tickets map directly to Zendesk Tickets with all standard fields (subject, description, status, priority, type, group, agent) preserved via the Zendesk tickets API. Freshservice's agent and group assignments map to Zendesk's assignee_id and group_id using our pre-built lookup tables. Custom ticket fields migrate as Zendesk ticket fields with equivalent types (text, dropdown, checkbox, date). Conversation threads (public replies and internal notes) migrate as Zendesk comments with the public/private flag preserved.

Freshservice

Agent

maps to

Zendesk

Agent (User with agent role)

1:1
Fully supported

Freshservice Agents map to Zendesk end-users with agent roles. We extract agent records by email, map the Freshservice role (Agent, Service Manager, Full Administrator) to the nearest Zendesk role (agent, admin), and resolve group memberships to Zendesk group membership. Agents without a matching Zendesk user account enter a reconciliation queue for the customer's Zendesk admin to provision before ticket import begins.

Freshservice

Requester

maps to

Zendesk

End User

1:1
Fully supported

Freshservice Requesters map to Zendesk end-users who submit tickets. The Freshservice requester contact model (name, email, primary phone, organization) maps directly to Zendesk User fields. Requester organization membership in Freshservice maps to Zendesk Organization membership. Requesters are migrated before tickets so that the requester_id reference is satisfied at ticket insert time.

Freshservice

Organization

maps to

Zendesk

Organization

1:1
Fully supported

Freshservice Organizations map to Zendesk Organizations. Freshservice's domain-based auto-grouping logic is translated to Zendesk organization membership rules. Organization custom fields migrate as Zendesk organization fields. We use the organization name as the dedupe key during import to avoid creating duplicate organizations for the same entity.

Freshservice

Asset

maps to

Zendesk

Configuration Item (via Asset custom fields or Zendesk Asset Management on Enterprise)

1:1
Fully supported

Freshservice Assets (hardware, software, network items tracked in the CMDB) migrate to Zendesk as tagged ticket fields or as records in Zendesk's separate Asset Management workspace (available on Enterprise Suite). Freshservice asset type, serial number, vendor, and CI relationships map to Zendesk custom asset fields. Large CMDB hierarchies with parent-child relationships are stored as text fields on the related Zendesk ticket with a flat export for the customer's asset management team to reconstruct post-migration.

Freshservice

Change

maps to

Zendesk

Ticket (tagged as Change)

1:many
Fully supported

Freshservice Changes track planned IT environment modifications with risk level, approval workflow, and associated CIs. Zendesk has no native ITIL Change object, so we map Changes to Zendesk Tickets with a custom field 'fs_change_type' capturing the original Freshservice change type (Normal, Standard, Emergency) and 'fs_risk_level' preserving the risk assessment. The approval status migrates as a dropdown field. Customers who need formal Change management post-migration use Zendesk's Change Management product as a separate tier.

Freshservice

Problem

maps to

Zendesk

Ticket (tagged as Problem)

1:1
Fully supported

Freshservice Problems track root-cause analysis behind one or more incidents. Zendesk has no native Problem object, so we map Problems to Zendesk Tickets with a custom field 'fs_problem_id' and a 'fs_related_incidents' text field listing related Freshservice ticket IDs. The linkage to related incidents is preserved as a comma-separated reference list for the customer's admins to rebuild as Zendesk macro or topic associations post-migration.

Freshservice

Release

maps to

Zendesk

Ticket (tagged as Release)

1:1
Fully supported

Freshservice Releases group Changes and Assets into deployable units with scheduled dates and approval workflows. Zendesk has no native Release object, so we map Releases to Zendesk Tickets with a custom field 'fs_release_date' and 'fs_release_status' preserving the release state. The associated asset and change references migrate as tagged text fields.

Freshservice

SLA Policy

maps to

Zendesk

SLA Policy

lossy
Fully supported

Freshservice SLA policies (response time and resolution time targets tied to ticket priority or type) map to Zendesk SLA Policies which are available on Support Team and above. We map Freshservice SLA policy assignments to Zendesk SLA policy assignments on a per-ticket basis. Freshservice's business-hours calendar configuration maps to Zendesk's business hours settings, which the customer configures in their Zendesk admin panel before migration.

Freshservice

Comment (conversation thread)

maps to

Zendesk

Comment

1:1
Fully supported

Freshservice ticket conversation threads — agent replies, requester replies, and internal notes — map to Zendesk ticket comments. The public/internal flag is preserved: Freshservice public notes map to Zendesk public comments; Freshservice internal notes map to Zendesk private comments. HTML-formatted content is sanitized during import. Inline images hosted on Freshservice's file servers are re-hosted to Zendesk's attachments API with URL rewriting applied to preserve display in the ticket thread.

Freshservice

Attachment

maps to

Zendesk

Attachment

1:1
Fully supported

Freshservice ticket attachments migrate to Zendesk ticket attachments via the Zendesk attachments API. File size limits on Zendesk apply (25 MB per attachment); files exceeding the limit are flagged in the migration report with a recommendation to archive to an external storage link stored as a custom field on the ticket.

Freshservice

Custom Object

maps to

Zendesk

Ticket custom field (text or lookup)

lossy
Fully supported

Freshservice Custom Objects exist on Forest and Enterprise plans only and do not support associations to native objects. Since Zendesk has no equivalent custom object model, we migrate Custom Object records as Zendesk ticket custom fields with the original Freshservice record ID stored as a text reference. The association gap (Custom Object records with no native Zendesk link) is documented in the migration report with a recommendation to store the relationship in a custom text field or a separate lookup table in Zendesk Explore.

Freshservice

Location and Department

maps to

Zendesk

Organization custom fields or user fields

1:1
Fully supported

Freshservice Locations and Departments are organizational metadata used for ticket routing and asset assignment. These migrate as Zendesk Organization custom fields (location, department) and User custom fields, preserving the hierarchical relationship where Freshservice associates locations with departments. The customer configures routing rules in Zendesk based on these fields 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

Zendesk logo

Zendesk gotchas

High

Data export requires API scripting on non-Enterprise plans

Medium

Automations cap at 500 active rules and 1,000 tickets per hour

Medium

Help Center has no native export feature

High

Custom Objects and full data export are Enterprise-only

Pair-specific challenges

  • Zendesk has no native Change or Problem ITIL objects

    Freshservice organizes IT work around ITIL modules — Changes, Problems, Releases — that are core to the platform. Zendesk and Suite Team/Growth do not include native Change or Problem management objects. We map Changes to Zendesk Tickets with custom fields preserving the original Freshservice change type and risk level, and Problems as tagged tickets with related incident IDs stored as text references. Customers who need formal Change management after migration must separately license Zendesk's Change Management product. We document every Change and Problem record in the migration inventory so the customer's admin understands the gap before go-live.

  • Freshservice API rate limits must be raised before migration

    Freshservice applies per-minute API rate limits that scale by plan: Growth ~200/min, Pro ~400/min, Enterprise ~700/min. During a large migration, these limits become a bottleneck. We request elevated limits via the Freshservice migration partner process before migration begins. If we exceed the limit, the API returns 429 responses and we back off and retry with exponential delay. Failing to request the limit increase upfront is the most common cause of timeline overruns on this migration pair. We coordinate with the customer's Freshservice admin to submit the rate-limit increase request at least two weeks before the migration window.

  • Custom Objects cannot define associations to native Freshservice objects

    Custom Objects in Freshservice (Forest and Enterprise plans only) explicitly do not support creating relationships to native objects like Tickets, Assets, or Changes. When migrating from Freshservice Forest or Enterprise with active Custom Objects that reference tickets or assets, we store the related record ID as a text field rather than a native association, and we document this gap clearly in the migration report. Zendesk has no custom object equivalent, so the association gap persists at the destination. The customer should assess during scoping whether those custom object records need to be restructured as Zendesk ticket custom fields or exported to a separate database.

  • Zendesk's /imports endpoint requires users before tickets

    Zendesk's bulk import endpoints require that requester and agent User records exist before ticket records can be created and associated. A common migration failure is attempting to import tickets before all users are loaded, which results in orphaned tickets with no assignee or requester. We sequence the migration strictly: Users and Organizations first, then Tickets with the user IDs resolved, then Activity history. For Freshservice migrations with large agent and requester bases (over 5,000 users), this sequencing extends the migration timeline but is non-negotiable for data integrity.

  • Attachment re-hosting and inline image rewriting

    Freshservice ticket attachments and inline images are hosted on Freshservice's file servers and referenced by Freshservice-specific URLs. When migrating to Zendesk, these attachments must be downloaded from Freshservice, re-uploaded to Zendesk's attachments API, and the ticket comment content must be rewritten to replace Freshservice CDN URLs with Zendesk asset URLs. Files exceeding Zendesk's 25 MB per-attachment limit are flagged and stored as external links in a custom ticket field. This re-hosting step adds processing time proportional to total attachment volume.

Migration approach

Six steps for a successful Freshservice to Zendesk data migration

  1. Discovery and scoping

    We audit the source Freshservice instance across plan tier (Starter/Growth/Pro/Enterprise), active agent count, total requester count, ticket volume and age distribution, asset inventory size, and the presence of Forest-tier or Enterprise-tier Custom Objects. We inventory active Freshservice automations, SLA policies, escalation rules, and Service Catalog items. We assess the Zendesk destination plan tier (Suite Team/Growth/Professional/Enterprise) to confirm which destination features are available. The discovery output is a written migration scope, a pair-specific object map, and a migration sequence plan that accounts for Freshservice API rate limits on the source side and Zendesk's /imports user-first requirement on the destination side.

  2. Field and schema mapping

    We document the mapping between Freshservice field names and Zendesk field equivalents, including custom ticket fields, user fields, and organization fields. We identify Freshservice Change, Problem, and Release records that require custom field reconstruction in Zendesk and define the target custom field schema. We map Freshservice SLA policy assignments to Zendesk SLA policies and flag any SLA calendar configuration that must be set up in Zendesk before migration. We confirm the custom field strategy for Freshservice Custom Objects that have no native Zendesk equivalent.

  3. Test migration into a Zendesk sandbox or staging account

    We run a limited migration using a recent data sample (typically the last 90 days of tickets plus all active agents and requesters) into a Zendesk staging environment. We validate field mappings, user associations, ticket thread integrity, and attachment re-hosting. The customer reconciles a random sample of 25-50 migrated records against the Freshservice source. Any mapping corrections are applied to the migration scripts before production migration begins. This step is the last opportunity to catch data model mismatches without affecting live systems.

  4. User and organization migration

    We migrate Freshservice Agents and Requesters to Zendesk Users in dependency order: organizations first (to satisfy the organization_id on users), then agents, then requesters. We resolve Freshservice group memberships to Zendesk group memberships. Agents without matching Zendesk user accounts are flagged in a reconciliation queue for the customer's Zendesk admin to provision. Migration cannot proceed to tickets until the user migration is complete and validated.

  5. Ticket migration with conversation preservation

    We migrate Freshservice Tickets to Zendesk Tickets using the Zendesk tickets or tickets/import API, with requester_id and assignee_id resolved from the user mapping completed in the previous step. Conversation threads (public replies and internal notes) migrate as Zendesk comments with the public/private flag preserved. Freshservice Change, Problem, and Release records migrate as tagged Zendesk tickets with custom fields preserving the original ITIL classification. SLA assignments are set at the ticket level during import. Attachments are re-hosted from Freshservice CDN URLs to Zendesk's attachments API, with inline image URLs rewritten in the comment body.

  6. Delta migration and cutover

    We freeze Freshservice write access during the cutover window, run a final delta migration of any records created or modified since the bulk migration began, then enable Zendesk as the system of record. We deliver a written inventory of all Freshservice automations, SLA escalation rules, and Service Catalog items with recommended Zendesk equivalents for the customer's admin to rebuild. We support a one-week hypercare window where we resolve any reconciliation issues raised by the support team. We do not rebuild Freshservice automations or SLA escalation rules as Zendesk triggers or macros within the migration scope.

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.
Zendesk logo

Zendesk

Destination

Strengths

  • Well-documented REST API with broad endpoint coverage for Tickets, Users, Organizations, and Help Center.
  • Rich automation primitives: Triggers (event-driven), Automations (time-based), and Macros with variable substitution.
  • Multi-brand support enables large organizations to route and isolate support by product line or subsidiary.
  • Scalable from small teams on Team plan to global enterprises on Enterprise Plus with sandbox and disaster recovery options.
  • Large partner ecosystem and marketplace with hundreds of pre-built integrations reduces integration work at deployment.

Weaknesses

  • Per-agent pricing with aggressive feature gating makes lower tiers feel artificially limited.
  • No native full-KB export — Help Center content requires API scripting to extract.
  • AI features are add-on priced and behave inconsistently, not deeply embedded in core workflows.
  • Implementation timelines for complex multi-channel setups routinely exceed initial estimates by weeks or months.
  • Knowledge base and help center functionality are separate from core ticketing with their own permission model and versioning.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. All 7 core objects map 1:1 between Freshservice and Zendesk.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Freshservice and Zendesk.

  • Object compatibility

    A

    All 7 core objects map 1:1 between Freshservice and Zendesk.

  • 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 Zendesk 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 Zendesk data migrations

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

Can't find your answer?

Walk through your Freshservice to Zendesk migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Freshservice to Zendesk migrations land between three and five weeks for accounts under 30,000 tickets, 500 assets, and no Forest-tier Custom Objects. Migrations with large engagement histories (over 200,000 comment records), multi-level CMDB asset hierarchies, Change and Problem records requiring custom field reconstruction, or Forest-tier Custom Objects requiring schema redesign move to seven to twelve weeks. The primary timeline drivers are Freshservice API rate limits (which throttle export throughput), the volume of attachments requiring re-hosting, and the size of the user and organization dataset that must land before ticket import begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Freshservice.
Land in Zendesk, 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