VoiceGateway

Embeds

Put VoiceGateway widgets in your own product.

Show your customers how your agents perform, inside your product. Each widget is a small frame, like an iPhone widget.

WidgetAnswersSizes
Answer timeHow fast do the agents answer?small, medium
CallsHow many calls, by day, phone or web?small, medium
IssuesIs anything wrong right now?small, medium, large
Recent callsWhat just happened? A row opens the call.medium, large
Time per turnWhere does a turn's time go?medium, large

1. Allow your site

In Settings, Embeds, Allowed sites, an Admin adds the site that shows the widgets, for example https://app.example.com.

2. Your backend asks for a token

curl -X POST https://voicegateway.example.com/api/v1/org/default/project/my-project/embed-tokens \
  -H "Authorization: Bearer $VOICEGATEWAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"widgets": ["recent-calls", "call"], "origin": "https://app.example.com"}'

Use a project API key. Never put the key in your page. The token lasts an hour; pass expiresInSeconds (60 to 86400) to change that.

3. Your page shows the frame

<iframe
  src="https://voicegateway.example.com/org/default/project/my-project/embed/recent-calls?token=TOKEN&size=medium&theme=light"
  width="364" height="170" style="border: 0; border-radius: 22px"
  title="Recent calls, VoiceGateway"></iframe>

Sizes: small 170 × 170, medium 364 × 170, large 364 × 382.

The token is in the frame's address, so browser history and access logs on the way (your proxy, load balancer or CDN, and VoiceGateway's own) can record it. Keep expiresInSeconds short, and redact the token query parameter in any log you keep.

Transcripts and audio

A recent call opens the call view inside the frame. By default it shows timings, models and issues only, never what was said. To share transcripts, prompts, tool arguments, your SDK call fields and the recording with your site, an Admin or a project key adds "transcriptsAndAudio": true to the token request. Everyone who can see your page then sees what callers said, so turn it on only where that is right for your users.

What a token can do

  • Read only the widgets it names, in one project, without transcripts or audio unless asked for.
  • Be shown only on its one site. Any other site sees a blocked frame.
  • Stop at its expiry, or as soon as its API key is revoked or its site removed.

Was this page helpful?

On this page