The production widget is AI-first. Embed and SDK configuration customize the
experience; they do not select a widget version or change how a conversation
starts. Live-support handoff remains available from the AI conversation.
Script Tag Attributes
| Attribute | Required | Default | Description |
|---|---|---|---|
data-assistant-id | Yes | — | Your assistant’s unique ID |
data-position | No | bottom-right | Widget position: bottom-right or bottom-left |
data-primary-color | No | #6366f1 | Primary brand color as a hex value |
data-auth-mode | No | anonymous | Auth mode: anonymous, authenticated, auto |
data-debug | No | false | Enable debug logging to browser console |
Full Example
Programmatic Configuration
For full control, create a widget instance with the JavaScript API:When using the programmatic API, do not include
data-assistant-id on the script tag. The script’s auto-initialization runs only when that attribute is present.Authentication Modes
Anonymous
Authenticated
Auto
Appearance
Brand Color
The primary color controls the chat bubble, header, send button, and accent elements.Position
| Value | Description |
|---|---|
bottom-right | Bottom-right corner (default) |
bottom-left | Bottom-left corner |
Behavior
The production composer supports text messages, quick replies, forms, and live support handoff. Attachments, browser voice input, and plugin-rendered widget UI are fast-follow capabilities. Legacy or SDK configuration fields for those features do not make their controls available in the production v2 composer.Suggested Messages
Display clickable chips when the chat panel opens to guide visitors:Auto-Open
Automatically open the chat panel after a delay (in milliseconds):Session Persistence
Sessions persist across page loads by default, so visitors do not lose their conversation when navigating your site:Metadata
Attach custom key-value pairs to every conversation for filtering and analytics:Lead Capture
Lead capture collects visitor information (name, email, phone) before or during a conversation. Configure it in your assistant’s settings:- Open your assistant’s Settings page
- Navigate to the Widget tab
- Toggle Lead Capture on
- Choose which fields to collect
- Save your changes
Rollout
Rollout controls where and for whom the launcher appears, so you can test on a real page before going live for everyone. Set it on your assistant’s Share page, under Rollout. There are three modes:Everyone (default)
Everyone (default)
The widget is live for all visitors on every page where the embed code is installed.
Specific pages
Specific pages
The launcher only appears on URL paths you list — one glob per line, each starting with
/. Use * to match anything:/products/* matches /products/shoes and /products/shoes/blue. This is a client-side rule — it decides whether the launcher mounts based on the page URL.Test link only
Test link only
The widget is hidden from everyone except people who open your secret test link. Share the page has a generated URL like
https://your-site.com/any-page?ic_test=<token> — open any installed page with that ?ic_test=… and the widget appears for that browser tab (it’s remembered as you navigate the site). Everyone else sees nothing.This is enforced on the server too: without the correct token, a chat session can’t be created. Use Regenerate to rotate the token — the previous link stops working immediately.Rollout controls launcher visibility. It does not select a v1/v2 renderer,
change the AI-first conversation behavior, or throttle traffic by percentage.
The secret test token is never exposed in the widget’s public configuration.
Next Steps
SDK Reference
Full JavaScript API documentation for programmatic widget control.
Installation
Framework-specific installation guides.