A handoff is a skill's instruction, not a reflex
Most support bots hand a conversation to a person the moment they are unsure. We decided ours never would, unless the business wrote that rule itself.
Every support bot has a moment where it runs out of road. The customer asks for something the bot cannot do, or names a topic nobody wrote down, or simply types "let me talk to a human". The usual answer to that moment is a reflex: escalate. Hand the conversation to a person, tell the customer someone will be in touch, and move on.
We built that reflex into Chirpedly too, at first. Then we watched what it did to a small business.
What the reflex costs
A reflexive handoff is the platform deciding, on the business's behalf, that a person is what the customer needs. For a company with a support team on shift, that is a mild inconvenience. For a two-person shop, it is a queue of conversations that nobody asked for, each one a customer who was promised a reply and is now waiting for it.
Worse, the reflex fires in exactly the situations where the bot should have said something useful instead. "I don't have that information" is an honest, complete answer to a question your Knowledge does not cover. "Someone will follow up" is a promise, and the bot has no way to keep it.
The rule we chose
The agent hands a conversation to a person when, and only when, one of the business's own skills says to. A skill is a short document the owner writes in plain words: when it applies, what to ask for, the steps, the rules and what the reply must cover. If a rule in that document says a personalized order goes to a person, then a personalized order goes to a person, and the customer is told a teammate is taking over.
Everything else the agent meets is answered with the truth about it:
- A gap in Knowledge gets "I don't have that information", and what the agent can help with instead.
- A money or account action with no procedure behind it is declined plainly. The agent does not look the order up on the way to saying no.
- A customer who asks for a person is told, honestly, that they are talking to the AI assistant handling support here, and helped with what they need. A skill can cover that request too; then it hands off, because the business said so.
- A customer who insists gets the same answer again, as often as they ask.
The one floor that stays
One situation still reaches a person without a skill, because it is not a reading of the customer: if the Knowledge service is down, the agent cannot do its job, and saying so and handing off is the honest result.
Distress was the hardest case to leave out, and we left it out. A customer who writes that a delay is ruining their week is not asking to be handed to a queue; they are asking about their order. So the agent acknowledges what they said as real, is honest that it is the AI assistant handling support and that no colleague is coming, and then helps with the part it can. Deciding on a business's behalf that someone in distress needs a person is exactly the reflex this change removed. A shop that wants a person for it writes a skill that says so, and then it happens every time.
Why it took a test to see
The interesting part of this change was not the rule. It was how many places the old reflex was hiding. A tool call the platform refused, a connection the workspace did not have, a message over the size limit, a reply the output guard replaced: each one had quietly become a handoff, and none of our offline tests could see it, because the behavior lived in the model's replies rather than in any function's return value.
So the rule is proven the only way it can be, by driving the real model with the real prompts and reading what comes back. That suite runs before every release. It is slower than a unit test and it is the only kind that can tell you whether the agent kept its word.