The failure mode everyone has experienced
A bot loops. You type "agent", it offers three articles. You type "human", it apologises and offers the same articles. That is not an AI problem — it is a missing escalation contract. Handoff has to be a deterministic rule the model cannot talk its way out of, not a suggestion inside a prompt.
The four triggers worth having
- Explicit request. "Talk to a human", "agent", "call me" — immediate, no negotiation.
- Sensitive topics. Account compromise, billing disputes, cancellations, legal or safety questions. These escalate on keyword rules regardless of how confidently the model could answer.
- Genuine failure. The retrieval turned up nothing usable, the provider errored, or the answer came back empty. Note the discipline here: a turn that was answered well should never open a ticket, and a turn with no knowledge-base hits that was correctly served another way — for example by web search — is not a failure either.
- Repeated dissatisfaction. The same question asked three ways is a signal your content has a hole and this person needs a person.
What has to travel with the escalation
A ticket that says "customer needs help" wastes everyone's time. Flocci Chat attaches the full conversation transcript, the page the visitor was on, the trigger that fired, and the visitor's contact details when they are known. If the visitor is anonymous, the widget renders an inline email-capture form once per session so the reply has somewhere to go. If they are a verified logged-in user — proved with an HMAC-SHA256 signature from your own backend — their identity and traits ride along and no form is needed.
Where escalations land
Two paths, both real. The built-in provider is Flocci Desk: tickets get FC-XXXXXX references, live in a dashboard inbox with a status lifecycle and a reply composer, and are the system of record. Operator replies insert into the conversation so the visitor sees a "Support team" bubble in the widget, and the same reply is emailed to them. The alternative is a webhook connector into an existing helpdesk, with credentials encrypted at rest (AES-256-GCM).
The email detail that decides whether handoff works
Escalation notifications carry a one-click entry link that signs the workspace owner into the right account and deep-links straight to the ticket — even if a different account is already active in that browser. Support that requires three logins before you can read the question is support that happens tomorrow.
Measuring it
The dashboard tracks how many conversations escalated and why, alongside first-token and completion latency, fallback rate and active alerts. A rising escalation rate on one topic is a content gap with a name; the unanswered-intent list turns it into a page you should write, and one click converts it into a canonical Q&A the assistant can answer next time.