Navigation
ELOWEN · Documentation

Last updated: October 27, 2026

Browse documentation · Turn on voice dictation for visitors
Channels and chatbots

Turn on voice dictation for visitors

Let visitors hold a button and speak, and get a transcript they can check before sending.

Before you turn it on

Dictation stays off for every chatbot, including chatbots created before dictation existed, until you switch it on for that chatbot. Three things must hold first:

  • Voice is enabled for the instance, with a live dictation provider and model configured in Settings → Voice.
  • The Chatbot plugin is explicitly granted to the chatbot's account on Users.
  • The chatbot's account has voice access. On Users, select that account and enable Voice. A chat model grant is not a substitute.

Admin: Only an administrator can grant plugin access and voice access.

Turn it on

  1. Open Chatbots and select the chatbot.
  2. Expand the Voice dictation group.
  3. Switch on Allow voice dictation. The switch saves automatically, like the other chatbot settings.

Turning it off stops new dictation requests at once.

If the account lacks voice access, the group explains what is missing and offers Open account settings, which opens the user list.

How visitors dictate

  • Hold Send for about a third of a second and speak. The transcript appears as you speak, after any text already in the message box.
  • Release to finish, check the completed text, then press Send yourself. The transcript is never sent automatically.
  • With Send focused, hold Space or Enter to dictate and release the key to finish. A short key press sends the draft instead.
  • A short click on Send still sends the message as before and does not start the microphone.
  • Escape cancels dictation and restores the draft from before it began.
  • Dictation uses the existing status line and has no separate buttons. A site that forbids microphone access does not offer dictation at all, and Send only sends.
  • Dictation stops at the instance's configured call duration. The confirmed text stays in the draft.
  • Dictation is unavailable while an answer is being written.

If nothing is recognised, the widget says so and keeps the draft. If transcription fails, it shows an error and keeps the original draft, the confirmed dictated text and any attached image; unfinished text is removed.

Cost and limits

  • Live dictation is paid by the chatbot's own account and counts toward the daily and monthly ceilings under Limits. Audio streams to the configured provider while recording, including pauses in speech.
  • Only one dictation runs at a time for each chatbot. A visitor who dictates while another dictation runs gets an error and can try again.
  • Limits are checked before dictation starts, but spending is not reserved, so dictation and answers already running can take spending past a ceiling.
  • Turning dictation off stops new requests at once. Work already sent to the provider is still billed.
  • Chetty stores neither the audio nor the transcript. Audio goes to the transcription provider your instance uses; a transcript the visitor sends becomes an ordinary message in the conversation.
  • During a Chetty restart, dictation fails with an error and is not retried. The visitor can dictate again once Chetty is back.

Your website

  • The page must be served over https, or from localhost for local tests. The visitor's browser asks for microphone permission for your site. If permission is denied or there is no microphone, the widget says so and typing keeps working.
  • If the page sends a Content-Security-Policy, allow the widget's HTTP and WebSocket origins in connect-src and add blob: to script-src. The microphone worklet loads from a blob URL, and worker-src blob: alone is not enough.
  • To show the widget inside an iframe on another site, the iframe needs allow="microphone".
  • Dictation was tested in Chromium-based browsers. Safari and iOS are not verified yet, so test there before you rely on dictation for those visitors.

If it does not work

  • No dictation in the widget: the switch is off, or the page forbids microphone access for its own scripts.
  • The group says voice is unavailable: grant Voice to the chatbot's account on Users.
  • Errors while speaking: check the provider configured in Settings → Voice and the account's spend ceilings.
  • Nothing happens on a hold: use a Chromium-based browser and a page served over https.