- Migration Guides
- Freshdesk to Front
Migrating from Freshdesk to Front
Comparing Freshdesk and Front to help you decide if switching makes sense for your team.
What are Freshdesk's strengths and limitations?
Freshdesk's strengths cluster around its standout capability for its target customer base, while its limitations cluster around pricing-model fit at smaller team sizes and channel-coverage gaps versus a messaging-first inbox.
Lists below are drawn from aggregated G2 and Capterra reviews plus our customer-pipeline data.
Strengths
- Mature platform with proven reliability at scale
- Two product lines: ticketing-only (cheaper) and Omni (full messaging)
- Strong automation and workflow capabilities
- Good knowledge base and self-service features
Limitations
- Confusing dual product line (Freshdesk vs Freshdesk Omni)
- Omnichannel messaging requires Omni plans ($29+/agent/mo)
- AI Copilot is $29/agent/mo extra on top of base plan
What are Front's strengths and limitations?
Front's strengths cluster around its standout capability — what makes it a credible upgrade destination for teams currently on Freshdesk. Its limitations cluster around pricing-model fit at smaller team sizes and channel-coverage gaps.
Check whether Front's limitations would create the same pain points you're already trying to escape on Freshdesk.
Strengths
- Excellent team collaboration features with @mentions and internal comments
- Modern, intuitive interface familiar to email users
- Strong AI capabilities including real-time response suggestions
- Comprehensive omnichannel support across all major platforms
Limitations
- Premium pricing that can be expensive for smaller teams
- Essential features locked behind higher-tier plans
- Single channel limitation on Starter plan
How do you move from Freshdesk to Front?
The Freshdesk-to-Front move is a ticket-to-conversation reshape, not a one-click import. Freshdesk has no public Front migration partner, and Front's account data import only accepts contacts (CSV) and conversations (EML, via Support). Plan 2–4 weeks of active work: 3–5 days for export and field mapping, 1 week of parallel running, and a clean cutover. The hard parts are ticket conversations (XMLEML reshape), tags, macros, and rebuilding Freshdesk's automation rules as Front rules.
Step 1: Pull everything out of Freshdesk
Use three Freshdesk export paths in parallel — none of them is "everything":
Tickets (metadata + body) — CSV/Excel
Tickets > All Tickets > Export. Enable "Show multiline text fields" to include the ticket description body. Available on every plan including Free. Returns subject, status, priority, requester, agent, group, tags, custom fields, created/updated timestamps. Does NOT include conversation replies, notes, or forwards — only the first message. Per Freshdesk's export docs, large exports are emailed as a download link.
Full account dump (with conversations) — XML
Admin > Account > Account Details > Export data. Generates an XML archive: tickets with all conversation replies and notes, solution articles, forum posts, customer lists. Emailed when ready. For accounts with thousands of tickets, generation can take hours — kick this off on day 1. This is the only built-in path to a full conversation thread without paying for API calls.
Contacts and companies — CSV
People > Contacts > Export and People > Companies > Export. CSVs emailed to you. Includes name, email, phone, company, timezone, language, and any custom contact/company fields. This CSV is exactly what Front's Contact Manager import expects (see step 3) once column names are aligned.
API path (developers only)
If you need granular control, use the Freshdesk REST API v2: GET /api/v2/tickets (paginated), GET /api/v2/tickets/{id}/conversations (full thread), GET /api/v2/contacts, GET /api/v2/companies. Basic Auth with the API key from Profile Settings. Rate limits per Freshdesk's API docs: Free 0/min, Growth 200/min, Pro 400/min, Enterprise 700/min. Plan API runs over a weekend for large accounts.
What never exports — document by hand
Automation rules (dispatch'r, observer, supervisor), canned responses, SLA policies, scenario automations, marketplace app configurations, and Omni messaging templates are not in any export. Screenshot or copy each one before cancellation — these become your day-1 rebuild list in Front.
Step 2: Get the data into Front
Front offers two import surfaces, neither of which natively reads Freshdesk's XML:
Contacts — CSV via the Contact Manager
Front accepts contact imports as CSV through Contacts > Import. Map columns: Freshdesk NameFront Name, EmailHandle (with handle type = email), Phonesecond handle row (type phone), CompanyAccount. Front contacts support multiple handles per row — combine email + phone for the same person in one row. Custom Freshdesk contact fields map to Front custom fields, which must be created in Settings > Company > Custom Fields before import.
Conversations — EML files via Front Support
Front's account data import path mirrors its export path: per Front's docs on importing historical conversations, EML files are emailed to or uploaded for Support to load into a specified inbox. Freshdesk's XML is not EML — you'll need a conversion script (the Freshdesk XML schema is one ticket per <ticket> with nested <notes> and <conversations> elements; serialize each thread to RFC 5322 EML with proper Message-ID, References, and In-Reply-To headers to preserve threading). Many teams skip this and treat Freshdesk as a 90-day read-only archive instead.
Tags, custom fields, and conversation metadata
Front does not import tag assignments from EML headers. If tag data matters for routing or reporting, build a Front API script (POST /conversations/{id}/tags, per Front Core API) keyed on a header you inject during EML conversion (e.g. X-Freshdesk-Ticket-Id and X-Freshdesk-Tags). Custom fields follow the same pattern via the contact custom fields endpoint.
API path for hands-on teams
For full control, use Front's Core API (dev.frontapp.com). Key endpoints: POST /contacts, POST /channels/{channel_id}/incoming_messages (creates an inbound message, optionally specifying a conversation), and POST /conversations/{id}/comments for internal notes. Front rate limits are tier-based; check the X-RateLimit-Remaining header. The Front Core API export template on GitHub is a good starting point you can invert for import.
How do Freshdesk fields map to Front?
| Freshdesk concept | Front equivalent | Gotcha |
|---|---|---|
| Ticket | Conversation | Loses numeric ticket ID; preserve as a custom field or in the subject prefix. |
| Requester | Contact (handle) | Front keys on handle (email/phone). De-duplicate Freshdesk contacts sharing an email before import. |
| Status (Open / Pending / Resolved / Closed / Waiting) | Open / Snoozed / Archived | Five-statethree-state collapse. "Pending" and "Waiting on customer" both map to Snoozed with a future date. |
| Priority (Low / Medium / High / Urgent) | Tag or custom field | Front has no native priority; rebuild as tags (priority:high) or a custom field. Drives rule routing. |
| Group | Teammate group / inbox | A Freshdesk group typically becomes a Front shared inbox or teammate group. |
| Agent | Assignee | 1:1. Match by email; agents need Front accounts created before import. |
| Tags | Tags | Not imported from EML. Apply via API after conversation import (see step 2). |
| Canned response | Message template | Variable syntax differs. {{ticket.requester_name}}{{contact.name}}. Recreate by hand. |
| Dispatch'r / Observer rule | Rule | Conceptually similar; Front rules are inbox-scoped, Freshdesk rules are account-scoped. |
| Scenario automation | Macro (Professional+) or sequence of rules | No 1:1 equivalent on Starter — multi-step actions become teammate-triggered macros. |
| SLA policy | Rules with first-response + resolution targets | Both support business hours. Freshdesk's multi-tier escalation chains require multiple Front rules. |
| Solution article (KB) | Front Knowledge Base (Professional+) | No automatic import. Copy article HTML by hand, or skip the KB on the move. |
| Internal note | Comment | EML conversion should write notes as X-Front-Comment: true-tagged parts; otherwise they show as messages. |
| Custom object | No equivalent | Front has contact custom fields only. Custom-object data needs a CRM integration (Salesforce/HubSpot via Front's app switcher). |
What's a realistic cutover timeline?
Week 1 — Export and prep
Day 1: trigger the XML account export (it'll run for hours), kick off CSV exports for tickets and contacts. Day 2–3: provision Front workspaces and inboxes, create teammate accounts, define custom fields and tags. Day 4–5: write or run the XMLEML converter, do a dry-run import on a 50-ticket subset.
Week 2 — Channels and parallel run
Connect email (forwarding swap detailed in the Week 3 cutover and the dedicated section further down) and any Omni channels (WhatsApp, Messenger, Instagram) to Front. Rebuild rules, message templates, and SLA targets. Run both inboxes in parallel — new mail goes to Front, open Freshdesk tickets get worked to completion. Train the team: 30-min walkthrough of Front's Open/Snoozed/Done flow vs Freshdesk's ticket views.
Week 3 — Cutover
Submit Front's account data import for the converted EML archive (allow 5–10 business days per Front Support's published guidance). Apply tags via API. Verify a sample of 20 imported conversations. Cut MX/forwarding to Front fully and stop sending new mail to Freshdesk.
Week 4 — Decommission
Disable Freshdesk channels. Keep the Freshdesk account in read-only mode for 30–90 days as your historical archive (downgrade to Free plan if eligible to reduce cost during the archive window). Save the raw XML export to cold storage. Cancel the subscription.
How do you swap email forwarding from Freshdesk to Front?
Freshdesk and Front both work on a forwarding model — incoming mail forwards from your domain to a vendor-generated address. The swap is a 2-step DNS-or-forwarding change:
Forwarding
If you forward in Gmail/Microsoft 365: change the forward target from [email protected] to the Front-generated address (typically [email protected], found under Front's channel setup). MX records don't change.
Direct MX (less common)
If your domain's MX points at Freshdesk directly, update the MX record to Front's MX values per Front's channel setup. Propagation can take up to 48 hours — do this overnight or on a low-volume day.
SPF + DKIM
Remove the Freshdesk include (include:freshemail.com) from your SPF TXT record and add Front's (include:_spf.frontapp.com). Add Front's DKIM CNAME records. Verify with a tool like MXToolbox before sending production volume.
What honestly doesn't survive the move?
- Knowledge base articles — no programmatic import path; copy HTML by hand or rebuild in Front's Knowledge Base (Professional+).
- Community forums — Front has no equivalent. If forums are load-bearing, evaluate Discourse or keep Freshdesk's customer portal alive in read-only mode.
- Custom objects — Freshdesk's Pro/Enterprise custom objects don't map. Push that data into a CRM (Salesforce, HubSpot) and use Front's app switcher to surface it inline.
- Freddy AI Copilot configuration — Freshdesk's AI add-on doesn't transfer. Front's AI Copilot is a separate $20/seat/month add-on on Starter/Professional, included on Enterprise.
- Multi-product brand portals — Freshdesk's multi-product feature is replaced by Front workspaces (Professional plan caps at 5, Enterprise unlimited).
- Numeric ticket IDs — Front conversations have UUID-style IDs. Preserve Freshdesk's
#12345as a custom field or subject prefix if customers reference them. - Phone (Freshcaller) — separate Freshworks product. Front voice runs on Aircall/Dialpad integrations; handle independently.
Honest tradeoff: The biggest cost isn't the migration — it's the per-seat math after. Per Freshdesk Omni pricing (2026), Omni Pro is $79/agent/month annually; per Front's published 2026 pricing, Professional is $65/seat/month annually with omnichannel — meaning a 10-agent team on Front Professional costs $650/month, vs $790/month on Omni Pro. Front saves around $1,680/year on a 10-seat team but still scales linearly with headcount. If per-seat scaling is the reason you're switching, a flat-rate alternative like Converge ($49/month flat for up to 15 agents, all messaging channels and AI included, per useconverge.app/pricing) is worth comparing before committing to another per-seat platform — see how Front and Converge compare.
Consider Converge as an Alternative
Before switching from Freshdesk to Front, consider Converge: $49/month flat rate for up to 15 agents with native WhatsApp, Telegram, Messenger, Discord, and Zalo support. No per-seat fees.
Ready to try Converge?
$49/month flat. Up to 15 agents. 7-day free trial, no credit card required.
Start Free Trial