Methodology: built from ServiceNow and Freshservice product documentation, API references, pricing pages and G2 review data, all checked on 6 Oct 2026. No vendor reviewed or paid for this article. We did not run hands-on tests.
A ServiceNow to Freshservice migration moves your records, not your configuration. Incidents, notes, attachments, users, assets and knowledge move through the APIs on both sides, while workflows, business rules, SLA definitions and the priority lookup are rebuilt in Freshservice. If you own a ServiceNow instance and are planning the move, the hard parts are value mapping, CI relationships, attachment limits and keeping service history usable after cutover. This guide covers scope, field mapping, export and import limits, a phased plan and a checklist.
Key takeaways
- The ServiceNow Table API returns 10,000 records per request by default (ServiceNow Table API docs, as of 6 Oct 2026).
- Freshservice's ticket API supports only the type "incident"; service requests use a separate endpoint (Freshservice API docs, as of 6 Oct 2026).
- ServiceNow's sample priority 1 is Critical, while Freshservice's API priority 1 is Low (ServiceNow priority lookup docs; Freshservice API docs, as of 6 Oct 2026).
- Freshservice ticket attachments cannot exceed 40 MB in total, against a ServiceNow default of 1,024 MB per file (Freshservice API docs; ServiceNow Attachment API docs, as of 6 Oct 2026).
- Freshworks says these migrations "typically range from 4-12 weeks" (Freshworks migration guide, as of 6 Oct 2026).
Why teams move from ServiceNow to Freshservice
ServiceNow sells ITSM as Foundation, Advanced and Prime with no public prices; each package shows "Get Custom Quote" (ServiceNow ITSM pricing page, as of 6 Oct 2026). Freshservice lists Starter at $19, Growth at $49 and Pro at $99 per agent per month billed annually, with Enterprise on request (Freshservice pricing page, as of 6 Oct 2026).
ServiceNow ITSM holds 4.5/5 from 1,988 G2 reviews, and its most-mentioned cons include a steep learning curve (70 mentions), cost and licensing (59) and configuration complexity (53) (G2, as of 6 Oct 2026). Freshservice holds 4.6/5 from 1,359 reviews (G2, as of 6 Oct 2026).
Three 2026 dates matter for renewal timing:
- 9 Apr 2026: ServiceNow said AI is now in every offering, not a separate purchase (ServiceNow newsroom, as of 6 Oct 2026).
- 27 Jul 2026: ServiceNow and Freshworks each announced a Leader placement in the 2026 Gartner Magic Quadrant for IT Service Management Platforms (ServiceNow Gartner MQ page; Freshworks press release, as of 6 Oct 2026).
- 31 Dec 2026: Freddy AI Agent Studio is a promotional free service for Freshservice Growth, Pro and Enterprise customers through this date (Freshservice support, as of 6 Oct 2026).
What moves, what gets rebuilt, what's at risk
Records move, logic is rebuilt, and anything that depends on links or timing is at risk. Workflows, automations, business rules, SLA definitions and running SLA timers are rebuilt on the target, not migrated.
| Moves (as data) | Rebuilt in Freshservice | At risk |
|---|---|---|
| Incidents with public and private notes | Business rules, client scripts and flows (as Workflow Automator rules) | Priority values, if copied as raw numbers |
| Requesters, agents, groups, departments, locations | SLA definitions (as SLA policies) | Service request history, because the ticket API accepts only type "incident" |
| Assets and CIs, one asset type per CSV | Priority lookup rules (as the priority matrix, incidents only) | Attachments above 40 MB per ticket |
| Problems and changes, through their own API endpoints | Service catalog items and record producers | CI relationships, which need a separate load |
| Knowledge articles, through the solutions API | Notifications, approvals, reports and dashboards | Original created dates, which Freshservice docs do not address |
| Attachments within Freshservice limits | Change models and assignment rules | Running SLA timers and SLA history |
Sources: Freshservice API docs, asset import, priority matrix and Bulk API articles (as of 6 Oct 2026).
The rebuild column is where effort hides. Freshworks says teams "must inventory all custom scripts, business rules, triggers, and automated workflows" (Freshworks migration guide, as of 6 Oct 2026).
ServiceNow to Freshservice field mapping
Field mapping is where a ServiceNow to Freshservice migration succeeds or fails. Export your instance's custom states, choices and lookup rules before you map.
| ServiceNow (source) | Freshservice (target) | What to watch |
|---|---|---|
| Incident state New, In Progress | Status Open (API value 2), or a custom status | Custom statuses keep "In Progress" visible |
| On Hold (Awaiting Caller, Change, Problem, Vendor) | Pending (3) or one custom status per reason | SLA timer on Pending and custom statuses can be on or off |
| Resolved / Closed | Resolved (4) / Closed (5) | Keep the resolution code in a custom field |
| Canceled | Closed plus a custom field, or a custom status | No default Canceled status |
| Impact and urgency 1 High, 2 Medium, 3 Low | Impact and urgency Low, Medium, High | Map by label |
| Priority 1 Critical, 2 High, 3 Moderate, 4 Low | Urgent (4), High (3), Medium (2), Low (1) | Map by label, never by number |
| Caller | Requester (requester_id or email) | Requesters must exist first |
| Assigned to / Assignment group | responder_id / group_id | Agents and groups loaded first |
| Additional comments | Public note or reply | Visible to the requester |
| Work notes | Private note (private attribute) | Must stay private |
| Problem, Change Request, Caused by Change | problem, change_initiating_ticket, change_initiated_by_ticket | Load problems and changes before linking |
| Configuration item | Associated assets (by display_id) | Assets loaded first |
| Change type Standard, Normal, Emergency | Minor, Standard, Major, Emergency | Agree a rule for Normal |
Sources: ServiceNow incident state, priority lookup, create-an-incident and Change Management API docs; Freshservice API docs, statuses, priority matrix and change types articles (as of 6 Oct 2026).
States and the priority matrix
ServiceNow has six incident states and four On Hold reasons (ServiceNow incident state docs, as of 6 Oct 2026). Freshservice accepts custom statuses and lets you toggle the SLA timer on Pending and custom ones (Freshservice statuses article, as of 6 Oct 2026). Decide which On Hold reasons pause the SLA clock first.
Both platforms derive priority from impact and urgency, but Freshservice's priority matrix applies only to incidents (Freshservice priority matrix article, as of 6 Oct 2026). Rebuild it before the test load.
Users, groups and notes visibility
ServiceNow says "all users who can view incidents see additional comments", while work notes are internal (ServiceNow incident docs, as of 6 Oct 2026). Freshservice notes carry a private flag (Freshservice Bulk API article, as of 6 Oct 2026). Get it wrong and internal troubleshooting reaches requesters.
Load people before tickets. Freshservice imports requesters and agents from CSV only; requester files need the Reporting Manager as an email, and agent files can set groups and roles (Freshservice requester and agent import articles, as of 6 Oct 2026).
CIs and relationships
ServiceNow CI classes inherit from a base CI class, and relationships sit in cmdb_rel_ci as a parent CI, a child CI and a type such as Depends on::Used by (ServiceNow CMDB and CI relationships docs, as of 6 Oct 2026). Map each class to a Freshservice asset type with a parent type; imports take one asset type per CSV, and hardware matches on serial number by default (Freshservice asset type and import articles, as of 6 Oct 2026). Then load relationships through the "Create Relationships in bulk" API once both ends exist (Freshservice API docs, as of 6 Oct 2026).
Catalog and knowledge
Catalog items and record producers are rebuilt. Freshservice notes that "the option to export Service Catalog items directly from the Service Catalog is not available" (Freshservice service catalog article, as of 6 Oct 2026).
Knowledge moves from kb_knowledge into Freshservice's Category, Folder and Article structure, with folder visibility set to all users, all agents or chosen departments (ServiceNow Knowledge API docs; Freshservice knowledge base article, as of 6 Oct 2026).
Export from ServiceNow, import into Freshservice
ServiceNow data migration for this pair runs API to API, because UI exports hit caps and Freshservice documents no self-service ticket import.
| Limit | ServiceNow (export) | Freshservice (import) |
|---|---|---|
| Records per call or file | Table API default 10,000 per request; UI export 10,000 records per format | Bulk API 50 records per request (partners only) |
| Throughput | Large sysparm_limit values "can impact system performance" | 100 / 200 / 400 / 500 calls per minute by plan; migration token 700 per minute |
| Attachments | Default maximum 1,024 MB per file; one file per request | 40 MB total per ticket (API); 40 MB per entity (Bulk API) |
| UI export | Excel capped at 500,000 cells | Ticket export capped at 10,000 per export |
Sources: ServiceNow Table API, Export Limits and Attachment API docs; Freshservice API docs, Bulk API, migration token and ticket export articles (as of 6 Oct 2026).
On the ServiceNow side, page through each table with sysparm_offset and request sysparm_display_value=all, which returns stored and display values together (ServiceNow Table API docs, as of 6 Oct 2026). An encoded query (sysparm_query) on the last-updated date gives you the delta set at cutover.
On the Freshservice side, the Data Migration help folder holds two articles, both for migration partners (Freshservice support, as of 6 Oct 2026). They describe a Bulk API for tickets and notes at 50 records per request and 10 requests per minute per endpoint, values Freshworks marks "[To be confirmed post load testing]" (Freshservice Bulk API article, as of 6 Oct 2026). A migration token, requested with the account ID, an approximate ticket count and planned dates, raises the limit to 700 calls per minute (Freshservice migration token article, as of 6 Oct 2026).
Freshservice migration plan in phases
Run the move as a controlled change with exit criteria per phase. Freshworks describes demo, full and delta runs (Freshworks migration guide, as of 6 Oct 2026).
- Discover. Inventory tables, record counts, custom fields, attachment sizes, CI classes and every business rule, flow and SLA definition.
- Map. Agree value-level mapping for states, priorities, change types and notes visibility. Decide how service request history lands.
- Test migration. Load a sample into a non-production account. Freshservice lists a sandbox on Enterprise only (Freshservice pricing page, as of 6 Oct 2026), so other plans need a separate test account.
- Cutover with delta sync. Run the full load, freeze ServiceNow, run the delta, then hold a go/no-go before switching intake.
- Reconcile. Compare counts, priorities, note visibility, attachments and asset links. Bulk API errors "cannot be retried automatically", and search and analytics may lag during the load (Freshservice Bulk API article, as of 6 Oct 2026).
- Hypercare. Watch rebuilt SLA policies, workflows and notifications. Freshworks advises keeping read-only access to archived data for audit (Freshworks migration guide, as of 6 Oct 2026).
ServiceNow to Freshservice failure points
Each follows from a documented difference between the platforms.
- Inverted priorities. The two numeric scales run in opposite directions. Map by label.
- Service requests forced into incidents. Requested items need the Create a Service Request endpoint and matching catalog items, or a decision to archive them.
- Private notes made public. A missing private flag publishes work notes to requesters.
- Attachments dropped. A Bulk API attachment over the 40 MB per-entity limit is rejected while the parent record is still created, and attachments must be reachable by public URL (Freshservice Bulk API article, as of 6 Oct 2026).
- Requesters emailed about old tickets. Freshworks says notifications are still sent for migrated tickets and lists suppression as planned (Freshservice migration token article, as of 6 Oct 2026). Disable notification rules before loading.
- Lost timeline. The API describes created_at only as "Ticket creation timestamp", and the Bulk API guide does not address original timestamps (Freshservice API docs and Bulk API article, as of 6 Oct 2026). Store the ServiceNow number and dates in custom fields.
- SLA history. ServiceNow's SLA repair "uses the history from the Task" (ServiceNow SLA docs, as of 6 Oct 2026), but Freshservice SLA policies calculate due dates from priority and business or calendar hours (Freshservice SLA article, as of 6 Oct 2026). Export SLA outcomes for reporting.
ServiceNow to Freshservice migration checklist
- Confirm your Freshservice plan covers the modules you will migrate into.
- Export record counts per table and attachment sizes.
- Export choice lists, priority lookup rules and On Hold reasons.
- Inventory business rules, client scripts, flows, SLA definitions and notifications for rebuild.
- Create departments, locations, custom fields, statuses and asset types.
- Import requesters and agents with groups and roles.
- Rebuild the priority matrix and SLA policies.
- Sign off value-level mapping, including priority by label and notes visibility.
- Decide how service request history lands.
- Disable notifications for the load window.
- Run a test migration and reconcile a sample by hand.
- Load assets per type, then relationships.
- Agree the freeze window and go/no-go criteria.
- Run the full load and the delta, then reconcile counts and links.
- Keep ServiceNow read-only for audit until sign-off.
FAQ
Methodology
We reviewed ServiceNow documentation (Table API, Attachment API, export limits, incident, CMDB, SLA and Change Management API pages) and Freshservice API documentation, support articles and pricing on 6 Oct 2026. Freshworks' migration guide was used only for Freshworks' own claims, and G2 for review data. Figures without an allowed source were left out. 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.