Zai is an embeddable voice widget powered by Gemini Live. One script tag gives your site a real-time AI phone agent that knows your content, captures leads, and talks to visitors naturally.
The widget connects via WebRTC to a Pipecat voice pipeline backed by Gemini Live — a single bidirectional WebSocket that handles speech-to-text, reasoning, and text-to-speech with no inter-service hops.
Fetches your AI sitemap and bakes every page into the system prompt so Zai knows your content cold.
Gemini Live streams audio in and out over a single WebSocket — sub-second response times.
Zai naturally collects name, email, phone, and consent during conversation via function calls.
Drop a single <script> tag on any page. No build step, no framework dependency.
Publish a JSON file at /ai-sitemap.json listing the pages you want Zai to know about.
Paste the embed snippet before </body>. Set your sitemap URL and site name via data attributes.
A call button appears in the bottom-right corner. Click it and start a voice conversation with your site's AI.
Place this before the closing </body> tag on any page where you want the voice widget.
<!-- Zai Voice Widget --> <script src="https://inbound.zollege.ai/widget.js" data-sitemap-url="https://yoursite.com/ai-sitemap.json" data-site-name="Your Site Name" data-exclude-urls="/blog/*,/admin/*" data-debug="false" ></script>
Configure the widget entirely through HTML attributes on the script tag.
| Attribute | Description | Default |
|---|---|---|
| data-sitemap-url required | URL to your AI sitemap JSON. The widget fetches this to build site context for the voice agent. | — |
| data-site-name | Display name of your site, used in the AI greeting: "Thanks for calling [name]!" | — |
| data-exclude-urls optional | Comma-separated glob patterns for sitemap pages to skip (e.g. blog posts, dated archives). | none |
| data-server-url optional | Override the voice server origin. By default, inferred from the script src origin. |
script origin |
| data-debug optional | Show a debug panel with response times and captured lead data alongside the call UI. | "false" |