Talking with the assistant
The in-app assistant also listens and speaks. Press the microphone beside the assistant's
message box, allow the microphone once when the browser asks, and talk: the assistant answers
aloud, and you can cut in at any time, ask for more or change the subject, as on a phone call
with a colleague (ADR-0113). It is a
feature module (voice) and stores nothing of its own.
What happens when you talk
- It answers aloud and stops when you speak. Talk while it answers and it stops at once, listens and answers what you say now. You don't need to press anything to take your turn.
- Your words and its answers are written in the conversation as they are said, with the charts and lists it shows, so you can read back what was said and carry on typing. What you type while talking goes to the same conversation.
- It looks things up as the typed assistant does. It says a few words first ("Let me check"), and the step it is on shows under the message box.
- It speaks your app's language (English, German, French, Italian or Swedish), formal or informal as the typed assistant writes, and keeps answers short: the figures it rounds when it speaks are exact on the screen.
- It stops by itself after two minutes in which nobody speaks, when you press the microphone again, or when you close the assistant. A long conversation goes on past Google's limit of some 15 minutes a session: the line is renewed with what was said, without you noticing.
What it may do
The same as the typed assistant, with your rights: it acts as the assistant agent for you
(agent:assistant@<you>), so a person who may only read talks with an assistant that only reads.
Before it creates or changes anything it says what it will do and waits for your clear yes; what
it posts waits for approval where your approval policy says so. Approving, closing a period,
sending and paying stay yours, on the screen: the assistant never does them, by voice or
otherwise. Each of your turns is in the audit trail as the typed assistant's are, marked as
spoken.
Where your voice goes
Your browser sends the microphone to Stabiso only. The server holds the conversation with Google's live voice model, Gemini 3.8 Live, at Google's EU endpoint, the same place as the assistant's other models; Google's earlier voice model answers where the newest is not offered. The tools run on our server in Zurich, as for typed questions. No recording is kept: the written conversation stays in your browser, as it does when you type. See AI usage for what each model sees.
When it does not work
| You see | What to do |
|---|---|
| The microphone is not allowed | Allow the microphone for this site in the browser (the icon in the address bar), then press the microphone again. |
| Talking is not available right now | Type instead; the voice model did not answer. |
| The conversation was cut off | Press the microphone again: it starts with what was said so far. |
On a period's close (Close with the assistant) the assistant is typed only.
For developers
The browser opens a WebSocket at /v1/agents/assistant/voice with the person's session (from the
app's own page) or an API key with read. It sends {"type": "start", "entity": "CH01", "language": "de", "page": "/analytics", "history": [...]}, then the microphone as binary frames
(16-bit PCM, mono, 16 kHz), {"type": "text", ...} for typed words and {"type": "stop"}. The
server answers with the voice as binary frames (16-bit PCM, mono, 24 kHz) and JSON messages:
ready, heard and said (the words as they are recognised), interrupted (drop what is not
played), turn, step, chart, card, renew (open a new line with what was said; the socket
closes with 4000) and error (invalid, unavailable, not_found); a line that fails
otherwise closes, and the app opens it again twice before it says the conversation was cut off. A socket without a session
or opened from another site's page closes with 4401. Each conversation is logged as assistant spoke with its model, turns and tools.