Skip to content
Garuda
Configuring

Handing a conversation to a person on WhatsApp

Open the agent editor, go to Handoff rules, tick Offer a WhatsApp handoff, enter your WhatsApp number with its country code, and publish. Visitors then get a button that opens WhatsApp with a message pre-typed for them.

Last checked against the running product on 30 August 2026.

The agent answers from what you taught it. When that is not enough, the visitor should be able to reach you rather than keep rephrasing the question. WhatsApp is the channel because you already carry it: there is no inbox to watch and nothing to install, on either side.

Your number is not published on your website

The widget's configuration is a public document — any browser on an approved page can fetch it, and so can anything that scrapes the page. Your number is deliberately not in it. The widget is told only that a handoff exists and what to call the button; the wa.me link is built by the server when a visitor with a live conversation actually taps it.

  1. Open Handoff rules in the agent editor

    Go to Agents, open the agent, choose Edit agent, and select the Handoff rules section — the last one in the list, after Appearance.

  2. Tick Offer a WhatsApp handoff and enter your number

    Include the country code. Spaces, dashes and brackets are fine: Garuda keeps the digits and throws the rest away, so +91 98765 43210 and +919876543210 store the same thing.

    What the number field accepts
    ValueResult
    +91 98765 43210Accepted, stored as the digits alone.
    (44) 7700-900123Accepted. Brackets and dashes are stripped.
    07700 900123Rejected. A leading zero is a national trunk prefix, never part of an international number, and WhatsApp fails silently on it. Drop it and start with the country code.
    98765Rejected. The number must be between 8 and 15 digits once the separators are gone.
    Empty, with the box tickedRejected. A handoff that is switched on but has nowhere to go would show visitors a button that leads nowhere, so it cannot be saved.
  3. Write the button label and the availability note

    Button label is what the visitor sees, up to 60 characters. Left empty it reads Talk to a person on WhatsApp.

    When you reply is free text of up to 120 characters — Mon–Fri, 9am–6pm IST, say — shown directly under the button. It is worth filling in: a visitor who messages at 3am and hears nothing back reads the silence as being ignored.

  4. Write the message that is typed for them

    Up to 400 characters. WhatsApp opens with this already in the compose box, and the page the visitor was on is added beneath it. Left empty it reads Hi, I was chatting on your website and would like to speak with someone.

    The visitor still presses send

    Garuda pre-types the message; it never sends it. The visitor sees the text, can edit or delete it, and sends it themselves — which is the difference between a shortcut and messaging a stranger's phone on their behalf.

  5. Decide when the button gets pushed forward

    Once handoff is on, the button is present for the whole conversation. These two settings only control when it is highlighted, so a visitor who needs it does not have to go hunting.

    • Phrases that offer it straight away — comma separated, up to twelve, each up to 60 characters. Matching is case-insensitive and looks anywhere inside what the visitor typed, so real person matches “can I speak to a real person please”. The field starts with a sensible list you can edit.
    • Offer it automatically after — 3, 5 or 8 messages from the visitor, or Only when they ask, which is the default and highlights nothing.
  6. Add a notification address, if you want one

    Email me when this happens is optional. Fill it in and Garuda emails you once per conversation the moment a visitor asks for a person — so a WhatsApp message you never received is still something you know about.

    The email names the assistant and the page the visitor was on. It contains nothing the visitor typed: a transcript in an inbox is a copy of their personal data sitting outside the product.

  7. Save, then publish

    The editor shows the exact https://wa.me/… link visitors will open, with the pre-typed message beside it, once the box is ticked and the number is long enough. An agent that is already live picks the new settings up on the next widget load; a draft needs Publish agent first.

What the visitor sees, in order:

  1. The button appears just above the message box once they have started a conversation, with your availability note under it. It is hidden while the lead form is on screen, so the two never compete.
  2. A trigger phrase, or the message count you set, tints it and pulses it briefly — twice, and not at all for a visitor whose system asks for reduced motion. Nothing else changes: the button was already there.
  3. They tap it, the label changes to Opening WhatsApp…, and WhatsApp opens in a new tab with your message and their page URL typed in. A browser that blocks that tab does it silently, and nothing on the page can detect it.
  4. The chat says the handoff is opening, carries the same WhatsApp link as a button they can tap themselves, and says they can keep typing there if they would rather. The conversation is not closed, and the page they were reading is never navigated away from underneath them.

On your side the conversation gains a line in the transcript — The visitor asked to continue with a person on WhatsApp — recorded once, on the first tap. Without it, a thread that ends in a handoff would look identical to a visitor who simply got bored. Read it in Conversations.

The handoff is a link, not an inbox

The conversation continues in your own WhatsApp, on your own phone. Garuda does not read it, store it or show it in the workspace, and the visitor's WhatsApp identity is not attached to their lead record. Only the fact that a handoff happened is recorded.

If it still does not work

The button does not appear in the widget

Check, in this order: the box is ticked, a number is saved, and the agent has been published since you saved. The widget is also only told about a handoff on a published agent — an unpublished or paused one has no live configuration to send.

Saving is rejected with a message about the number

Between 8 and 15 digits once spaces and punctuation are removed, and no leading zero. Type it the way you would give it to somebody abroad: country code first, then the number.

WhatsApp opens on an empty chat with no message

That is WhatsApp deciding the number is not reachable rather than Garuda failing to send the text. Message the same number from another phone to confirm it has an active WhatsApp account, and check you have not saved a landline.

The visitor is told speaking with a person is not set up

The widget asked for a handoff and the server had none to give — the configuration was switched off, or the number was cleared, between the page loading and the button being tapped. Reload the page after saving and publishing.

No notification email arrives

It is sent once per conversation, so a second tap in the same thread is silent by design. Otherwise check the address in Handoff rules and your spam folder. Delivery is deliberately off the critical path: a mail failure never stops the visitor getting their link.

Back to all help articles

Still stuck?

Every article here is written from the product as it works today. If something on this page does not match what you see in your workspace, trust the product and tell us — include the page you were on and what you expected.