How to Integrate Freshchat with Freshdesk
Freshchat is where the fast, informal conversations happen — the website visitor with a pre-sales question, the customer tapping out a quick reply in a messenger — and Freshdesk is where the durable, trackable work lives as tickets. Left unconnected, they become two inboxes with two histories of the same customer, and agents waste time copying context between them. Integrating the two lets a chat become a ticket in one click, keeps contact records in step, and pulls your help desk knowledge base into chat as FAQs. This guide walks through the setup from both sides, maps out what actually syncs, and stays honest about where the native integration stops and a human (or an AI layer) has to take over.
What the integration actually connects
Both products are Freshworks tools, so the integration is native rather than a third-party bridge — but they remain two separate systems with two separate data stores, and the integration is the plumbing between them. Once linked, three things flow across the join. Conversations can be converted into Freshdesk tickets, so a chat that needs real follow-up becomes a tracked, SLA-governed ticket instead of scrolling off the top of a messenger. Contacts sync so the same person isn't two disconnected records. And your knowledge base — Freshdesk solution articles — can be imported into Freshchat as FAQs so the bot and self-serve widget answer from the same source of truth your agents use.
It helps to be clear on the direction of travel. The strongest, most-used path is chat → ticket: a live conversation graduating into the ticketing workflow. That's the "unify chat and tickets" promise most teams are actually buying.
Before you start: the prerequisites people miss
Two requirements trip teams up before they even reach the setup screen. First, both accounts must belong to the same Freshworks organization — this is a same-org integration, not an arbitrary API link between two unrelated tenants. Second, you must be a full-time Admin on both Freshchat and Freshdesk; occasional agents cannot authorize the connection. Per Freshworks' Freshdesk–Freshchat integration guide, the connection also leans on an admin's API key — which matters later, because if that specific admin is downgraded, the integration stops working until someone re-authorizes it.
Step 1: Link the accounts from the Freshdesk side
Start in Freshdesk, because that's where the ticketing side of the relationship is anchored.
- Go to Admin → Channels → Messaging.
- Toggle "Link Freshdesk with your Freshchat account."
- Enter your Freshchat App ID — you'll find it in Freshchat under Settings → Account Settings → Integration Settings, on the Agent widget.
- Enter your Freshchat Token ID, found in the same Integration Settings area under the Visitor widget.
- Optionally toggle "Chat for your support portal" if you want the Freshchat widget embedded on your Freshdesk help center so visitors can chat while browsing articles.
- Click Finish.
That single toggle does the heavy lifting on the Freshdesk end. If you later want to remove the widget from specific portals, you edit the portal theme under Admin → Portals → [Portal Name] → Customize Portal → Edit Theme and strip out the widget code — the connection stays, but the chat bubble comes off that portal.
Step 2: Authorize and configure from the Freshchat side
The richer configuration — field mapping, contact sync, FAQ import — lives on the Freshchat side. Per Freshworks' connect your Freshchat and Freshdesk accounts documentation, the path is:
- In Freshchat, go to Settings → Admin Settings → Marketplace and Integrations → Conversation Integrations → Freshdesk.
- Click Connect Account. Because both products are in the same org, Freshchat shows you the list of Freshdesk accounts in your organization rather than asking you to paste a portal URL — pick the right one.
- Map the ticket fields that get populated when an agent converts a chat into a ticket. Each mapped field can be set as editable, non-editable, or editable and mandatory for the agent doing the conversion.
- Choose whether to import Freshdesk solution articles as FAQs. Note a quirk worth flagging to your team: Freshdesk Folders become Freshchat Categories on import — the Freshdesk category level isn't carried across, so plan your FAQ taxonomy around folders.
One field-mapping gotcha to watch: if a field is mandatory in one account but not the other, the mapping page throws an error and won't save until you reconcile them. It's the single most common reason a first-time setup stalls.
Step 3: Understand what syncs — and how often
This is the part teams should read carefully, because "synced" is doing a lot of work in the marketing copy and the reality is more specific.
Contacts sync automatically on a schedule — roughly every 15 minutes — matched on email address or an external ID field. If neither field is populated on a contact, that record simply won't sync. There's also a ceiling: Freshworks documents a daily cap of about 170,000 contact syncs, which most teams will never hit but which matters if you're doing a large one-time migration.
Conversations don't stream automatically into tickets — an agent (or a rule) has to convert them. From a Freshchat conversation, the agent uses the resolution flow to Resolve and convert to ticket, fills in the mapped ticket fields, and creates the ticket. Freshchat agents can also be added as shared agents on Freshdesk to get read-only access to the resulting tickets and tasks, which is handy when a chat specialist needs to see how a converted ticket played out without a full Freshdesk seat.
Native app vs. middleware vs. Zapier: which route?
Because both tools are Freshworks products, the native integration is almost always the right answer — but it's worth knowing the alternatives exist and why you'd (rarely) reach for them.
| Approach | Best for | Sync depth | Cost / effort |
|---|---|---|---|
| Native Freshchat–Freshdesk integration | Any team already on both, same org | Contacts, chat→ticket conversion, FAQ import, shared agents | Included on supported plans; admin-level setup |
| Middleware (e.g. custom API / iPaaS) | Non-standard field logic, cross-org edge cases | Whatever you build | Highest effort; ongoing maintenance |
| Zapier / Make | Lightweight one-directional triggers between other apps | Shallow, event-based | Per-task pricing; brittle for rich two-way flows |
For the vast majority of teams the native route wins on every axis that matters. Zapier and middleware only earn their keep when you're stitching Freshchat or Freshdesk to something outside the Freshworks family, or enforcing field logic the native mapper can't express.
The honest limits — and where an AI layer picks up
The native integration is genuinely well-built for what it promises: it's a first-party connection, contacts stay in step, and turning a chat into a ticket is a one-click, field-mapped affair. Credit where it's due. But notice the boundaries.
It's a plumbing integration, not a reasoning one. It moves records and converts conversations — it does not answer anything. When a chat becomes a ticket, the ticket still lands, unanswered, in the queue for a human to read and reply to. The 15-minute contact sync means records aren't truly real-time. The Folder-to-Category quirk means your imported FAQ structure may not match what you expected. And the whole thing hinges on plan gating — the integration is available on current Growth, Pro, and Enterprise plans (and the older Blossom/Garden/Estate/Forest tiers) — plus the fragile dependency on one admin's API key, which quietly breaks the sync the day that admin is offboarded or downgraded.
None of that is a knock on the native app; it's just the shape of what a connector does. The gap it leaves is the reasoning-heavy work: reading the converted ticket, understanding the customer's actual problem, and drafting the answer. That's the seam where an AI agent layer for customer service fits, and it's worth being clear-eyed about the build-versus-buy tradeoff before you reach for one.
Macha is one such layer, and the positioning matters: it runs on top of the Freshdesk you already use as a native connector — it does not replace your help desk, and it is not a chat tool in Freshchat's place. Worth saying plainly, because it's an easy thing to get wrong: Macha connects to Freshdesk, not to Freshchat (nor Freshservice or Freshcaller). So the clean division of labour is — let the native integration bring the chat into Freshdesk as a ticket, then let an agent on the Freshdesk side do the answering. You connect Macha to Freshdesk with your subdomain and API key, and it reads and writes those same tickets: drafting or posting grounded first replies on the ticket a chat just became, triaging by intent, and looking up order or account status through a custom tool that turns a REST API into something the agent can call. Credits are consumed per AI action, not per resolution — the pricing page breaks that down. If you want the fuller picture of automating the ticket side once chats have landed there, see how to automate Freshdesk with AI. And if chat over messaging apps is your real goal, the Freshdesk + WhatsApp setup covers that adjacent channel.
FAQ
Where do I connect Freshchat and Freshdesk? From the Freshdesk side, go to Admin → Channels → Messaging and toggle "Link Freshdesk with your Freshchat account," then enter your Freshchat App ID and Token ID. From the Freshchat side, go to Settings → Admin Settings → Marketplace and Integrations → Conversation Integrations → Freshdesk and click Connect Account. Both accounts must be in the same Freshworks organization, and you need full-time Admin on both.
Does the integration sync tickets and chats automatically? Partly. Contacts sync automatically about every 15 minutes (matched on email or external ID). Conversations do not stream into tickets on their own — an agent converts a chat into a ticket via the resolution flow, filling in the mapped ticket fields.
Which Freshdesk plans support the Freshchat integration? It's available on the current Growth, Pro, and Enterprise plans (and the older Blossom, Garden, Estate, and Forest tiers, including Freshdesk Omni's Growth/Pro/Enterprise). Confirm the exact availability against your own plan.
Why did my Freshchat–Freshdesk sync suddenly stop? The integration relies on the API key of the admin who authorized it. If that admin is downgraded or offboarded, the connection breaks. Re-authorize via Account Preferences → Edit Authorization with a current full-time admin.
Can I add AI to converted tickets without replacing Freshdesk or Freshchat? Yes. An AI agent layer like Macha connects to Freshdesk (not Freshchat) as a native connector and works on the tickets your chats become — drafting or sending grounded replies and triaging by intent — while your existing Freshchat–Freshdesk integration keeps doing the plumbing. Macha doesn't replace either tool.
Ready to help agents answer the tickets your chats become, instead of just filing them? Start a free trial of Macha and connect it to your Freshdesk in minutes.
Add AI agents to your Freshdesk
Macha resolves tickets end to end on Freshdesk — no migration, no code.
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

