2026-08-13 · 9 min read
How to add live chat to your website in 10 minutes
Live chat installs in about ten minutes — one script tag or a CMS plugin. Here is the full setup: install route, knowledge base, office hours and handover.
Customers forgive a bot that does not know. They do not forgive one that will not let go. The triggers worth wiring, what has to travel with the conversation, and how to tell a good handoff from a bad one.
Also available in Dutch: Wanneer en hoe je van AI naar een medewerker overdraagt: een draaiboek
Most evaluations of AI support focus on the answers. In practice what decides whether customers tolerate your bot is the handoff — the twenty seconds after it becomes clear the automation cannot finish the job. Customers forgive a bot that does not know something. They do not forgive one that will not let go, and they remember it for a long time.
Not all handoff triggers are equally trustworthy, and a design leaning on the least reliable one produces dead-end bots. Rank them, wire the reliable ones as hard rules, and treat the rest as suggestions.
| Trigger | How reliable | The failure mode if you get it wrong |
|---|---|---|
| The customer asks for a person | Highest. A stated intent, matched deterministically in every language you serve rather than left to the model's judgement. | The bot argues. The most damaging pattern in AI support, and the one that generates screenshots on social media. |
| Sensitive topic: money, complaints, legal threats, chargebacks | High, if you enumerate the topics yourself instead of hoping the model recognises them. | An automated answer where a wrong one is expensive, and a customer who now has your position in writing. |
| Frustration, or the same question asked twice | Medium. Detectable, but false positives and false negatives are both common. | Miss it and the customer escalates on a public channel instead. Over-fire it and you hand off conversations the AI was about to finish. |
| The system cannot ground an answer | Depends on the implementation. Retrieval confidence is a weak proxy for correctness; an outage of the retrieval layer is a hard fact. | The dangerous version is answering anyway. A confident, cited, wrong answer costs more than a handoff — the citation makes it convincing. |
That last row deserves care, because it is where vendor claims are loosest. "Hands off when unsure" is a promise about a threshold, and a threshold on a similarity score is not a measurement of whether an answer is right. Ask what specifically happens when retrieval returns nothing useful: does the system escalate, or does it answer from general knowledge anyway? Those are very different products, and only one of them is safe to run on a returns policy.
The cost of a handoff is roughly fixed. The cost of delaying one rises fast, because every failed turn adds effort the customer cannot get back. A useful rule is the asked-twice rule: if the customer has restated the same question in different words, stop trying. The second attempt is information — the first answer missed — and the third is where goodwill runs out.
The corollary is that a clarifying question is only free the first time. Asking for an order number is reasonable. A second clarifying question, after the first answer missed, is usually the automation stalling rather than narrowing — and it reads that way to the customer.
A handoff that drops context is worse than no automation at all, because the customer has now explained their problem twice — once to a machine that could not help, and once to a person who should have been given the transcript. Four things should arrive with the conversation.
In CustomerEagle the receiving agent gets the whole thread with every AI answer's citations and confidence attached, a context rail with the customer and their linked orders, a timeline entry marking the escalation, and a decision inspector showing the handoff reason, the sources retrieved and how closely each matched. One honest gap: no summary is written at the moment of handoff — the agent can generate one on demand, but do not plan a process that assumes one is waiting. You can see the shape of the receiving side in the interactive demo.
The transition is a moment of genuine confusion for the customer: they cannot always tell whether the thing that just replied is a person. Two rules remove almost all of it. Mark the change explicitly — a system line saying the conversation has moved to a person, and the agent's real name on their first message. And do not have the agent restate what the bot already said; opening with "I can see you have been asking about the delayed parcel" proves the context travelled, which is the reassurance the customer is actually looking for.
Do not hide the seam by giving the bot a human name and photo. It works until the handoff and then costs you twice: the customer feels misled, and in the EU you owe them a disclosure that they were talking to an AI anyway.
The worst handoff says "an agent will be with you shortly" at 23:00 on a Saturday when the next agent starts on Monday. A small lie that produces a large complaint. There are two honest options: connect the customer to someone who is actually there, or collect the question and state plainly when they will hear back.
This is worth building as a real branch rather than a message change. Our widget checks whether an agent is online before it decides what to show: with someone available it opens a short handoff form and confirms the conversation was forwarded; with nobody available it switches to an email-capture form instead of a queue that goes nowhere. It deliberately shows no estimated wait time and no queue position, because there is no honest number available to put there — an invented one is worse than none.
Topic routing beats round-robin for anything needing judgement. One returns specialist clearing returns outperforms three generalists clearing everything, because the specialist has already seen this week's edge case. Round-robin and load-balancing are fine defaults for a small team where everyone handles everything, and stop being fine the moment your queue has distinct topics with distinct expertise.
Whatever method you pick, decide explicitly what happens when nobody is online — that is the normal case at some point in every week. The conversation should land somewhere visible, an unassigned view a person checks, rather than being handed to whoever is first in a list and then sitting unread.
There is a second kind of handoff teams forget to staff: the one where the AI prepares an action a human approves. Refunds, order edits and anything else that moves money should be prepared with full context and executed by a person — the safe pattern, and the one we run. But an approval queue is only safe if somebody owns it. An unwatched queue turns a two-minute refund into a two-day one, and the customer reads that as slow automation rather than an unstaffed process.
Handoff rate on its own is not a quality metric, and treating it as a failure number pushes teams to make escalation harder — which improves the metric and damages the service. Three measurements are worth the effort.
The unresolved-question list is the practical version of the first one: every conversation the AI could not ground is a documented content gap, grouped by what the customer actually asked. Treat that list as the backlog and the resolution share takes care of itself — the mechanics of what counts, including the settling window that reverses a resolution when the customer comes back, are on how we measure AI resolutions. And keep the distinction between conversations avoided and problems solved firmly in view, which is the subject of deflection rate versus resolution rate.
None of these are model problems, which is the point. The handoff is an operations design — the part of an AI deployment a support lead can get right without engineering help, by choosing the triggers, writing the out-of-hours message honestly, staffing the approval queue and reading the reasons weekly.
Whenever the customer asks for a person, whenever the topic is sensitive — money, complaints, legal threats, chargebacks — whenever the customer has restated the same question because the first answer missed, and whenever the system cannot ground an answer in your documented knowledge. The explicit request should be honoured immediately and without argument, in every language you support.
The full transcript rather than a summary replacing it, the answers the AI already gave with the sources it used, the customer and order context the AI could see, and the reason for the escalation. Without those the customer explains the problem a second time, which is a worse experience than no automation at all.
Not by itself. Handoff rate mostly measures how much of your volume is answerable from documented knowledge, so a high rate usually means thin content rather than a weak model. Treating it as a failure metric is harmful, because the easiest way to reduce it is to make escalation harder — which improves the number and damages the service.
Either connect the customer to someone who is genuinely available, or collect the question and state clearly when they will get an answer. What it must never do is promise that an agent will be with them shortly when nobody is working, or show a queue position or wait estimate that nothing is actually calculating.
It should prepare the refund, not execute it. The safe pattern is maker-checker: the AI assembles the request with the conversation context attached and a person approves it before anything moves. That approval queue then needs a named owner and a turnaround target, because an unwatched queue turns a fast refund into a slow one from the customer's point of view.
Group handoff reasons weekly and treat the top one as your next help-centre article, track the reopen rate on conversations that were handed off and later closed, and measure first-response time only on conversations that actually reached a human. Blending automated and human response times produces a flattering average that describes neither queue.
2026-08-13 · 9 min read
Live chat installs in about ten minutes — one script tag or a CMS plugin. Here is the full setup: install route, knowledge base, office hours and handover.
2026-08-10 · 10 min read
A proactive message is one the customer did not ask for. Which signals are worth acting on, what a message has to contain to be support rather than noise, and how to measure win-back without fooling yourself.
2026-08-09 · 10 min read
Tickets closed, handle time and raw CSAT survive in reports because they always look fine. Here is the replacement set, how each number is gamed, and the weekly page a support lead can defend.
See how honestly-measured AI resolutions cut your support load — start on the Free plan, no credit card, no sales call to get started.