Integration Recipe

Freshdesk WhatsApp integration: tickets on the number you already use

Setup guide and importable n8n workflowLast verified October 2026

There are two ways to run WhatsApp with Freshdesk. Freshdesk 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 Freshdesk through a workflow in your own n8n.

This page covers the second route, the WhatsApp Freshdesk workflow: every one-to-one conversation becomes a Freshdesk ticket, later messages are added to it, and an agent's public note goes back to the customer on WhatsApp. If all of your support already runs in Freshdesk and Business API pricing suits you, Freshdesk's own channel is the simpler choice.

What the WhatsApp Freshdesk workflow does

  • Every one-to-one WhatsApp conversation becomes a ticket with the source Chat, the tags spun and whatsapp, and the Spun chat id in a custom field.
  • The requester is matched to a Freshdesk contact by phone, then mobile, in international format. If there is no match, a contact is created with the name and number only. Existing contacts are never edited and no email address is ever added.
  • Later messages are added as public notes on the customer side of the thread, prefixed with the sender's name and number. A Pending or Resolved ticket goes back to Open.
  • Agents answer with a public note, and the note reaches the customer on WhatsApp as text. Private notes stay internal.
  • Replies your team sends from the Spun inbox appear as private notes, so both sides can answer.
  • Archiving in Spun closes the ticket (or resolves it, a setting), and unarchiving reopens it. Closing in Freshdesk can archive the conversation in Spun as well, an option that is off until you turn it on.
  • After a ticket is Closed, the next message opens a new ticket that names the previous ticket number.

Freshdesk's API has no WhatsApp ticket source, so these tickets use the Chat source plus the whatsapp tag. Reports filtered on Freshdesk's own WhatsApp channel do not include them; filter on the tag instead.

Answer with a public note, not the Reply button

On a WhatsApp ticket, agents answer with Add note and switch the note to public. The Reply button sends an email, and a customer the workflow created has no email address. A public note is what the automation rule sends to the workflow, and what reaches the customer on WhatsApp.

Setup, step by step

You need Freshdesk Growth or above for two-way sync, because agent notes reach the workflow through an automation rule that calls a webhook. On Free and Sprout, WhatsApp messages still become tickets, but notes cannot be sent back. You also need a Freshdesk admin, an integration agent such as "Spun WhatsApp" with its own API key, and an n8n instance that Freshdesk and Spun can reach over HTTPS.

  1. 1

    Create the API key credential

    Signed in as the integration agent, copy the API key from Profile settings and add it to n8n as a Basic Auth credential.

  2. 2

    Add a "Spun chat id" ticket field

    A single-line text field, not required for agents or for closing, plus an optional "Spun line" field.

  3. 3

    Import the workflow

    Open its Settings node and paste your Freshdesk URL, the API name of the chat id field and the id of the integration agent.

  4. 4

    Choose the reply URL and secret

    Give the reply node a long random path, set a second random string as the Freshdesk secret, and activate the workflow.

  5. 5

    Create the automation rule

    On the Ticket Updates tab, a rule that runs when an agent adds a note on a ticket tagged spun, and calls the workflow's reply URL with the X-Spun-Secret header.

  6. 6

    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 Freshdesk should archive the conversation in Spun.

  7. 7

    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.

  8. 8

    Send a test message

    Message the line from another phone. A ticket appears in Freshdesk; answer it with a public note and the answer reaches the phone. Check your requester email notifications during this first test.

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

What to know before you build

  • Freshdesk does not sign its webhooks, so the workflow checks a shared secret header on every reply. Spun's own events are HMAC-signed.
  • Media goes into the ticket as a link valid for 24 hours, not as an attachment. Attachments on an agent note are not forwarded.
  • Group chats are skipped.
  • Freshdesk's API limit is per account per minute (Growth 100, Pro 400, Enterprise 700) and is shared with your other apps. A new conversation takes up to 5 calls and a later message 2 or 3. Freshdesk allows 1,000 webhook calls per hour and queues the rest.
  • Each delivered event uses AI tokens from your Spun plan. How this is metered for helpdesk use is still being reviewed.

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

Frequently asked questions

Can Freshdesk create tickets from WhatsApp messages?

Yes. With Spun and the n8n workflow, every one-to-one WhatsApp conversation becomes a Freshdesk ticket linked to a contact matched by phone, and later messages are added to that ticket.

How do agents reply to WhatsApp from Freshdesk?

With a public note on the ticket. An automation rule sends the note to the workflow, which sends it to the customer on WhatsApp from your own number. The Reply button sends an email instead, so use public notes for WhatsApp.

Which Freshdesk plan do I need?

Growth or above for two-way sync, because replies travel through an automation rule with a webhook action. On Free and Sprout, WhatsApp messages still become tickets, but agent notes cannot be sent back to WhatsApp.

Will it change my existing Freshdesk contacts?

No. Existing contacts are only matched by phone or mobile, never edited, and the workflow never adds an email address. New contacts are created with a name and number only.

Is this a Freshdesk 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 Freshdesk

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