Voice for in-app agents

Speech in and speech out, over the same agent and the same tools that serve a typed turn.

What voice is for here

Dictation is not the feature. Speaking is only worth it when what comes back finishes the task: the order reordered, the charge explained, the delivery moved. Voqal treats a spoken turn as a request to an agent that can call your backend, not as text to drop into a search field.

The parts that are genuinely hard — turn-taking, interruption, keeping the spoken answer short while the screen carries the detail — are in the SDK. What you decide is which tools the agent may call.

How a spoken turn behaves

One agent, two ways in

A spoken turn and a typed turn reach the same agent, the same tools and the same prompt. Voice is an input method, not a separate product with its own behaviour to keep in sync.

Speech out only when spoken to

A voice turn gets a spoken answer. A typed turn stays silent. Nobody's phone starts talking because they tapped a suggestion.

Interruption that actually stops

Cutting the assistant off mid-sentence cancels the speech, stops the player and hands the microphone back. The in-flight work is abandoned rather than finished quietly in the background.

The answer is still UI

A spoken answer is short. The detail arrives as widgets on screen at the same time, so the user hears the summary and reads the numbers.

Turns you can inspect

Every turn records the transcript, the tools the agent called and the widgets it returned, so a bad answer can be traced rather than guessed at.

Your microphone permission

The SDK owns the recording surface and the playback, and asks for the permission in the flow where the user chose to speak.

Latency, honestly

A healthy warm turn runs in a few seconds end to end, and the largest pieces of that are not ours: speech recognition and your own backend dominate. The runtime keeps a warm connection to your tools and primes the model cache when your app launches, which is what separates a fast first turn from a slow one. We would rather publish that than a headline number that only holds in a demo.

See it running

The voice documentation covers the delegate methods, the permission flow and how interruption is wired. The widget catalogue covers what the answer can draw.

The Voqal playground mid-turn, with the assistant speaking and the rendered answer on screen
The playground running a live turn: the spoken answer and the rendered widgets arrive together.