Freshdesk Integration
Freshdesk Integration
Integrate Kommunicate with Freshdesk to forward conversations as tickets, either automatically when a conversation is resolved or manually by an agent. You can also enable two-way messaging between Freshdesk and the Kommunicate chat widget.
Freshdesk Ticket Integration in Kommunicate
Following are the steps to integrate the Freshdesk ticket in Kommunicate:
- Login to your Freshdesk account >> Click on Profile >> Profile settings >> View API Key. Complete the captcha and copy your API key.


- Login to Kommunicate >> Navigate to the Integrations page
Add the API Key and Subdomain, choose how to send the conversation transcript, and click on Integrate.

Ticket Creation on Freshdesk
Automatically forward resolved conversations
In the Freshdesk integration settings, enable Auto-forward conversations to Freshdesk on resolving a conversation. With this option enabled, Kommunicate forwards a conversation to Freshdesk when it is resolved.
Manually forward a conversation
An agent can forward a conversation from the Kommunicate dashboard:
- Open the conversation.
- Select Forward to Integrations below the conversation.
- Click Freshdesk.

Forwarded conversations appear under Tickets in Freshdesk.

Enable two-way messaging
Complete the following steps if you want agents' replies in Freshdesk to appear in the Kommunicate chat widget and customers' widget messages to appear in the corresponding Freshdesk ticket. These steps are only required for two-way messaging.
Step 1: Add conversation metadata to the widget
Find your Kommunicate App ID in Settings > Install in the Kommunicate dashboard. Copy the appId value from the installation script.
Add defaultConversationMetadata: { source: "FRESHDESKCHAT" } to the kommunicateSettings object in your existing widget installation script. The source value must be the string "FRESHDESKCHAT".
The complete script looks like this. Replace YOUR_APP_ID with your own App ID:
<script type="text/javascript">
(function(d, m) {
var kommunicateSettings = {
appId: "YOUR_APP_ID",
popupWidget: true,
automaticChatOpenOnNavigation: true,
defaultConversationMetadata: { source: "FRESHDESKCHAT" }
};
var s = d.createElement("script");
s.type = "text/javascript";
s.async = true;
s.src = "https://widget.kommunicate.io/kommunicate-widget-3.0.min.js";
var h = d.getElementsByTagName("head")[0];
h.appendChild(s);
window.kommunicate = m;
m._globals = kommunicateSettings;
})(document, window.kommunicate || {});
</script>
Note: Serve the page through a web server. Real-time updates will not work if you open the HTML file directly in a browser.
Step 2: Create a Freshdesk automation rule
In Freshdesk, go to Admin > Workflows > Automations > Ticket Updates and create a new rule.
Set Action performed by to Agent and choose Reply is sent as the event.

Step 3: Configure the webhook
Set the action to Trigger webhook and the request method to POST. Use this production webhook URL:
https://omni-channel.kommunicate.io/freshdesk/webhook/YOUR_APP_ID
Replace YOUR_APP_ID at the end of the URL with the App ID you copied from Settings > Install. Use the same App ID as in your widget installation script, and append it directly after /freshdesk/webhook/ without braces.
Enable Requires authentication and enter the same Freshdesk API key you used to configure the integration in Kommunicate.

Step 4: Add the webhook payload
Set Encoding to JSON and select Advanced content. Paste the following payload, keeping the Freshdesk placeholders unchanged:
{
"ticketId": "{{ticket.id}}",
"agent_name": "{{event_performer.name}}",
"agent_email": "{{event_performer.email}}",
"message": "{{ticket.latest_public_comment}}"
}

Save the rule.
Step 5: Verify two-way messaging
- Start a new conversation from the widget with the updated installation script.
- Forward the conversation to Freshdesk using one of the forwarding options above.
- Send a public reply as an agent from the corresponding Freshdesk ticket and confirm that it appears in the Kommunicate chat widget.
- Send a message from the widget and confirm that it appears in the same Freshdesk ticket.