What is a visual layer for AI voice agents?
The problem it solves
Voice agents are good at conversation and poor at character strings. Speech-to-text turns an email or a phone number into a best guess, and one wrong character makes the value useless. A visual layer sidesteps transcription for those fields by moving them to the screen.
How it works
During a call, the agent decides it needs a field confirmed. It calls a function the visual layer provides. A card renders in the browser showing the value the agent heard. The user taps Confirm or edits it, and the confirmed value is sent back to your backend, tagged with the call session ID. The conversation never stops.
This is what makes it a multimodal interaction: voice and screen working on the same task at the same time, rather than a handoff between two separate tools.
Where Powsoo fits
Powsoo is a visual layer you add with one <powsoo-voice> web component and one script tag. It connects to Retell today, with Vapi and ElevenLabs coming soon: you add a powsoo_show_card function to your agent, and Powsoo fires a webhook the moment a card is confirmed. For calls with no screen, it falls back to an SMS link.
Related reading
- How to collect accurate data on AI voice calls
- Tap-to-confirm cards vs SMS fallback
- Capturing email addresses on Vapi
Frequently asked questions
How is a visual layer different from a chat widget?
A chat widget is a separate text conversation. A visual layer is tied to the live voice call: the agent triggers a card at the moment it needs a field confirmed, the card shows the value it heard, and the confirmed result flows back into the same call session.
Does a visual layer replace my voice platform?
No. It runs on top of Vapi, Retell, ElevenLabs, or any WebRTC voice platform. The platform keeps handling the conversation; the visual layer handles the fields where spoken capture is unreliable.
What can users confirm through a visual layer?
Anything error-prone to say aloud: email addresses, phone numbers, dates and dates of birth, reference codes, postcodes, and account numbers. The user reads and taps rather than spelling, which removes most transcription error.