Migrate from Freshdesk to message.com
Freshdesk is the helpdesk arm of Freshworks (Freshchat is the live-chat sibling, Freshcaller the phone product). message.com swaps all three for one unified inbox: tickets, chat, and phone in the same queue, no per-agent tax, AI in base.
What stays the same
- Email-driven tickets. Same inbound address pattern.
- SLA policies. Configurable per department.
- Canned responses. Map to message.com saved replies.
- Custom fields. Become message.com custom attributes.
What is different
- Single product, not three. Freshdesk + Freshchat + Freshcaller becomes one workspace in message.com.
- Predictable pricing. No per-agent escalation; no add-on tier-up for AI.
- Unified inbox. Agents work one queue across channels instead of three browser tabs.
- API surface. One JWT scoped to the workspace. See REST conventions.
1. Export Freshdesk data
- From the Freshdesk admin, go to Admin → Account → Data export.
- Export Contacts, Companies, and Tickets as CSV.
- For full ticket bodies, use the Freshdesk REST API:
GET /api/v2/ticketswithinclude=conversations,description. - Note your group structure; recreate as message.com departments.
2. Set up message.com
- Sign up at app.message.com/register.
- Enable all relevant channels: chat, tickets, phone.
- Create departments matching your Freshdesk groups. See Route by department.
3. Connect email domain
Two paths:
- MX move. Best long-term. See Connect a custom email domain.
- Forwarding. Set Freshdesk to forward incoming mail to a message.com inbound address.
4. Import contacts
Upload the Freshdesk contacts CSV under Settings → Visitors → Import. Map:
- Freshdesk
email→email. - Freshdesk
name→name. - Freshdesk contact ID →
externalIdwithfreshdesk:prefix. - Custom fields → attributes.
5. Swap the Freshchat widget
Remove the Freshchat snippet (wchat.freshchat.com). Paste:
HTML
<script>
(function(d,s,o){
var j=d.createElement(s);j.async=1;j.src='https://app.message.com/widget.js';
j.dataset.workspace=o;
d.head.appendChild(j);
})(document,'script','YOUR_WORKSPACE_ID');
</script>6. Port phones from Freshcaller
If you use Freshcaller, port your numbers onto our carrier-grade SIP infrastructure. Open a porting ticket with message.com support; they handle the LOA paperwork. Plan two to three weeks for completion.
7. Recreate macros, SLAs, automations
- Macros → Saved replies.
- SLAs → department-level SLA settings.
- Automations → routing rules + AI custom tools (Build an AI agent).
Cutover checklist
- Email delivery verified: send to support, confirm ticket arrives.
- Outbound replies: confirm
spf=pass dkim=passon a test reply. - Freshchat snippet removed, message.com snippet live.
- Phone numbers ported (or new numbers claimed, old number forwarded during transition).
- Departments mirror old Freshdesk groups.
- Macros recreated.
- SLAs configured per department.
- Dual-load (forwarding) for one to two weeks.
- MX move when team confirms readiness.
- Cancel Freshdesk / Freshchat / Freshcaller. Hold Freshdesk in read-only archive mode for compliance.
Common pitfalls
- Three products at once. If you use all three Freshworks tools, plan the cutover in stages: tickets first, chat second, phone last (phone porting takes weeks).
- Time-tracking add-on. Freshdesk has a built-in timer; message.com's reports cover handle time differently. Decide what metric matters.
- Custom field types. Freshdesk supports typed fields (date, number, etc.). message.com custom attributes are flexible JSON; cast at import.
- Multi-product navigation. Agents used to switching between Freshdesk and Freshchat tabs need to learn the one-inbox flow.