Why Lexycall Sometimes Asks You to Press Numbers Instead of Saying Them

Say your order number out loud — all fourteen digits of it — and even a person on the other end of the line might mishear one. Speech recognition has the same problem, and it matters more than it sounds: a booking reference, a tracking ID, or an insurance ID is exactly the kind of string where being one digit off doesn't give a slightly-wrong answer, it gives someone else's record.

Why long numeric strings are where speech recognition struggles most

Speech recognition is good — very good, at this point — at natural conversation, because language carries context that helps it correct itself. If a caller says a slightly garbled sentence, the model can usually infer the intended words from grammar, common phrasing, and what makes sense in context. A string of digits has none of that. "Fifteen, thirteen" and "fifty, thirteen" sound close enough to confuse a model, and there's no sentence-level context to disambiguate which one was actually said — every digit carries equal, isolated weight, and a single misheard one changes the whole ID.

This is exactly the failure mode long alphanumeric identifiers create: order numbers, tracking IDs, insurance member IDs, confirmation codes. Get one digit wrong and the agent doesn't fail loudly — it might look up the wrong record entirely, which is a worse outcome than not finding one at all.

The fix: collect_dtmf

We built collect_dtmf on the same telephony layer LiveKit documents for DTMF collection — a tool the agent can invoke mid-call that asks the caller to key in their order or tracking number on their phone's keypad and captures the literal DTMF tones, the same signal your phone has always sent when you press a key. There's no transcription step to get wrong, because there's no speech being interpreted in the first place. Whatever digits were pressed are exactly what the agent receives.

Once collected, that number is what gets used to actually look up the order, the tracking record, or the insurance claim — the same kind of async tool call we've described elsewhere, just fed by keypad input instead of a spoken answer.

Isn't this just going back to being an IVR?

Worth addressing directly, since we've made the case elsewhere that a rigid "press 1 for sales" menu is exactly what an AI receptionist is supposed to replace. The difference is scope. An IVR uses keypad input to navigate the entire call — every decision point is a button press, because the system can't understand anything else. Lexycall uses keypad input for exactly one thing: capturing an exact numeric identifier at the specific moment precision matters more than natural conversation. Before and after that moment, the call is a normal, spoken conversation. It's a single precise tool used deliberately, not the whole interaction reduced to button presses.

Where this actually gets used

Anywhere a call needs to look something up by an exact identifier rather than a described request:

  • Order lookup — a caller checking on an existing order by order number, rather than describing what they ordered.
  • Tracking lookup — checking delivery status against a tracking ID.
  • Insurance verification — confirming a member or policy ID before discussing coverage or booking a visit.

In each case, the alternative is asking the caller to say a long ID aloud and hoping speech recognition gets every character right — or worse, not asking for it at all and guessing at the caller's identity from name and context, which is far less reliable.

Why this matters more as agents handle higher-stakes lookups

A misheard word in casual conversation is easy to recover from — the agent asks a clarifying question, or the caller notices and repeats themselves. A misheard digit in an ID lookup often isn't obvious until the wrong record comes back, and by then the conversation has already gone down the wrong path. As AI receptionists take on more identity- and record-dependent tasks — not just booking a slot, but pulling up an existing order or claim — the cost of a hallucinated digit goes up. collect_dtmf is a small, deliberate piece of engineering aimed directly at that failure mode: use natural conversation where it's reliable, and fall back to something more exact where it isn't.

Want to see it look up a real order or tracking number on a call? Book a free demo.

Frequently Asked Questions

A tool the agent can invoke mid-call that asks the caller to key in a number on their phone's keypad and captures the literal DTMF tones, rather than asking them to say the number aloud and transcribing it.
Long numeric strings have no language context to help correct a misheard digit the way a natural sentence does. A single wrong digit doesn't just garble a word — it can point the lookup at the wrong record entirely.
No. An IVR uses keypad input to navigate the entire call. Lexycall uses it for exactly one thing — capturing an exact numeric ID at the moment precision matters most — while the rest of the call stays a normal spoken conversation.
Order lookups by order number, delivery lookups by tracking ID, and insurance verification by member or policy ID — anywhere a call needs an exact identifier rather than a described request.
The agent simply asks them to enter the number on their keypad instead of saying it, gets an in-progress cue while the lookup runs, and the conversation continues naturally afterward.
No. It's used only for the specific moment an exact ID needs to be captured. Everything else on the call — describing an issue, answering questions, booking something — stays natural spoken conversation.
Get started

Stop missing calls.
Start banking them.

Join hundreds of teams running their phones on AI — without sounding like one. See a live agent on your own call flow in 30 minutes.

Live · Lexy00:01:24
AgentBooking confirmed for Thursday at 2pm.
CallerThanks, that was easy.