A B2B SaaS company asked us to “add AI to support”. We took the job on one condition: we would spend as much effort on when the system stays quiet as on when it speaks. That condition turned out to be the whole product.
How it started
The pitch in the room was the usual one — a bot that reads the knowledge base and answers tickets, deflecting volume so the human team can breathe. Everyone had seen the demo version of this. Everyone had also, privately, been burned by one confidently telling a customer something untrue.
Support is a trust surface. One assured, wrong answer about billing or data deletion costs more than a hundred correct ones save. So the brief we agreed was not “answer more tickets”. It was “answer the answerable ones, and know the difference”.
What we found
Reading real tickets for a week, a shape emerged. A large share were genuinely routine — password resets, plan comparisons, “where is this setting” — and well covered by existing documentation. A smaller share were account-specific, ambiguous, upset, or legally loaded, and no amount of prompt engineering makes it safe to automate those.
The failure mode of a naive assistant is that it treats both piles identically and answers everything with the same cheerful confidence. The engineering problem was not generating answers. It was building a boundary the system would not cross.
What we built
A triage layer that sits in front of the customer, not a chatbot bolted to the side of it.
- Every incoming ticket is classified first: is this the kind of question we can safely, verifiably answer from documentation?
- Answerable ones get a drafted reply grounded in specific source passages, with the citations attached so a human can spot-check the reasoning rather than trust a vibe.
- Anything touching billing, account changes, data, or detectable frustration is routed straight to a person — no answer attempted, no clever hedge. A hard rule, not a confidence threshold someone can quietly tune down later.
- When the system is unsure, it is built to escalate, not improvise. Refusing is a first-class, logged outcome, not a failure.
We used AI where it created value and refused to use it where it created risk — which, as it happens, is principle four of how we build our own products.
Results
Routine tickets now resolve without a human touching them, behind a boundary the team trusts because they helped draw it. The number we were proudest of is the one that stayed at zero: confidently-wrong answers shipped to a customer on the sensitive categories, because the system was never allowed to answer them in the first place.
The support leads told us the real change was cultural. They stopped fearing the automation, because it was visibly built to know its own limits — and a tool that hands you the wheel before it crashes is one people will actually keep switched on.