Skip to main content
The widget is a call button for your own pages. A visitor clicks it and talks to your assistant in the browser — no phone number, and no credentials in your HTML.

Set it up

Open an assistant, go to Widget, and configure how it looks and behaves. The Embed tab gives you the snippet, with your settings already filled in:
Paste it before your closing </body>. That’s the whole integration.
agent-id takes your assistant’s id. The attribute predates the rename.

What you can change

Only what you’ve changed from the defaults ends up in the snippet, so it stays short.

Turning it off

A widget has an active switch, and it’s what allows anonymous calls for that assistant. Switch it off and the button stops working everywhere it’s embedded — useful out of hours, or if something is being abused.

Limits on anonymous calls

Every click starts a real, billed conversation, so visitors who aren’t signed in are limited:
  • A call ends after five minutes, with a warning shortly before.
  • There’s a cap on how many calls one visitor can start, and on how many an assistant will hold at once.
These don’t apply to signed-in users, so Talk to Assistant in the dashboard isn’t capped. If a visitor is turned away, it’s one of those limits — or the widget is switched off.

Reading the calls

Web calls are ordinary calls, with transcripts, recordings, summaries and outcomes. Filter for them with direction=web.

Building your own front end

If the widget doesn’t fit, POST /api/webcall/join is what it calls. It returns what your page needs to connect the audio. The same anonymous limits apply.