Powsoo / Guides / Confirm phone numbers on a voice AI call without spelling them out

Confirm phone numbers on a voice AI call without spelling them out

Updated 2026-07-13
Digit strings are the worst case for speech-to-text. “fifteen” and “fifty” differ by one stressed syllable, “a” and “eight” blur over a phone codec, and grouped forms like “double seven” transcribe inconsistently. A ten-digit number gives ten independent chances to slip, and one wrong digit makes the number unusable for a callback or an SMS. There is no surrounding context for the model to self-correct from, unlike a misheard word in a sentence. Reading the digits back one at a time is slow and still forces the caller to track each position by ear and flag the wrong one out loud, which degrades with length, accents, and line noise. Rendering the number on an on-screen card removes the guesswork: the caller sees the digits, taps Confirm or edits one, and Powsoo returns the corrected value by webhook with the call session ID.

Where digit capture breaks

Numbers are the hardest thing to capture by voice. The words for digits are short and acoustically close, phone codecs strip the high frequencies that separate them, and there is no dictionary or context for the model to lean on. “Fifteen” and “fifty” are one stressed syllable apart. “Double seven” may land as “77” or “double seven” depending on the model.

The math is unforgiving. Even best-in-class over-the-phone digit recognition runs about 98% per digit, but accuracy compounds: 0.98 to the tenth power is roughly 82%, so about one in five ten-digit numbers arrives with at least one wrong digit. General-purpose models fare worse: Whisper shows a 5.8% digit error rate against 1.8% for specialized digit models.

The usual fix is to have the agent read the number back digit by digit. That turns a five-second exchange into a slow call-and-response, and the caller still has to catch a wrong digit by ear and name its position out loud.

Confirm by sight instead

When the caller has a screen, show the number and let them read it. Powsoo renders a card with the transcribed digits mid-call. The caller scans it, taps Confirm, or edits a single digit in place. Verifying a number by eye is faster than by ear and does not depend on line quality.

Powsoo works with Retell today, with Vapi and ElevenLabs coming soon. Add one web component and one script tag, and the agent gains a powsoo_show_card function it calls when it needs a clean number. The confirmed value arrives by webhook with the call session ID attached.

For phone-only calls

A pure PSTN call has no browser to render into. There, Powsoo falls back to SMS: the agent texts a one-tap link and the caller confirms the number on their handset. See tap-to-confirm cards vs SMS fallback for when to use each, and the full data-capture guide for the wider picture.

Frequently asked questions

Why are phone numbers hard for voice agents?

Spoken digits collide: 'fifteen' vs 'fifty', 'a' vs 'eight' over a phone codec, and grouped numbers like 'double seven' that transcribe inconsistently. A single wrong digit makes the number unusable, and there is no surrounding context for the model to self-correct from.

Isn't reading the number back enough?

Reading ten digits back forces the caller to track each one by ear and flag the wrong position verbally. It works for short, clearly spoken numbers and degrades with length, accents, and line noise.

How does on-screen confirmation work mid-call?

The agent calls powsoo_show_card with the transcribed number. Powsoo renders a card in the browser showing the digits. The caller taps Confirm or edits a digit, and Powsoo fires a webhook with the corrected value and the call session ID.

Five minutes to zero spelling errors.

Go from zero to live confirmation cards in under five minutes.
No migration required.

Get started Read the docs