Integration Recipe

Zendesk WhatsApp integration: the two honest routes

Via REST API + webhooks, bridged by Zapier, Make or n8nLast verified August 2026

There are two truthful ways to get WhatsApp working with Zendesk, and they are very different. Route one is Zendesk's own WhatsApp channel: official, built on the Business API, which means a dedicated number, template approvals, per-message Meta fees, and no WhatsApp groups. Route two keeps WhatsApp on the number you already use, with Spun as the WhatsApp workspace, and connects the two systems through Spun's webhooks and REST API where tickets need to know about conversations.

This page documents route two, and is honest about where route one is the better fit: if your entire support operation lives inside Zendesk and you want WhatsApp as one more native ticket channel at API economics, use Zendesk's channel. If WhatsApp is your primary customer channel and Zendesk is one system among several, keeping it on your real number with a team inbox usually serves customers better.

1. Create Zendesk tickets from WhatsApp conversations

Goal: a WhatsApp conversation that needs formal tracking, an escalation, a complaint, a refund case, becomes a Zendesk ticket without copy-pasting.

  1. 1

    Subscribe to the right events

    In Spun: Settings, then Webhooks, then Add Webhook, pointed at a Zapier Catch Hook, Make webhook or n8n webhook. Select label-assigned as the event.

  2. 2

    Use a label as the escalation switch

    Create a Spun label like "Escalate to Zendesk". Any agent can apply it to a chat; only chats with that label become tickets, so the ticket queue stays clean.

  3. 3

    Create the ticket

    In the middleware, call Zendesk's create-ticket action: requester phone from the event payload, subject from the chat, and the message text into the ticket body. Add a tag like "whatsapp" for reporting.

The webhook envelope includes chat id, phone and message text. Agents keep answering in Spun; Zendesk tracks the case.

2. Send WhatsApp updates when tickets change

Goal: when a ticket is solved or needs customer input, the customer hears about it on WhatsApp, where they actually respond.

  1. 1

    Create a Spun API key

    Settings, then Webhooks, then Manage API Keys. Scope it to send messages; store the wap_ key in your middleware credentials.

  2. 2

    Fire on ticket events

    Use a Zendesk trigger (or the Zapier/Make Zendesk trigger) on the status change you care about, e.g. Solved.

  3. 3

    Call send-message

    POST /api/integrations/send-message with the requester's number and the update text. The message arrives from your real business number, in the thread the customer already knows.

The ticket-solved notification
POST https://api.spun.com/api/integrations/send-message
Authorization: Bearer wap_YOUR_KEY
Content-Type: application/json

{
  "to": "14155552671",
  "text": "Good news - your ticket #4521 is resolved. Reply here if anything still looks off."
}

What to know before you build

  • This is a bridge, not a channel merge: WhatsApp conversations live in Spun, tickets live in Zendesk, and the two reference each other. If you need every WhatsApp message inside the Zendesk agent workspace, that is route one (Zendesk's Business API channel) with its costs and limits.
  • No native Zendesk marketplace app exists for Spun today; authentication is a static API key in your middleware.
  • Rate limit: 60 API requests per minute per key.
  • Many teams discover the ticket layer was the optional part: Spun's labels, assignment and tasks cover chat-native ticketing on their own. See the WhatsApp helpdesk page.

Related: WhatsApp as the helpdesk itself (no Zendesk needed) · WhatsApp + Zapier & Make (the full API surface)

Frequently asked questions

Does Zendesk support WhatsApp natively?

Yes, through its own WhatsApp channel built on the Business API: official and integrated, but with a dedicated number, template rules, per-message Meta fees and no group support. This page documents the alternative: keeping WhatsApp on your existing number in Spun and bridging tickets over webhooks and the API.

Can a WhatsApp message create a Zendesk ticket automatically?

Yes. Subscribe a webhook to Spun's label-assigned event, use an "Escalate to Zendesk" label as the switch, and create the ticket via Zapier, Make or n8n. Raw message-to-ticket is possible too, but label-gating keeps the queue sane.

Can Zendesk send WhatsApp messages through Spun?

Yes: any Zendesk trigger that reaches your middleware can call Spun's send-message endpoint, and the customer gets the update from your real WhatsApp number.

Which route is cheaper?

The Spun route has no per-message fees at any volume (flat $49 to $200/month). Zendesk's native channel adds Meta's per-conversation fees plus Zendesk's own pricing. High-volume support on WhatsApp gets expensive fast on the API lane.

WhatsApp support without the meter

Spun turns your existing WhatsApp number into a shared support inbox with queues, assignment and AI summaries, and the API this recipe uses. Flat pricing from $49/month, free trial.

Start Free Trial

See all integrations

More integration recipes

Google Sheets · HubSpot CRM · Zapier & Make · n8n · Salesforce · Slack · Odoo · GoHighLevel