This recipe walks through a complete production embed — from install to a working voice button on your site.

Goal

A visitor clicks “Talk to us”, gets a live voice session with your Scenaro agent, and sees feature panels (search, product details) alongside the conversation.

Project structure

Step 1 — Client

Step 2 — Providers

Step 3 — Voice widget

No RoomContext or listener component to wire up — the hook handles the data channel, config handshake, and tool RPC internally. Omit language to use the scenario’s configured language, or pass one (e.g. language: 'en-US') to override it.

Step 4 — Mount in App

Environment variables

Production checklist

  • HTTPS required for microphone access
  • Publication UUID points to production scenario
  • Feature registry covers all Cockpit-configured tools
  • Error states shown to user (mic denied, network failure)
  • Session end cleans up UI state

Variations

  • Floating button — position widget fixed bottom-right
  • Mute buttonsetMicrophoneEnabled(false) from the hook + custom mic toggle
  • Text inputsendText('...') alongside (or instead of) voice

See also