Website Assistant#
Add a conversational AI assistant to a business website with one script tag. Conversations land in the project Inbox and reuse the tone, context, and rules already configured.
wgt_pk_... key. It is separate from server keys gliiz_... and cannot publish, generate visuals, or read account data.| Conversion | AI chat | Visitors can ask natural-language questions without leaving the website. |
| Inbox | Web channel | Each exchange is stored in the Inbox with platform = web. |
| Brand | Project context | The bot reuses the project's tone, information, and FAQ. |
| Install | 1 script | No heavy integration: create a widget key, allow domains, then copy a snippet. |
The embed component lives in the Public API (v1) section, in the same place as other project keys. There is no second hidden page to remember.
| 1 | Project | Open the target project. |
| 2 | Settings / Integrations | Open the Public API (v1) section. |
| 3 | Create key | Choose Website Assistant, then add the allowed domains. |
| 4 | Active keys | Find the snippet later on the Website Assistant key row. |
| 5 | Settings | Edit domains, greeting, and monthly cap without regenerating the key. |
The public API section shows, right under the key field, a faithful preview of the widget as your visitors will see it: same bubbles, same icons, same voice-note player and same animations as the real script.
Your brand
Verified by Gliiz
| 1 | Brand name | The preview uses the selected project's name, exactly as the production widget will. |
| 2 | Fidelity | Every size, radius and colour comes from widget.js's real CSS — this is not an approximate mockup. |
| 3 | Voice note | The player shown is the component shared with the Inbox and VIBE, not a copy. |
Every widget call is matched against the browser's Origin header by exact equality. An origin is scheme + host + port nothing else. No wildcards, no subdomain matching, no www leniency. If the origin is not listed verbatim, the answer is a 403 and the widget stays silent.
| Yes | https://example.com + https://www.example.com | www and the bare domain are TWO distinct origins: always declare both. |
| No | https://example.com covers www.example.com | False. A visitor landing on www gets a 403. |
| No | https://example.com covers app.example.com | False. Every subdomain is declared separately. |
| No | https://example.com covers http://example.com | False. The scheme is part of the origin. |
| Port | http://localhost:3000 | The port counts: :3000 and :3001 are two origins. Add your dev one. |
| Path | https://example.com/contact | Paths are ignored, only the origin is kept. No need to list your pages. |
| Bare input | example.com | A domain without a scheme is stored as https:// never http://. |
| Cap | 10 domains | Beyond that, extra entries are silently dropped. |
https://yourdomain.com AND https://www.yourdomain.com. To check, open the browser console on the site: the widget prints the real cause there, prefixed with [Gliiz].Replace wgt_pk_...with the key shown in Gliiz. The website domain must be listed in the key's allowed domains.
<script
src="https://www.gliiz.com/widget.js"
data-gliiz-site="wgt_pk_..."
data-gliiz-lang="en"
data-gliiz-position="bottom-right"
async
></script>| Key | wgt_pk_... | Browser-visible, but scoped to widget chat only. |
| Domains | allowed_origins | Every call checks the website origin before replying. |
| Plans | Starter+ | Free is excluded. Starter, Pro, Agency, and Enterprise can use it. |
| Per-key cap | widget_monthly_limit | The optional spend guard is counted on the specific widget key. |
| Usage | Replies/month | The key list shows generated replies this month per key. |
| Media | Prepared | Image and voice are prepared in the UI; v1 replies remain text-only. |
Was this documentation helpful?
