First: you may not need us
Both helpdesks have their own WhatsApp channel. Zendesk lets admins add WhatsApp under Admin Center > Channels > Messaging and social > Messaging, on Suite plans or Support and Chat with the Social Messaging add-on. Freshdesk offers WhatsApp in Freshdesk Omni, on the Growth, Pro and Enterprise plans. If all you want is agents answering WhatsApp chats inside the helpdesk, check those first. They're quicker to switch on.
A custom build makes sense when the conversation needs to do more than reach an agent:
- an automated first step that answers order, booking or account questions from your own systems before a ticket is created
- WhatsApp Flows forms, payment links or bookings in the same conversation as support
- tickets created by your other systems, for example a failed delivery or a missed payment, that should reach the customer on WhatsApp
- the same WhatsApp number shared between sales, bookings and support, with only support conversations landing in the helpdesk
We run each number on one system. We don't connect the same number to the helpdesk's own WhatsApp channel and to our platform at the same time.
Vendor pages: Adding WhatsApp channels, Zendesk · WhatsApp integration, Freshdesk
Typical flows, both directions
WhatsApp to the helpdesk
- New conversation becomes a ticketThe customer's WhatsApp number is matched to a helpdesk contact, or a new one is created. The ticket gets a WhatsApp tag, the first message and any details the conversation already collected (order number, branch, category).
- Follow-up messages join the same ticketWhile a ticket is open, new messages from that customer are added to it as comments, not new tickets.
- Sorted before it landsOptionally, Claude reads the message and sets the ticket's category, priority or a short summary, so it hits the right queue. Voice notes can be transcribed first, so agents read rather than listen.
- Forms and photosAnswers from a WhatsApp Flow arrive as structured ticket fields. Photos and documents the customer sends are saved on our platform; in scoping we confirm how they reach the ticket, attached to it or linked from it.
The helpdesk to WhatsApp
- Agent replies go out on WhatsAppWe set up a Zendesk trigger or Freshdesk automation rule so that a public agent reply on a WhatsApp ticket fires a webhook to our platform, which sends it to the customer. The rule is written to leave private notes out, and we test that on your account.
- Replies after 24 hoursMeta only allows free-form messages within 24 hours of the customer's last message. After that, the build sends an approved template, for example "We've replied to your support request", which reopens the conversation when the customer answers.
- Status updatesWhen a ticket is solved, a short message can confirm it and ask for a rating, with the answer added to the ticket as a note. If the 24-hour window has closed, this goes as an approved template.
- Tickets your systems createWhere another system opens a ticket (a failed delivery, a returned order), a helpdesk rule can trigger a WhatsApp message to the customer. Because the customer may not have messaged you recently, this is an approved template.
Source: Customer service windows, Meta for Developers
How the build works
Our platform holds the WhatsApp side: your number, connected through Meta's Embedded Signup, plus the message log, templates and delivery tracking. The helpdesk link is a conversation program our engineers write for you, using two parts:
- Outbound calls to the helpdesk API. In Zendesk, the Tickets API creates tickets and adds comments, and a ticket's
external_idcan tie it to the conversation. In Freshdesk,POST /api/v2/ticketscreates a ticket from a phone number and name, and the reply and notes endpoints add to it. Freshdesk authenticates with an API key; for Zendesk we use an API token for a dedicated user. - An inbound webhook on our side. Zendesk webhooks can be attached to a trigger, support basic, bearer-token or API-key authentication, and sign each request with a signing secret. Freshdesk automation rules on ticket updates have a "Trigger webhook" action with authentication and custom headers. Either sends the agent's reply to an authenticated endpoint on our platform.
We design around a few real limits. Freshdesk caps API calls per plan, and its automation-rule webhooks at 1,000 calls an hour, so the build stays well inside both. Our platform's calls to your helpdesk time out after 10 seconds by default, read at most 8 KB of each response and don't retry on their own, so the build handles failed calls itself. And we test the exact trigger conditions on your account, because "fire only on a public agent reply to a WhatsApp ticket" is easy to get slightly wrong.
Vendor docs: Zendesk Tickets API · Zendesk Webhooks API · Freshdesk API v2 · Freshdesk webhooks in automation rules
Agents stay in Zendesk or Freshdesk, which already have assignment, queues, SLAs and canned replies. Our own shared inbox is simpler: it has no agent assignment or routing. So for a ticketed support team, the helpdesk is the right place to work, and we write the build so automation steps back once an agent is working a ticket.
Example scenarios
- Online retailer. "Where's my order?" is answered automatically from the order system. Returns and damaged items become Zendesk tickets with the order number and the customer's photos.
- Installer or field service. Missed appointments and fault reports go to Freshdesk with the job number. The agent's update reaches the customer on WhatsApp, not by email they won't open.
- ISP or utilities. A customer reports an outage by voice note. It's transcribed, tagged by area and added to the open incident ticket for that area instead of opening a duplicate ticket for every report.
- Insurer or broker. Policy questions reach the service desk as tickets; claims go through a WhatsApp Flow into the claims system, and only exceptions become tickets.
These are examples of what the build can do, not client results.
What it costs
Meta bills you directly for messages, at Meta's rates, in US dollars. For a South African number from 1 October 2026: agent replies inside the 24-hour window are service messages at US$0.0095, with the first 1,000 a month per number free; a utility template (such as "we've replied", if Meta approves it as utility) is US$0.0095; a marketing template is US$0.0379. Messages from customers are free. Your Zendesk or Freshdesk subscription is separate and stays with the vendor.
We charge for building the integration, from R15,000 ex VAT, plus R7,500 per integration, and a monthly fee from R4,950 ex VAT to run it. See Euphony pricing for plans and full-cost examples, and WhatsApp pricing in South Africa for Meta's rates in rand.
Source: Pricing on the WhatsApp Business Platform, Meta for Developers (rates checked 26 October 2026)
What you need to provide
- A Meta business portfolio and the WhatsApp number you'll use, connected through Embedded Signup. If you're with another provider, you share your WhatsApp account with us and the number doesn't move, but your message templates are recreated (see switching providers).
- A payment method on your Meta account, because Meta bills you directly.
- An admin on your Zendesk or Freshdesk account to create the API token or key, the webhook and the trigger or automation rule with us.
- The ticket fields, tags and groups WhatsApp tickets should use, and who should get them.
- The wording for your templates, such as "we've replied" and "your ticket is solved". We submit them to Meta for approval.