Helpdesk migration
Field-level mapping, validation, and rollback between Kayako and Freshdesk. We move data and schema; workflows are rebuilt natively in Freshdesk.
Kayako
Source
Freshdesk
Destination
Compatibility
6 of 8
objects map 1:1 between Kayako and Freshdesk.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Kayako to Freshdesk is a migration between two cloud-native helpdesk platforms with different field-naming conventions, tier-based API access, and automation models. Kayako's Conversations map 1:1 to Freshdesk Tickets, and Kayako's Users split into Freshdesk Contacts (customers) and Agents (agents), while Organizations map to Freshdesk Companies. The most common migration failure points are Kayako's system-generated API field keys on custom fields (which silently fail if referenced by display name), Freshdesk's Sprout tier lacking API access entirely (requiring Blossom or above before migration runs), and Knowledge Base article duplication in Freshdesk that occurs when the migration tool reimports articles without deduplication checks. We discover all Kayako custom field keys during scoping, pre-create the equivalent Freshdesk custom fields before migration, use the Freshdesk API with exponential backoff, and deliver an automation inventory so your admin rebuilds Kayako automations as Freshdesk Scenario Automations post-migration. Workflows, SLA policies, and saved reports do not migrate as code; we document them for your team to rebuild.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Kayako object lands in Freshdesk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Kayako
Conversation
Freshdesk
Ticket
1:1Kayako Conversations map 1:1 to Freshdesk Tickets. Standard fields (status, priority, assignee, channel, timestamps) map to Freshdesk equivalents (status_name, priority, agent_id, source, created_at). Message threads migrate as ConversationDetails with agent and customer messages preserved in chronological order. We extract conversations via the Kayako Conversations API and insert via the Freshdesk Tickets API, batching in groups of 50 to avoid rate limit saturation.
Kayako
User
Freshdesk
Contact or Agent (split required)
1:manyKayako Users split into Freshdesk Contacts (customers and requesters) and Agents (support staff). We determine the split by examining Kayako's user role assignments and permissions. Contacts get email, name, phone, and custom field values. Agents get name, email, and group assignment. Active/inactive status maps from Kayako's user status field.
Kayako
Organization
Freshdesk
Company
1:1Kayako Organizations map directly to Freshdesk Companies. Organization name becomes the company name, and domain maps to the website field. The organization-to-user linkage is preserved via Freshdesk's customer_id field on Contact records. If Kayako Organizations have custom properties, we pre-create matching Freshdesk company fields before migration.
Kayako
Custom Fields
Freshdesk
Custom Fields
lossyKayako custom fields have system-generated API field keys that differ from display names, and these keys are required for API writes. We discover all field keys during scoping and map them to Freshdesk custom fields that we pre-create with matching types (text, dropdown, number, date, checkbox). If Kayako custom fields were added after initial setup, we re-verify their keys before migration. Freshdesk Sprout tier does not support custom fields; Blossom or above is required.
Kayako
Knowledge Base Articles
Freshdesk
Solution Articles
1:1Kayako KB Articles map to Freshdesk Solution Articles with category and section hierarchy preserved. Article content, status (draft/published), and view counts migrate. Freshdesk community posts document a known duplication risk where migration tools have re-imported articles multiple times, creating 4x article counts. We implement a pre-migration article ID audit and post-migration deduplication check to prevent this. Article attachments require separate per-article API calls.
Kayako
KB Categories
Freshdesk
Solution Categories
1:1Kayako KB Categories and Sections map to Freshdesk Solution Categories with hierarchical structure preserved. Category names and descriptions migrate directly. If Freshdesk already has categories with conflicting names, we resolve naming collisions during scoping and document the resolution for customer sign-off.
Kayako
Tag
Freshdesk
Tag
1:1Tags applied to Kayako Conversations migrate as Freshdesk Tags. Tag strings are preserved verbatim. Freshdesk's tag model supports tag-based filtering on tickets. If Freshdesk's tag limit (5,000 per account) is a concern for high-volume tagging, we can map tags to Freshdesk's internal notes or a custom multi-select field as an alternative.
Kayako
Attachment
Freshdesk
Attachment
1:1File attachments in Kayako Conversations require separate API calls per conversation and may have size restrictions. We export attachments from Kayako and upload them to Freshdesk via the Freshdesk API attachment endpoint, linking each file to the corresponding ticket conversation detail. Large attachment files (>20MB) may require chunked upload or alternative handling.
| Kayako | Freshdesk | Compatibility | |
|---|---|---|---|
| Conversation | Ticket1:1 | Fully supported | |
| User | Contact or Agent (split required)1:many | Fully supported | |
| Organization | Company1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Knowledge Base Articles | Solution Articles1:1 | Fully supported | |
| KB Categories | Solution Categories1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment | Attachment1: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.
Kayako gotchas
AI-per-resolution billing can multiply costs silently
Custom fields require API field keys, not field names
Kayako Classic and new Kayako use different export mechanisms
Outbound migration support is limited to export
API rate limits are not publicly documented
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
Pair-specific challenges
Migration approach
Discovery and version confirmation
We audit the source Kayako instance to confirm whether it is the current cloud product or Kayako Classic. We extract record counts for Conversations, Users, Organizations, KB Articles, and attachments, and identify custom field definitions including their API field keys. We confirm the destination Freshdesk tier (Blossom or above required for API access) and identify any existing data in the Freshdesk account that might conflict with incoming records. The discovery output is a written scope with record counts, field mapping draft, and Freshdesk tier confirmation.
Freshdesk pre-configuration
We create all required Freshdesk custom fields to match Kayako's custom field definitions, using Freshdesk admin credentials. We create Freshdesk Agents with matching email addresses to the Kayako users designated as agents, and configure Freshdesk Groups to match Kayako Teams so that ticket assignments resolve correctly. We disable Freshdesk automation rules that might fire on incoming ticket creation during migration to prevent unwanted notifications or routing during the load.
Demo migration and reconciliation
We run a limited migration of approximately 20 random tickets and KB articles into the Freshdesk account to validate field mapping, attachment handling, and Knowledge Base deduplication. The customer reviews the migrated sample data and confirms mapping accuracy before we proceed to full migration. Any custom field corrections, tag mapping adjustments, or tag-to-field remapping decisions happen here.
Full migration in dependency order
We run production migration in record-dependency order: Companies (from Kayako Organizations) first, then Contacts and Agents with group assignments resolved, then Tickets with conversation threads and attachments, then Knowledge Base Categories and Articles. Custom fields are populated on each record using the Kayako API field keys discovered in Step 1. We apply tags from Kayako as Freshdesk tags and implement the Knowledge Base deduplication check before each article batch insert.
Cutover and post-migration validation
We freeze Kayako writes during cutover, run a delta migration of any records created or modified in the migration window, then validate total record counts match the discovery phase totals. We deliver the automation and SLA inventory document to the customer's admin team for rebuild in Freshdesk Scenario Automations. We support a three-day hypercare window to resolve any record-level reconciliation issues.
Platform deep dives
Kayako
Source
Strengths
Weaknesses
Freshdesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Kayako and Freshdesk.
Object compatibility
2 of 7 objects need a mapping; the rest are 1:1.
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
Kayako: Not publicly documented — API returns HTTP 429 when exceeded.
Data volume sensitivity
Kayako 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 Kayako to Freshdesk migration scoping. Not seeing yours? Book a call.
Walk through your Kayako to Freshdesk migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Kayako
Other ways to arrive at Freshdesk
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.