Human handoff
Give visitors a way to reach a real person straight from the chat, and get their message where your team already works.
What visitors see
With human handoff switched on, visitors can reach your team in three ways:
- The “Talk to a person” button — A button at the top of the chat that's always there while the visitor chats. On narrow screens with a long site name, it shrinks to an icon.
- Asking in the chat — If the visitor writes that they want to talk to a person, such as “Can I talk to a human?”, the contact form opens instead of an AI answer. Ordinary questions about your customer service, like “When is your customer service open?”, are still answered by the assistant.
- Under an answer the assistant didn't have — When the assistant tells a visitor that your content doesn't cover their question, a “Talk to a person” button appears right under that answer.
Both open a contact panel inside the chat. It shows the contact details you've added (name, photo, phone, e-mail and opening hours) and a short form. The visitor writes a message and gives an e-mail address or a phone number so you can reply; their name is optional. “Back to chat” takes them back to the conversation, which is kept.
The button, panel and form follow the visitor's language: Danish, English, German, Swedish, Norwegian, Finnish, Dutch, French, Spanish, Italian and Polish.
Switch it on
- Open your site in the dashboard and go to Settings. Find the Human handoff card.
- Switch it on.
- Keep Show a “Talk to a person” button in the chat switched on to show the button at the top of the chat. Switch it off if the contact form should only open when visitors ask for a person themselves.
- Add the contact details you want visitors to see. They're all optional (see below).
- Under Where messages go, choose where messages should land, and click Save.
- Test it on the Try it page (see below).
Human handoff is included in all plans. Owners and editors can change the settings.
Contact details and photo
Everything here is optional. Visitors see it at the top of the contact panel, above the form:
Name — Who answers, for example Maria. With a name, the form says “Leave a message and Maria will get back to you.”
Photo — Upload a JPEG, PNG or WebP of up to 5 MB. We crop it to a square, save it again without metadata such as location, and serve it from our CDN. A face makes the contact feel personal.
Phone — Shown as a link, so visitors on a phone can call with one tap.
E-mail — Shown as a link that opens the visitor's e-mail app.
Opening hours — Free text, such as “Mon–Fri 9–16”, shown under the name.
Without any contact details, the panel shows just the form.
Where messages land
Every message appears on the site's Handoffs tab in the dashboard, with the visitor's name, e-mail, phone, message and the conversation before the request. You can mark it resolved when it's handled. You can also send each message to one or more channels:
- E-mail — Sent to the address you enter, in the language you use the dashboard in (Danish or English). It includes the visitor's details, their message, the conversation before and a link to the Handoffs tab. Reply-To is set to the visitor's e-mail, so you can simply hit Reply.
- Slack — Paste an incoming webhook URL from your Slack workspace. Asktopus posts a short message with the visitor's name, e-mail and phone, and their message quoted. Visitor text is escaped, so a message can't mention your whole channel.
- Webhook — Asktopus sends a POST request with the message as JSON to a URL you enter. Use it for your CRM or ticket system.
Each message goes to every channel you've added. If one fails, the others still go through, and the Handoffs tab shows how each delivery went. With no channels, messages only appear on the Handoffs tab.
WhatsApp, Teams, Telegram and others
Asktopus doesn't connect directly to WhatsApp, Microsoft Teams or Telegram. Instead, point a webhook at an automation service such as Zapier, Make or n8n, and let it forward the message to the app your team uses, with your own account.
In Zapier the trigger is Webhooks by Zapier → Catch Hook, in Make a Custom webhook, and in n8n a Webhook node. Paste the service's URL as a webhook channel in Asktopus, send a test message from the Try it page, then build the step that forwards the message.
Webhook payload
The JSON Asktopus sends. trigger is button when the visitor used the button, and keyword when they asked for a person in the chat (explicit comes from older versions of the chat widget). transcript holds the conversation before the request, up to the last 10 questions and answers. last_ai_reply repeats the latest answer for receivers built before transcript existed.
{
"site_name": "Vindbugt Bikes",
"site_id": "Xb3kQ9pL2mTe",
"trigger": "button",
"visitor_name": "Mette Jensen",
"visitor_email": "[email protected]",
"visitor_phone": null,
"visitor_message": "Can you deliver a cargo bike to Aarhus?",
"transcript": [
{
"question": "Do you sell cargo bikes?",
"answer": "Yes, we have three cargo bike models..."
}
],
"last_ai_reply": "Yes, we have three cargo bike models..."
}Test it on the Try it page
The Try it page (Site → Try it) shows your real chat, with the button and your contact details. Messages you send there are real: they appear on the Handoffs tab and go to your channels, so it's the quickest way to check that e-mail, Slack or your webhook works. Each chat session can send up to 3 messages to your team, so a single visitor can't flood your inbox.
Privacy and retention
The visitor's name, e-mail, phone number, message and the attached conversation are deleted automatically 90 days after the request, like chat content. Handoff e-mails are sent through our e-mail provider, Brevo; Slack and webhook messages go straight to the addresses you enter. The contact person's name and photo are shown publicly in your chat, so only add them with that person's consent.