Skip to main content
The voice widget is a floating control on your site. Visitors start a spoken call in the browser: the page asks for the microphone and the AI Agent replies with audio. Do not confuse it with: In this flow the visitor talks to the AI on the page. The capsule does not transfer the call to a human agent.

How to embed it

Paste this before </body> on the pages where you want the control (or in your main index.html for the whole site). mode="voice" is what loads voice instead of text chat:
Copy customer and widget from the widget settings in Lovi (same values as the chat script). There is no public npm package and no public JavaScript API (window.startVoice, and so on): the visitor taps the control.

What the visitor sees

  1. The voice control appears on the page.
  2. On tap (it must be a real click: audio does not start on its own), the browser asks for the microphone.
  3. During the call they hear the agent and can hang up.
  4. After hang-up they can leave 👍/👎 feedback. The control returns to idle.
Test on HTTPS or localhost. The microphone does not work on plain HTTP.

Appearance

Colours, position, conversation animation, background image, and extra CSS come from Lovi when the widget loads. They are not set in your HTML, except language-lovi and dom.

Technical requirements

  • Modern browsers (not Internet Explorer 11).
  • Microphone permission.
  • Audio starts on the user click (browser autoplay policy).
  • The page must be able to call https://widget.lovi.ai, https://cloud.lovi.ai, and https://api.elevenlabs.io.

Troubleshooting