Helpdesk migration
Field-level mapping, validation, and rollback between LiveAgent and Freshdesk. We move data and schema; workflows are rebuilt natively in Freshdesk.
LiveAgent
Source
Freshdesk
Destination
Compatibility
9 of 10
objects map 1:1 between LiveAgent and Freshdesk.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from LiveAgent to Freshdesk is a cross-platform migration where the two systems share a ticket-centric model but diverge on object naming, conversation threading, and automation accessibility. LiveAgent structures its history as Tickets linked to threaded Conversations; Freshdesk nests conversations inside the Ticket object itself, so we flatten the source conversation thread into Freshdesk's conversation sub-object at import time. LiveAgent's 180 req/min export rate limit governs how fast we can pull data from the source, while Freshdesk's per-minute import rate limits (200-700 calls/min depending on the plan tier) govern how fast we can write, requiring a dual-throttled pipeline with staggered read/write queues. Custom fields on Tickets and Customers are discovered dynamically from both APIs during scoping, mapped by type, and pre-created in Freshdesk before any record import. Macros, Rules, and SLA configurations are not accessible via the LiveAgent REST API and do not migrate; we deliver a written inventory of every active automation rule for the customer to rebuild in Freshdesk's Automation Rules engine post-migration.
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 LiveAgent 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.
LiveAgent
Ticket
Freshdesk
Ticket
1:1LiveAgent Tickets map directly to Freshdesk Tickets. We map LiveAgent's ticket status (open, pending, resolved, spam) to Freshdesk's status values (open, pending, resolved, closed) and preserve LiveAgent's priority field (low, normal, high) as Freshdesk priority (low, medium, high, urgent). The original LiveAgent ticket ID is stored in a custom field fd_source_id__c for audit and cross-reference.
LiveAgent
Customer
Freshdesk
Contact
1:1LiveAgent Customer records map to Freshdesk Contacts. We match on email as the primary deduplication key and map name, phone, address, and custom field values. LiveAgent's Customer custom fields are discovered during scoping via the /customers/custom-fields endpoint, typed (string, boolean, date, number), and pre-created as Freshdesk contact custom fields before import begins.
LiveAgent
Company
Freshdesk
Organization
1:1LiveAgent Companies map to Freshdesk Organizations. The mapping is 1:1 with company name as the dedupe key. Freshdesk's Organizations are linked to Contacts and Tickets via lookups that we resolve at import time. If the source account does not use Companies, we skip this object and Contacts remain unorganized in Freshdesk.
LiveAgent
Conversation
Freshdesk
Conversation (inside Ticket)
1:manyLiveAgent stores threaded messages as a separate Conversations object linked to Tickets. Freshdesk nests conversations as a sub-object of the Ticket. We flatten each LiveAgent conversation thread into Freshdesk Ticket conversations at import time, preserving the message body, author type (agent or customer), timestamp, and attachment references. This is the most nuanced transform in the migration because Freshdesk's conversation API requires the parent ticket ID to be known before we can write conversations.
LiveAgent
Agent
Freshdesk
Agent
1:1LiveAgent does not expose a standalone Agents API object; agent information is embedded in ticket assignments. We extract distinct agent names and emails from ticket assignment records and map them to Freshdesk Agent accounts by email match. The customer provisions Freshdesk agent accounts before migration; any LiveAgent agent without a matching Freshdesk agent account is held in a reconciliation queue.
LiveAgent
Tag
Freshdesk
Tag
1:1Tags applied to LiveAgent Tickets migrate to Freshdesk Ticket tags using the same tag names. Freshdesk's tag API (POST /tickets/{id}/tags) accepts an array of tag names per ticket. We recreate tags in Freshdesk during scoping if they do not already exist.
LiveAgent
Customer Group
Freshdesk
Group
1:1LiveAgent Customer Groups (used for segmenting customers by tier or region) map to Freshdesk Groups. Group membership is preserved by writing the Freshdesk group ID back to the corresponding Contact records during import. Groups without a matching Freshdesk group are created in Freshdesk before the Contact migration phase.
LiveAgent
Knowledgebase Article
Freshdesk
Solution Article
1:1LiveAgent Knowledgebase articles in categories map to Freshdesk Solution articles in categories. The category hierarchy is preserved as a Freshdesk folder structure. Article status (draft, published) maps to Freshdesk's visible and archived flags. ACL settings on LiveAgent articles require manual review because Freshdesk handles portal visibility differently through article permissions per category.
LiveAgent
File / Attachment
Freshdesk
Attachment
1:1File attachments linked to LiveAgent Tickets and Conversations are downloaded via the /files endpoint, re-uploaded to Freshdesk, and attached to the corresponding Ticket conversation entry. Attachment file size limits on Freshdesk (capped at 15MB per file on most plans) are enforced during the re-upload step, and files exceeding the limit are flagged for the customer to handle manually or via an alternative storage approach.
LiveAgent
Ticket Custom Field
Freshdesk
Ticket Custom Field
1:1Ticket custom fields in LiveAgent are account-specific schemas discovered via the /tickets/custom-fields endpoint. We enumerate all custom field names, types, and current values during scoping, create equivalent custom fields in Freshdesk via the /ticket_fields API (with type matching: string to text, boolean to checkbox, date to date picker, number to number), and map values at migration time. Any picklist or dropdown custom fields require manual value mapping if the option sets differ between platforms.
| LiveAgent | Freshdesk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Conversation | Conversation (inside Ticket)1:many | Fully supported | |
| Agent | Agent1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Customer Group | Group1:1 | Fully supported | |
| Knowledgebase Article | Solution Article1:1 | Fully supported | |
| File / Attachment | Attachment1:1 | Fully supported | |
| Ticket Custom Field | Ticket Custom Field1: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.
LiveAgent gotchas
180 req/min API rate limit on cloud accounts
Custom plugins cannot migrate to cloud
Migration requires mandatory downtime
Ticket resolved email notification must be deactivated pre-migration
Invoicing is usage-based with forward-fee billing
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 API scoping
We audit the source LiveAgent account across version (cloud vs standalone), API rate-limit configuration, and all record types in scope: Tickets, Customers, Companies, Conversations, Tags, Customer Groups, Knowledgebase articles, and any custom fields on Tickets and Customers. We enumerate the Freshdesk plan tier and its API rate limits (Growth: 200/min, Pro: 400/min, Enterprise: 700/min) with per-endpoint sub-limits. The discovery output is a written migration scope document with record counts per object, custom field schemas from both platforms, and a preliminary mapping table.
Freshdesk schema pre-creation and rate-limit planning
We create all required Freshdesk custom fields (ticket and contact custom fields discovered from LiveAgent), Groups, and any required folder structure for Knowledgebase articles before any record import begins. We also configure the Freshdesk API key and domain credentials in our migration tooling, test authentication against the Freshdesk endpoint, and verify the account's rate limit tier by making a lightweight API call. Any standalone LiveAgent deployment receives a database-level rate-limit override configuration before export begins.
Pre-migration Freshdesk notification deactivation
Before writing any records to Freshdesk, we verify that auto-responder emails, SLA escalation notifications, and 'Ticket resolved' triggers are reviewed by the customer's Freshdesk admin. While Freshdesk does not have the same automatic 'Ticket resolved' email behavior as LiveAgent, we ensure that any onboarding or welcome emails that fire on new Contact creation are toggled off during the import window to prevent customer-facing noise from the migration batch.
Export from LiveAgent with rate-limit management
We paginate all LiveAgent exports through the REST API using the /tickets, /customers, /companies, and /conversations endpoints with page-based pagination (default page size). We enforce a 180 req/min governor on all export requests, use exponential backoff on any 429 responses, and chunk large record sets into sequential batches. Conversations are exported after Tickets so that the parent ticket ID is available during the transform phase. Attachments are downloaded to local storage and associated by file reference for re-upload to Freshdesk.
Transform, map, and import into Freshdesk
We run the migration in dependency order: Groups (freshdesk.com/api/v2/groups), Organizations (freshdesk.com/api/v2/contacts), Contacts (with organization_id resolved), Tickets (with requester_id and group_id resolved), Conversations (nested inside each ticket via freshdesk.com/api/v2/tickets/{id}/reply), Tags, and Knowledgebase articles. Each phase is throttled to the Freshdesk plan's per-minute limit with per-endpoint sub-limits respected (e.g., Ticket Create at 40% of total limit on Growth). We validate row counts after each phase against the source export counts before proceeding.
Cutover, validation, and automation inventory handoff
We freeze writes on the source LiveAgent account, run a delta scan for any records modified during the migration window, and write the delta batch to Freshdesk. We deliver a reconciliation report comparing source and destination record counts per object. We hand off the written automation inventory (Macros, Rules, SLA configurations enumerated during scoping) to the customer's Freshdesk admin with a recommended Automation Rules rebuild guide. We do not rebuild automations or configure Freshdesk workflows as part of the standard migration scope.
Platform deep dives
LiveAgent
Source
Strengths
Weaknesses
Freshdesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. All 7 core objects map 1:1 between LiveAgent and Freshdesk.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across LiveAgent and Freshdesk.
Object compatibility
All 7 core objects map 1:1 between LiveAgent and Freshdesk.
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
LiveAgent: 180 requests per minute per API key on cloud accounts; configurable and overridable on standalone installations.
Data volume sensitivity
LiveAgent 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 LiveAgent to Freshdesk migration scoping. Not seeing yours? Book a call.
Walk through your LiveAgent 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 LiveAgent
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.