Integration Guide

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 UI

Step 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/template with 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 Free

See also: Zoho CRM · Salesforce · All integrations