Routing transparency
A transfer beats a confident guess.
This is the page we would want to read if we were buying this. It is the whole decision path, in order, including the thresholds and the eight reasons a call leaves Zimaao and reaches one of your people.
- Handoff triggers
- Eight, all configurable
- Clarifying questions
- One, then a person
- Decision log
- Every call, reviewable
Six moments between hearing and doing.
- 01⋮ intent: reschedule
It listens for the whole request, not a keyword
Intent is taken from the full sentence and the sentences around it. "I booked for Thursday, can I move it" is a reschedule, not a booking. Callers who state two things in one breath produce two intents, and the second one is not dropped.
- 02⋮ allowed: reschedule, cancel, confirm
It checks the request against what you allowed
You define the list of things it may resolve on its own, per call type. Anything outside that list is not attempted. There is no general purpose fallback that quietly invents an answer, because that is where trust goes to die.
- 03⋮ booking 4412 found
It reads your systems before it says anything definite
Availability, order state and invoice amounts come from your calendar, order record or billing system in the moment. Nothing is quoted from memory, and nothing is rounded. If a system is unreachable, it says so rather than improvising.
- 04⋮ confidence 0.41, below threshold
Low confidence buys one question, then a person
If it is below the confidence threshold you set, it asks exactly one clarifying question. If it is still below after the answer, it hands over. A guess that sounds confident is worse than a transfer, every time.
- 05⋮ context passed: booking + charge
A handoff carries everything it already knows
The person who picks up gets the call summary, verified caller details, what was already done on this call, the open intent, and the live transcript. They start mid-conversation, which is the only reason a handoff feels seamless.
- 06⋮ logged and reviewable
The whole path is on the record afterwards
Each call stores the intent it detected, the confidence it had, the systems it touched, what it changed, and why it handed over. Filter the log by handoff reason and you can see exactly where your configuration needs a change.
What the threshold actually controls.
Every turn produces a confidence score for the intent and for the entities inside it, the date, the amount, the order number. You set the floor. Below it, the behaviour is fixed and cannot be overridden by the model.
Above the floor
It acts, states what it did, and reads back the detail it changed.
Just below the floor
One clarifying question, aimed at the single uncertain value rather than the whole request.
Still below after the answer
Handoff. No second question, no partial action, no "I think you meant".
Conflicting values
If the caller says Saturday and the system says Sunday, it never picks. It reads both and asks.
The reschedule was inside the allowed list, so it was completed. The double charge was not, so the call left Zimaao in the same sentence.
Handoff triggers
Eight reasons a call leaves and reaches a person.
Each one is a rule, not a judgement call. You can tighten any of them. You cannot remove the first two, because a product that can be configured to refuse a human is not a product we are willing to ship.
- Asked for a person
- Transferred on the first ask, with no retention attempt and no reason required
- Dispute raised
- Billing, damage, quality or accuracy. The script stops at the word, not at the end of the sentence
- Outside allowed actions
- The request is real but you never approved it, so it is stated plainly and passed on
- Below confidence threshold
- One clarifying question, then a transfer. Never a second guess
- System unreachable
- If your calendar or order record cannot be read, nothing is quoted from memory
- Distress or urgency detected
- Injury, fire, gas, flooding or clear distress. No triage attempted, a person is paged
- Third party on the line
- Someone who is not the account holder cannot be told account details
- Repeat contact on an open issue
- A second call about something already escalated goes to the person who owns it
They start mid-conversation, not from the top.
A handoff only feels seamless if the caller never has to repeat themselves. Six things land on your colleague screen before they say hello.
- Call summary
- Three lines: what the caller wanted, what was done, what is still open
- Caller identity
- Who they are and how they were verified on this call
- Actions taken
- Every read and write, with the record IDs, so nothing is done twice
- Open intent
- The unresolved request, in the caller own words
- Live transcript
- Scrollable, so the person can read the last thirty seconds before speaking
- Handoff reason
- Which of the eight triggers fired, stored on the call record
If you cannot explain the call, we failed.
Every call stores the intent detected, the confidence attached to it, the systems read and written, the values changed, and the handoff reason if there was one. Filter the log by handoff reason and your configuration problems sort themselves into a list.
- reschedule0.94calendar.read, calendar.write, sms.sendResolved
- order_status0.91orders.readResolved
- billing_dispute0.88none, policy blockedHanded over
- speak_to_human0.99transfer.accountsHanded over
- unknown0.41clarify asked onceHanded over
Shape of the log, not a customer record. Live logs are visible only to the people you name.
Where would you put our threshold?
Higher than feels comfortable for the first fortnight. More handoffs early means fewer wrong answers you have to apologise for later.