Resolutions & escalations
What counts as a resolution, when the bot escalates, and how the agent decides which path to take — no confidence threshold to tune.
What "resolution" means
A resolution is a conversation the agent closed without a human ever stepping in. Two signals can mark a thread resolved:
- User signal: the user reacts with a thumbs-up, says "thanks, that worked," or closes the chat without coming back for 24 hours.
- Agent signal: the bot answered with citations from your docs / past tickets and the user didn't reply with frustration markers ("not what I asked," "still broken," "can I talk to a human").
Resolutions are tracked for analytics. Billing is metered on the underlying token spend converted to credits — see Pricing & credits.
When the agent escalates
The agent picks escalate (instead of replying) when its reasoning concludes one of:
- The fix requires a write action the agent can't autonomously run (refund, env change, code change).
- The user explicitly asks for a human.
- The question falls into your "always escalate" categories (e.g. billing disputes, security reports).
- The agent detects frustration markers, or it can't find precedent in past tickets / docs to answer confidently.
On escalation, the agent surfaces a full diagnostic packet — hypothesis, tool calls it already ran, the past tickets it pulled, and a proposed plan. Your team starts the conversation halfway in, not from scratch.
The diagnostic packet
An escalation card carries:
- The user's actual question, in plain language.
- What page they were on when they asked.
- Any user identity you passed via
identify(). - The agent's plain-English hypothesis and the tool calls it ran.
- The top-10 past tickets it pulled from
knowledge_base_chunks. - A proposed action — canned reply, write action, or code dispatch — for you to approve, edit, or reject.
Always-escalate categories
Some categories should always go to a human:
- Billing disputes and refund requests.
- Security reports.
- Account deletion / data export requests.
- Anything legal-adjacent (DMCA, GDPR data subject requests).
These are baked into the diagnostic agent's reasoning by default. To customize them, edit your operating manual under Knowledge → Operating Manual.