Human handoff
Route a visitor to a real person when the AI can't answer well — or when the visitor explicitly asks.
What triggers a handoff
Two things can fire a handoff. Either is enough on its own; both are checked on every visitor message.
- Keyword match — The visitor's message contains a phrase that signals "I want to talk to a human" — phrases like "talk to a human", "customer support", "tale med en person". A multilingual default list covers English, Danish, German, French, and Spanish out of the box; you can add or replace with your own.
- Low retrieval confidence — The assistant searched your knowledge base for the visitor's question and didn't find a strong match. Confidence is a number between 0 and 1; if it falls below your threshold, the conversation hands off instead of generating a weak answer.
Choosing a confidence threshold
The threshold is the minimum retrieval confidence the assistant needs before it's willing to answer. Below the threshold, the conversation hands off. Default is 0.4. Higher = more handoffs (the assistant gives up more easily); lower = fewer handoffs (the assistant tries to answer even with weak matches).
0.6+ — Aggressive — the assistant only answers when it's quite sure. You'll get more handoffs, including some on questions the AI could have handled. Use this if your team has bandwidth and you want to lean on humans.
0.4 — Default — answers most well-grounded questions, hands off the genuinely hard ones. A good starting point for most sites.
0.2 — Lenient — the assistant tries hard to answer everything. You'll get fewer handoffs, but more chance of a vague or speculative answer. Use this if you want the AI to handle as much as possible and your handoff team is small.
We recommend starting at 0.4 and adjusting after a week of real conversations. Watch the dashboard: if you're getting handoffs the AI clearly could have answered, lower the threshold; if visitors are getting unhelpful answers, raise it.
Customizing keywords
If your visitors use specific phrases — say "book a consultation" or "speak to my account manager" — add them to the keyword list and any visitor message containing that phrase will hand off immediately, regardless of confidence. Keep them short and lowercase; matching is case-insensitive substring match.
Where the handoff goes
When a handoff fires, Clarifier delivers the visitor's message to whatever channels you've configured for the site. Three types are supported:
- Email — Sends a formatted email with the visitor's message, their email (if provided), and the last AI reply for context. Best for low volume or shared inboxes.
- Slack — Posts to a Slack channel via an incoming webhook URL. Best for teams that already triage in Slack.
- Generic webhook — POSTs a JSON payload to any URL you supply. Use this to wire handoffs into your CRM, ticket system, or whatever else you run.
You can configure multiple channels — each handoff is dispatched to all of them. If one channel fails, the others still go through.
What the visitor experiences
- The visitor types something that triggers a handoff.
- Instead of generating an answer, the assistant asks for the visitor's email so a human can follow up.
- The visitor's email and message are sent to your configured channels and saved to the dashboard.
- The assistant tells the visitor that someone will get back to them — and the conversation ends or continues based on how you reply outside the widget.
Webhook payload
If you use the generic webhook channel, here's the JSON your endpoint will receive:
{
"site_name": "Acme",
"visitor_email": "[email protected]",
"visitor_message": "Can you call me back?",
"last_ai_reply": "I'd love to help — what's the best number to reach you?"
}