Integration Recipe

Zoho Desk WhatsApp integration: tickets from the number you already use

Setup guide and importable n8n workflowLast verified October 2026

There are two ways to run WhatsApp with Zoho Desk. Zoho Desk offers its own WhatsApp channel through the WhatsApp Business API, which means a number registered on the API, approved templates for messages outside the 24-hour window, and per-message fees. The other way keeps WhatsApp on the number your customers already use, with Spun as the WhatsApp workspace, and connects WhatsApp and Zoho Desk through a workflow in your own n8n.

This page covers the second route. Every WhatsApp conversation becomes one Zoho Desk ticket, later messages are added as comments, and a public comment by an agent goes back to the customer on WhatsApp. If your whole support operation already lives in Zoho Desk and you are happy with Business API pricing, Zoho's own channel is the simpler choice.

What the WhatsApp Zoho Desk workflow does

  • The first message of a conversation creates a ticket in the department you choose, linked to a Zoho Desk contact found or created by phone number. The ticket stores the Spun chat id in a custom field.
  • Later messages are added to the open ticket as public comments, prefixed with the sender's name and number. Media arrives as a link that stays valid for 24 hours.
  • Replies your team sends from the Spun inbox are added as private notes, so the agent in Zoho Desk sees the whole exchange and both sides can answer.
  • A public comment by an agent is sent to the customer on WhatsApp as text. Private notes and the workflow's own comments are never sent.
  • Archiving the conversation in Spun closes the ticket, and unarchiving reopens it. Closing in Zoho Desk can archive the conversation in Spun as well, an option that is off until you turn it on.
How a WhatsApp message lands on the ticket (illustrative)
Subject: WhatsApp: Hi, my order has not arrived yet

[WhatsApp] Maria Lopez (+15550142233): Hi, my order has not arrived yet
[Sent from Spun] Alex: Sorry about that, checking now.

Setup, step by step

You need a Zoho Desk plan that includes webhooks (Zoho offers them on Professional and Enterprise), an n8n instance that Zoho Desk and Spun can reach over HTTPS, and a dedicated Zoho Desk agent for the integration, such as "WhatsApp (Spun)". The setup guide lists every value and where to find it.

  1. 1

    Create a Zoho API client

    In the Zoho API console, create a self client and add an OAuth2 credential in n8n with Zoho's URLs for your data centre and the scopes in the setup guide.

  2. 2

    Find your Zoho identifiers

    The organisation id, the department that should receive WhatsApp tickets, and the id of the integration agent.

  3. 3

    Add two custom ticket fields

    One for the Spun chat id (required) and one for the Spun line (optional). The workflow needs their API names, not their labels.

  4. 4

    Import the workflow

    Open its Settings node and paste the Zoho values, the ticket channel value and the status your portal uses for open tickets.

  5. 5

    Create a Spun API key

    Settings, then Webhooks, then Manage API Keys, with the Send Messages scope. Tick "Close & Reopen Conversations" too if closing in Zoho Desk should archive the conversation in Spun.

  6. 6

    Subscribe Spun to the workflow

    Add a webhook for incoming messages, outgoing messages, conversation closed and conversation reopened, with the payload template set to raw, and paste its signing secret into the workflow.

  7. 7

    Create the Zoho Desk webhook

    In Developer Space, point a webhook at the workflow's reply URL for new ticket comments in your department.

  8. 8

    Send a test message

    Message the line from another phone. A ticket appears in Zoho Desk; answer it with a public comment and the reply reaches the phone.

Related: Docs: Zoho Desk via n8n, the full setup guide · WhatsApp + n8n: the API and webhooks underneath

What to know before you build

  • Group chats are skipped: a group has no phone number to link to a contact or a ticket.
  • One active ticket per conversation. A message after the ticket was closed starts a new ticket.
  • Media goes in as a 24-hour link, not as a Zoho attachment. Replies from Zoho Desk are text only; attachments on an agent comment are not forwarded.
  • Closing in Zoho Desk archives the conversation in Spun only after you turn that option on and give the API key the Close & Reopen Conversations scope.
  • Each delivered event uses AI tokens from your Spun plan. How this is metered for helpdesk use is still being reviewed.
  • The workflow remembers tickets and contacts in n8n, which keeps it well within Zoho's API limits.

Related: All WhatsApp helpdesk integrations · WhatsApp as the helpdesk itself

Frequently asked questions

Can Zoho Desk create tickets from WhatsApp messages?

Yes. With Spun and the n8n workflow, the first WhatsApp message of a conversation creates a Zoho Desk ticket linked to a contact found or created by phone, and later messages are added to that ticket as comments.

How do agents reply to WhatsApp from Zoho Desk?

With a public comment on the ticket. A Zoho Desk webhook sends it to the workflow, which sends it to the customer on WhatsApp from your own number. Private notes stay internal.

Which Zoho Desk plan do I need?

A plan that includes webhooks, which Zoho offers on Professional and Enterprise. The webhook carries agent replies back to WhatsApp.

Does it use Zoho Desk's own WhatsApp channel?

No. It keeps WhatsApp on the number your customers already use, in Spun, and creates tickets through the Zoho Desk API. Zoho's own channel runs on the WhatsApp Business API with its own number, templates and fees.

Is this a Zoho Marketplace app?

No. It is an n8n workflow that you import into your own n8n, Cloud or self-hosted, with a setup guide in the Spun docs.

Keep WhatsApp on your number, tickets in Zoho Desk

Spun turns your existing WhatsApp number into a shared team inbox with labels, assignment and AI summaries, plus the webhooks and API this workflow uses. Free trial.

Start Free Trial

See all integrations