All Posts
itsmitsm migrationguide

Zendesk to Freshservice Migration 2026: Tickets into an ITSM Desk

Plan a Zendesk to Freshservice migration: map tickets to ITIL records, check export and import limits, and rebuild SLAs. Use the checklist.

Ayush Bothra

Ayush Bothra

MigrateX

Published Updated 14 min read

Methodology: built from Zendesk and Freshworks documentation, API references, pricing pages and newsroom posts, checked on 5 Oct 2026. No vendor reviewed or paid for this article. We did not run hands-on tests.

A Zendesk to Freshservice migration moves tickets, comments, users, organizations and Guide articles into Freshservice, but each Zendesk ticket has to land as the right ITIL record: an incident, a service request or a problem. Triggers, automations, macros and SLA policies do not move. You rebuild them in Freshservice.

This guide is for IT teams moving internal support off Zendesk Support or Zendesk for Employee Service. It maps the Zendesk ticket model to Freshservice record types, sets export limits beside import limits, explains what really drives the effort, and ends with a cutover checklist.

Key takeaways

  • Freshservice's Create Ticket call supports "only type 'incident' as of now", so service requests and problems need their own path (Freshservice API docs, as of 5 Oct 2026).
  • Freshservice documents no self-service ticket import. Its partner Bulk API takes tickets and notes only, 50 per request, with limits marked "[To be confirmed post load testing]" (Freshservice Bulk API article, as of 5 Oct 2026).
  • Zendesk incremental exports are capped at 10 requests per minute, or 30 with the High Volume add-on (Zendesk rate limits docs, as of 5 Oct 2026).
  • Problem and change management start on Freshservice Pro, $99 per agent per month billed annually (Freshworks pricing page, as of 5 Oct 2026).

Why teams move from Zendesk to Freshservice

The usual trigger is that internal IT support outgrows a single ticket queue and needs separate incident, request, problem and change records. Zendesk models all of these as one ticket object typed question, incident, problem or task (Zendesk Tickets API docs).

Freshservice separates the record types and gates them by plan: incident and knowledge management on Starter at $19, service catalog and SLA management on Growth at $49, and problem, change and release management on Pro at $99, per agent per month billed annually (Freshworks pricing page, as of 5 Oct 2026). On 29 Jul 2026 Freshworks announced it was named a Leader in the 2026 Gartner Magic Quadrant for IT Service Management Platforms (Freshworks press release, as of 5 Oct 2026).

Staying is a real option, because Zendesk is adding IT features too. Its IT asset management reached general availability on 11 May 2026, with up to 500 asset records on Suite Growth and above (Zendesk announcement, as of 5 Oct 2026). Employee Service Suite Growth costs $59 per agent per month paid yearly (Zendesk Employee Service pricing page, as of 5 Oct 2026). If Jira Service Management is the other contender, our Zendesk to Jira migration guide covers that pair.

The verdict: move when you need problem, change and asset records working together; stay if a ticket queue with a service catalog covers your IT work.

What moves, what gets rebuilt, what's at risk in a Zendesk migration

Data moves. Configuration is rebuilt. Running SLA timers never move, because the target clock starts when the record is created.

Moves (data)Rebuilt in Freshservice (configuration)At risk (needs a plan)
Tickets, as incidents, service requests or problemsTriggers and automations, as Workflow Automator workflowsRunning SLA timers and breach history
Public comments and internal notesMacros, as canned responsesOriginal created dates and comment authors
End users, agents and organizations, as requesters, agents and departmentsSLA policies and business hoursPrivate attachments on short-lived URLs
Groups, tags and custom field valuesViews, ticket forms and field conditionsArchived tickets that list endpoints skip
AttachmentsStatuses and the priority matrixSide conversations and CSAT responses
Guide categories, sections and articlesHelp center user segments, as folder visibilityArticle images and translations
IT assets, where usedService catalog items and approvalsProblem-to-incident links

Zendesk triggers fire on ticket create or update, while automations "run every hour on all your tickets that are not closed" (Zendesk help center, as of 5 Oct 2026). Freshservice documents event-based and scheduled workflows in Workflow Automator, and canned responses set up per workspace, which is where macros land.

Zendesk SLA policies measure seven metrics (Zendesk help center, as of 5 Oct 2026), while Freshservice sets SLA targets by priority with business or calendar hours. So SLA policies are redesigned, not mapped.

Zendesk to Freshservice field mapping

Record type, status and priority matter most, because they drive SLA targets and reporting.

Ticket types to ITIL record types

Freshservice's API docs describe the ticket type attribute as "[Support for only type 'incident' as of now]" (as of 5 Oct 2026). Freshservice places service requests through the service catalog, and problems have their own endpoints and need Pro.

A workable rule: Zendesk incidents and most questions become incidents. Employee Service catalog requests become service requests. Problem tickets become problems, with each incident's problem_id rebuilt as an association. Decide tasks by group or form.

Statuses, priorities and people

Freshservice lets you switch the SLA timer on or off for Pending and custom statuses, so map Zendesk hold to a custom status with the timer off if hold time should stay out of SLA. Freshservice calculates "Priority = Impact x Urgency" on incidents only, so decide whether imported priorities should survive a recalculation.

Freshworks' own Zendesk guide maps organizations to departments. The catch: a Zendesk user's organization_id returns only the default organization when the user belongs to several (Zendesk Users API docs). Freshservice imports requesters by CSV only, with Reporting Manager as an email and locations created first.

Comments, attachments and assets

A Zendesk comment's public flag is false for an internal note. Map it to the private flag on Freshservice notes, or internal notes reach requesters. Zendesk accepts inbound attachments up to 50 MB per file (Zendesk help center, as of 5 Oct 2026), while Freshservice caps a ticket's attachments at 40 MB in total (Freshservice API docs, as of 5 Oct 2026). Assets import by CSV, one asset type per import.

ZendeskFreshserviceDecision
Ticket type incidentIncidentDefault target
Ticket type question or taskIncident or service requestClassify by group, form or tag before load
Ticket type problem + problem_idProblem linked to incidentsNeeds Pro plan or above
Status new, openOpen (API value 2)Direct
Status pending, holdPending (3) or a custom statusSet SLA timer per status
Status solved, closedResolved (4), Closed (5)Direct
Priority urgent, high, normal, lowUrgent (4), High (3), Medium (2), Low (1)Check priority matrix
Public comment / internal noteReply / private noteMap visibility
End users / organizationsRequesters / departmentsChoose a default department rule
Groups, tags, custom fieldsAgent groups, tags, custom fieldsCreate fields first

Values from the Zendesk Tickets API docs and Freshservice API docs, as of 5 Oct 2026.

Export from Zendesk

Zendesk has four export routes, and only the API reaches every plan.

MethodAvailabilityWhat it holdsLimits
Incremental export APIAll plansTickets, ticket events (comments via comment_events), users, organizationsUp to 1,000 items per page; 10 requests/min, 30 with High Volume
JSON exportSuite Growth and above, Support Professional and Enterprise; off by defaultTickets with comments, users, organizations, attachment linksComments omitted for tickets over 1 MB; 31-day increments above 1 million tickets
CSV exportSame plansTicket fieldsNo comments, descriptions or deleted tickets
XML exportSame plansTickets, users, organizations500 MB, about 200,000 tickets; unavailable above 200,000

Source: Zendesk data export article, incremental exports docs and rate limits docs, as of 5 Oct 2026.

Archived tickets are the first trap. Zendesk archives tickets 120 days after they close, and incremental and full exports still include them, but List Tickets and Show Ticket do not (Zendesk archiving article and Tickets API docs, as of 5 Oct 2026). Deleted tickets also appear in the incremental stream unless you set exclude_deleted.

For SLA history, copy ticket metrics into custom fields per ticket, because the ticket metrics list endpoint skips archived tickets. Keep Zendesk live until reconciliation is signed off: after cancellation you can request reactivation within 90 days, then deletion begins (Zendesk help center, as of 5 Oct 2026).

Import into Freshservice: the Freshservice migration path

Freshservice has no documented self-service ticket import. Its Data Migration help folder holds two articles, both for data migration partners (Freshservice support site, as of 5 Oct 2026). The only public guidance for customers is a Freshservice Community Manager post from 19 Nov 2021: support "would have to perform a CSV migration from our end", or customers could script the API (Freshworks Community, as of 5 Oct 2026).

The public API allows 100, 200, 400 and 500 calls per minute on Starter, Growth, Pro and Enterprise for accounts created on or after 1 Sep 2020 (Freshservice API docs, as of 5 Oct 2026). Partners can request a migration token that raises this to 700 per minute for a set window (Freshservice partner migration article, as of 5 Oct 2026). The partner Bulk API takes 50 tickets or notes per request at 10 requests per minute per bulk endpoint, marked "[To be confirmed post load testing]"; failed records are not retried automatically, and attachments must be public URLs (Freshservice Bulk API article, as of 5 Oct 2026).

Freshworks lists notification suppression for migrated tickets as planned, not live. The API describes created_at only as "Ticket creation timestamp", so store the original Zendesk ID and created date in custom fields.

What drives the effort and cost of a Zendesk to Freshservice migration

License prices are the visible part. The real effort sits in five drivers, and ticket count alone is not one of them.

DriverWhy it changes the effortSource (as of 5 Oct 2026)
Plan tierProblem tickets with linked incidents need problem management, which starts on Pro at $99, not Growth at $49Freshworks pricing page
Comment volumeZendesk stores the first comment as the description; each later comment becomes its own Freshservice note, and Create Ticket has its own sub-limit of 50, 80, 140 or 160 calls per minute by planZendesk Tickets API docs; Freshservice API docs
Import routeNo documented self-service import, so you script the public API or use a partner with Bulk API and token accessFreshservice Data Migration folder
AttachmentsFiles up to 50 MB in Zendesk meet a 40 MB per-ticket total, and short-lived private URLs need staging storageZendesk attachment articles; Freshservice API docs
Overlap periodZendesk stays licensed through reconciliation, because reactivation is possible only within 90 days of cancellationZendesk canceled-account article

Comment volume is the driver teams most often miss. A queue of short password resets and a queue of long change discussions can hold the same number of tickets but need very different numbers of write calls. Count comments and attachments per ticket during discovery.

The import route also decides who owns the risk. A scripted import keeps control in-house, but your team owns retries, rate-limit handling and reconciliation. The Bulk API writes more per call, yet its limits are unconfirmed and failed records must be resubmitted.

What changes for agents and requesters

  • Reports split by record type. One Zendesk ticket report becomes separate incident and service request reports, so baselines will not line up on day one.
  • Priority behaves differently. Requesters cannot pick a priority on a service request, and the matrix recalculates incidents.
  • Search lags during the load. Freshworks warns that search and analytics "will not update in real time during the migration" (Freshservice Bulk API article, as of 5 Oct 2026). Tell agents before cutover weekend.

Knowledge base: Zendesk Guide to Freshservice solutions

Zendesk Guide organizes content as categories, sections and articles, with user segments for visibility and per-article translations. There is "no CSV export button for Knowledge content", so export runs through the Help Center API. Zendesk's backup tutorial leaves images out of scope, and article attachments can reach 20 MB each (Zendesk developer docs, as of 5 Oct 2026).

Freshservice uses categories, folders and articles, and a folder can be visible to all users, all agents or chosen departments. Freshworks maps sections to folders. Set up secondary languages before loading translations, re-host inline images, then rewrite links to old Guide articles.

The migration plan in phases

Run the move as a controlled change, with a go/no-go after each phase.

  1. Discover. Count tickets by type, status, group and year, archived included, plus comments and attachments per ticket. Decide how much history is in scope.
  2. Map. Fix record type, status and priority rules and the rebuild list. Create Freshservice fields, groups, departments and locations.
  3. Test migration. Load a sample with the largest tickets, private attachments and translated articles. Check note visibility as a requester.
  4. Cutover with delta sync. Load history before the freeze window, then sync tickets changed since the last run, with workflows and notifications off.
  5. Reconcile. Compare counts by record type, status and group, then sample comments, attachments and links.
  6. Hypercare. Keep Zendesk read-only, watch SLA breaches and routing, and fix rebuilt workflows.

Pair-specific failure points

  • Everything lands as an incident. The incident-only ticket API makes this the easy path, and request reporting breaks with it.
  • Private attachments expire. On Zendesk accounts created on or after 5 Dec 2024, or using messaging, private attachment URLs are short-lived (Zendesk help center, as of 5 Oct 2026). The Bulk API needs public URLs, so stage files in between.
  • Oversized files fail quietly. Attachments beyond the 40 MB per-entity total fail as a partial failure while the ticket or note is still created (Freshservice Bulk API article, as of 5 Oct 2026).
  • Archived history goes missing. List All Ticket Audits excludes archived tickets, so use per-ticket calls.
  • Requesters get flooded with email. With notification suppression still planned, switch notifications off before loading.

Zendesk to Freshservice migration checklist

  1. Confirm the Freshservice plan covers problem, change and SLA.
  2. Ask Zendesk to enable data exports, if your plan has them.
  3. Inventory tickets by type, status, group and year, archived included.
  4. Count comments and attachments per ticket to size the API budget.
  5. Write record type rules for questions, tasks, catalog requests and problems.
  6. Agree status, priority and SLA timer mapping.
  7. Create Freshservice locations, departments, groups and custom fields.
  8. Import requesters and agents by CSV.
  9. Add fields for the Zendesk ID, original created date and SLA metrics.
  10. Stage private attachments before their URLs expire.
  11. Export Guide articles, images and translations.
  12. Turn off workflows and notifications for the load window.
  13. Run a test migration, then reconcile counts and visibility.
  14. Cut over with delta sync, and keep Zendesk active until sign-off.
  15. Rebuild triggers, automations, macros, views and SLA policies.

FAQ

Methodology

We read Zendesk and Freshworks product documentation, API references, pricing pages, newsroom posts and one dated Freshservice Community Manager post, all checked on 5 Oct 2026. We read the top-ranking pages for this query to find gaps but did not cite or name migration-tool vendors. The effort drivers are reasoned from published limits, not measured. We did not run hands-on tests. Disclosure: MigrateX, the publisher of this article, runs ITSM data migrations, including between platforms named here. No vendor reviewed or paid for this article.

About MigrateX

With 20 years in enterprise ITSM, we've seen what breaks when a service desk changes platforms: SLA clocks reset, CI relationships disappear, and years of ticket history get scoped out to protect a go-live date. MigrateX moves that history intact, with tickets, attachments, relationships and audit trails, so your new platform starts with the record your team already trusts.

Ayush Bothra

Written by

Ayush Bothra

MigrateX

Ayush writes about ITSM platforms, pricing and what it takes to move a service desk to a new platform without losing its history.


Ready to migrate your help desk?

Run a free demo migration on your actual data. Review the results before anything touches production.

Run a Free Demo Migration