Integrations
Freshdesk
Let your Chatmount AI agent escalate complex customer issues to your human support team by creating a Freshdesk ticket with a summary of the conversation and the context the agent already gathered.
Overview
Integrating Freshdesk with Chatmount lets your agent automatically hand off conversations that need human attention. The agent writes the ticket in the visitor’s voice, includes the relevant conversation context, and your support team picks up in Freshdesk where the bot left off — no need to ask the visitor to repeat themselves.
Operator replies in Freshdesk are mirrored back into the Chatmount conversation, and closing the ticket in Freshdesk returns the chat to the AI agent. The whole loop runs over a single webhook we configure for you when you connect.
Setup guide
You need a Freshdesk account where you can generate API keys for an agent with admin rights. Chatmount uses the API key to validate the connection and to register an Automation Rule that posts ticket updates back to us.
Open the Integrations page
From your dashboard open the agent you want to connect, then go to
Settings→Integrationsand clickConnecton the Freshdesk card.You can also start the same flow from the agent’s
Actionstab — when you add an Escalate to human action with no helpdesk connected, Chatmount prompts you to connect Freshdesk in a popup window before you configure the ticket template.Find your subdomain and API key
Your Freshdesk subdomain is the part before
.freshdesk.comin your help-desk URL. For example, if your team logs in athttps://acme.freshdesk.com, your subdomain isacme.To find your API key:
- Log in to Freshdesk.
- Click your profile picture in the top-right corner and choose
Profile Settings. - On the right-hand side, click
View API Key. Copy the value — you’ll need it in a moment.
Connect
In the Chatmount connect popup, paste your subdomain and API key, then click
Submit. We validate the credentials against Freshdesk’s/agents/meendpoint before storing anything, and the token is encrypted at rest.On success, the modal flips to the “Connected” state showing your subdomain, the agent the token belongs to, and the timestamp of the most recent webhook we’ve received from Freshdesk.
Add the Escalate to human action
Open the agent’s
Actionstab and addEscalate to human. Pick Freshdesk as the ticket platform, leave the default prompt in place (or edit it), and save. From now on the AI will create a Freshdesk ticket whenever the conversation meets the criteria in your prompt.The full configuration walkthrough lives in the Escalate to human guide.
What happens when the agent escalates
When the AI decides to escalate (based on your action prompt), it calls Freshdesk’s POST /tickets endpoint with:
- A concise subject summarising the user’s problem in their own voice.
- A description containing the relevant conversation context in HTML, paragraph by paragraph.
- The visitor’s email if one was captured during the conversation, so Freshdesk threads the ticket onto an existing contact when possible.
The AI confirms the escalation back in chat (e.g. “I’ve opened a ticket for our support team”) without sharing the ticket link — visitors are told that support will email them.
Operator replies sync back
The connect flow registers a Freshdesk Automation Rule named Chatmount sync (<chatbotId>) under Admin → Automations → Ticket Updates. The rule POSTs to a Chatmount webhook on every public agent reply and every status change, authenticated with a per-integration secret in the X-Chatmount-Secret header.
When Chatmount receives a webhook, we:
- Mirror the latest public reply into the corresponding Chatmount chat session as an
operatormessage, so the visitor sees the reply inside the same widget. - Mark the session as
operator_active— the AI agent pauses while a human is in the loop. - When the ticket is resolved or closed (Freshdesk status
4or5), the session returns to AI control.
Auto-draft replies for new tickets
Beyond escalation, Chatmount can work the other direction too: when a new ticket lands in your Freshdesk inbox (via email, contact form, or any other channel), the agent reads it and posts a drafted reply as a private noteon the ticket. Your support team reads the draft, edits as needed, and sends the public reply. The visitor never sees the draft — only your agents do.
To turn it on, open this agent’s Integrations page, click into the connected Freshdesk card, and flip the Auto-draft replies for new ticketstoggle. Chatmount registers a new Dispatch’r rule in your Freshdesk admin (visible under Admin → Workflows → Dispatch’r) that webhooks every new ticket to us. From then on, each new ticket gets a draft within a few seconds of arriving. Flip the toggle off and we tear the rule down again.
Troubleshooting
“Freshdesk credential validation failed”: The subdomain or API key is wrong, or the agent the key belongs to doesn’t have permission to call /agents/me. Double-check the subdomain (just the prefix, no https:// or .freshdesk.com) and regenerate the API key from Profile Settings.
Connect succeeded but operator replies don’t sync: The API token isn’t admin-level, so Chatmount couldn’t create the automation rule. The connect modal shows a yellow “Webhook rule not registered” notice when this happens. Reconnect with an admin token, or create the rule manually under Admin → Automations → Ticket Updates using the webhook URL Chatmount shows you.
Tickets are created but contacts aren’t threaded: The visitor email Chatmount sends is matched against existing Freshdesk contacts by email address. If the AI hasn’t captured an email during the conversation, Freshdesk creates a new contact each time. Adjust your Escalate to human prompt to request the email earlier in the flow.
Related