Skip to main content
Install guide: Voice widget. You do not call these from your site. https://widget.lovi.ai/iawidget.js with mode="voice" loads an iframe that does. customer on the <script> is the company access key. The loader sends it as access_key. Do not put it in repos or screenshots.

Appearance config (first GET)

Response is Voice-config (colours, position, animation). It is not the live audio session. CORS on this function allows * for GET/POST/OPTIONS.

Audio session (iframe)

Signed ElevenLabs ConvAI URL + SDK (WebSocket and/or WebRTC). There is no public start / stop on window.

Other iframe-only routes

Not a public embed API. Used by Lovi’s iframe:
  • POST /functions/v1/voice-widget/search
  • Feedback endpoints used after hang-up
  • POST /functions/v1/voice-widget/handoff and POST /functions/v1/voice-widget/handoff/end
  • GET /functions/v1/voice-widget/chat-by-conversation
Handoff can use LiveKit (wss://livekit.rtc.elevenlabs.io, https://cloud-api.livekit.io).

Not this

  • GET /functions/v1/widgettext chat config. See Web widget.
  • GET /functions/v1/widgetWebView — chat iframe helper. See Widget WebView.
  • POST /functions/v1/notify/voice — outbound phone campaign. See Voice notifications.