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.
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.
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 43210and+919876543210store the same thing.What the number field accepts Value Result +91 98765 43210 Accepted, stored as the digits alone. (44) 7700-900123 Accepted. Brackets and dashes are stripped. 07700 900123 Rejected. 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. 98765 Rejected. The number must be between 8 and 15 digits once the separators are gone. Empty, with the box ticked Rejected. A handoff that is switched on but has nowhere to go would show visitors a button that leads nowhere, so it cannot be saved. 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.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.
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 personmatches “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.
- 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
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.
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:
- 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.
- 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.
- 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.
- 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.
Related articles
- OperatingReading conversations and leadsConversations holds every stored transcript with its page metadata; Leads holds the contacts captured with consent. Both screens are read-only: you cannot type a reply into a visitor's chat from here.
- Getting startedCreating your first agentAnswer four setup questions to get a drafted agent, or build one by hand in Agents. Either way it stays a draft until you add an allowed domain and publish it.
- ConfiguringSetting up lead capture and consentLead capture is on by default and offers the contact form from the visitor's third message. Nothing is stored until the visitor ticks the consent box, and the server refuses submissions without it.