WhatsApp Integration with Freshdesk
Connect Freshdesk (and Freshservice) to WhatsApp Business API via Zaptilo for two-way customer support. Customer messages on WhatsApp become Freshdesk tickets; agent replies in Freshdesk go back via WhatsApp. Lower per-message cost than Freshdesk's native WhatsApp channel, with INR billing and GST invoice.
Why connect Freshdesk to WhatsApp Business API?
- WhatsApp is the #1 support channel in India — higher engagement than email, faster resolution
- Lower per-message cost than Freshdesk's native CPaaS partners
- No per-agent fee from Zaptilo — only Freshdesk's licensing applies
- Two-way conversation — agents reply in Freshdesk, customer sees WhatsApp
- Media attachments work in both directions
- INR billing with GST invoice from Zaptilo
Common use cases
Inbound WhatsApp → ticket
Customer messages on WhatsApp → Freshdesk auto-creates a ticket and routes to the right agent group
Agent reply → WhatsApp
Agent replies in Freshdesk → customer receives the reply on WhatsApp instantly
Status change notifications
Ticket status changes (Open / Pending / Resolved) → customer auto-notified on WhatsApp
Resolution / Closed alerts
Ticket resolved → customer gets a WhatsApp with resolution notes + CSAT survey link
SLA breach alerts
SLA approaching breach → agent + manager get internal WhatsApp alert via Freshdesk webhook
Media support
Customer sends a screenshot on WhatsApp → attached to ticket. Agent sends a PDF guide on WhatsApp
How to integrate Freshdesk with WhatsApp Business API
Architecture
Customer WhatsApp ←──────→ Zaptilo BSP ←──────→ Bridge service ←──────→ Freshdesk
(your code)
Agent UIStep 1: Set up Zaptilo
Sign up at web.zaptilo.ai, generate API token, configure webhook URL pointing at your bridge.
Step 2: Build the bridge — inbound
Endpoint that receives Zaptilo webhooks and creates Freshdesk tickets:
// Node.js
app.post('/zaptilo-webhook', async (req, res) => {
const msg = req.body.entry[0]?.changes[0]?.value?.messages?.[0];
if (!msg) return res.sendStatus(200);
// Find or create a contact
const contact = await freshdeskFindOrCreateContact(msg.from);
// Create ticket
await fetch(`https://${SUBDOMAIN}.freshdesk.com/api/v2/tickets`, {
method: 'POST',
headers: { 'Authorization': 'Basic ' + Buffer.from(API_KEY + ':X').toString('base64'), 'Content-Type': 'application/json' },
body: JSON.stringify({
requester_id: contact.id,
subject: 'WhatsApp message',
description: msg.text?.body || '[media]',
source: 7, // 7 = Chat
status: 2, // Open
priority: 1
})
});
res.sendStatus(200);
});Step 3: Build the bridge — outbound
Webhook from Freshdesk on ticket-update events, calling Zaptilo:
- In Freshdesk → Admin → Workflows → Automations → Ticket Updated rule
- Action: Trigger Webhook → URL: your bridge endpoint, Body: JSON with ticket + reply text
- Bridge looks up customer phone, calls Zaptilo's
/api/send/templatewith reply
Frequently asked questions
How do I integrate Freshdesk with WhatsApp?
Two-way: (1) Inbound — Zaptilo's webhook delivers customer WhatsApp messages to your bridge, which uses Freshdesk's API to create or update tickets. (2) Outbound — Freshdesk's webhook fires on ticket update / agent reply / status change, your bridge calls Zaptilo to send a WhatsApp template to the customer with the update.
Does Freshdesk have native WhatsApp Business API support?
Freshdesk has a built-in 'WhatsApp channel' that requires either Freshchat (their messaging product) or a partner BSP. With Zaptilo via webhooks/API, you get the same outcome — WhatsApp tickets in Freshdesk — at a much lower per-message cost (₹0.04 vs typical CPaaS rates), no per-agent fees, and INR billing.
Will every WhatsApp message become a ticket?
Configurable. Common pattern: first inbound message creates a ticket, subsequent messages within the open ticket append as conversation entries. New conversations after ticket closure can either reopen the existing ticket or create a new one — your business rules.
Can agents reply to WhatsApp tickets from Freshdesk's UI?
Yes. Agent replies in Freshdesk fire a webhook → your bridge calls Zaptilo → reply lands on customer's WhatsApp. The customer never sees Freshdesk; they just see a normal WhatsApp conversation.
What about media attachments — images, documents?
Both directions work. Customer sends an image on WhatsApp → Zaptilo webhook delivers media URL to your bridge → bridge attaches it to the Freshdesk ticket. Agent replies with a file in Freshdesk → bridge sends WhatsApp media message.
Does this work for Freshservice too (IT service desk)?
Yes. Freshservice uses similar webhook + REST API patterns. The same bridge code works with minor endpoint changes. Particularly useful for internal IT support over WhatsApp.
What does it cost vs Freshdesk's native WhatsApp?
Freshdesk's native WhatsApp channel typically charges per-conversation similar to other Tier-1 BSPs. Zaptilo's pay-as-you-go pricing (from ₹0.04/msg, no monthly minimum) usually cuts cost by 40-60% for high-volume support teams. Plus GST invoice for Indian companies.
Is the integration suitable for Indian support teams?
Highly. WhatsApp is the dominant support channel for Indian consumers — higher response rates than email, faster resolution. Combine that with Zaptilo's INR billing and Indian-hours support, and you get a cost-effective omnichannel support stack.
Connect Freshdesk to WhatsApp
Free signup. INR pricing. GST invoice. India-based support.
Get Started FreeSee also: Zoho CRM · Salesforce · All integrations