Chat page & web widget / Chat page & widget controls
Ready

Chat page & widget controls

Everything that appears on the hosted chat page at /chat/[slug]: opening the side menu, switching between text and audio, picking a voice, managing playback, and how messages show citations and actions.

Where to open it

- Use a bot's Publish tab to copy the public chat link.

- URL format: /chat/[bot-slug] (accepts query filters when allowed).

- Embed mode: append ?embed=true to hide the burger menu button when you use the widget inside your site.

Side menu (burger icon)

- Opens from the top-left burger. On mobile it slides over the page and closes on backdrop tap; on desktop it collapses to width 0 when closed.

- Preferences persist per browser via local storage (mode, voice, playback speed, and transcribe language).

Mode

- Toggle between Text mode and Audio mode.

Playback speed

- Choose 0.8x, 1x, 1.2x, or 1.5x for spoken replies.

Voice

- Pick any available OpenAI voice (alloy, ash, ballad, coral, ember, glass, meteor, mist, moon, shimmer, sol).

Transcribe language

- Auto, English, Arabic, Russian, French, or Spanish for voice capture.

Appearance

- Light, Dark, or System theme for the widget shell.

Placeholder for “Chat side menu” screenshot (mode, playback, voice, transcribe, appearance).
Text mode

- Standard textarea with Enter to send and Shift+Enter for a newline.

- Suggested actions show above the input until the first message is sent.

- Hold the mic button in the input to record a quick clip; it transcribes and sends without auto-playing the reply.

- Stop button appears while a response is streaming.

- “New Chat” button (top-right pencil) clears the thread, citations, and any playing audio.

Audio mode

- Large hold-to-talk button sends a voice clip, transcribes it, and auto-plays the assistant reply.

- Statuses surface above the control: Recording → Transcribing → Responding → Speaking.

- Last transcript text stays visible so you can resend or confirm what was captured.

- Recording is blocked while the app is transcribing, responding, or speaking to avoid overlaps.

Messages, sources, and actions

- Greeting title/label render before the first message (set in Display settings).

- Message bubbles support citations (files) and websites consulted, shown when show-source toggles are enabled for the bot.

- Tool outputs render inline: product displays, generated images, and dynamic tool cards.

- Assistant messages offer Retry, Copy, Like, and Dislike actions; Copy also works on user messages.

- Scroll-to-bottom pill appears when the thread is long.

- Audio replies attach a player when speech synthesis is requested (voice + playback speed settings apply).

Notes & embed behavior

- The burger menu hides when ?embed=true is present so the widget stays minimal inside iframes.

- Voice, playback, and language picks are per-browser and persist after refresh; they do not sync across devices.

- If a response errors or disconnects, a toast appears and the last recording is cleared.

Next up

Customize visuals and greetings from the bot Display tab.

Go to Display & chat UX