Installation
Drop one script tag on your page — the widget auto-injects its launcher and connects to your assistant.
Last updated 2026-06-03
Zupport.chat ships as a single JavaScript file served from the GitHub Releases CDN. Drop the script tag on your page — the widget auto-injects a floating launcher in the corner. That's the whole install.
1. Latest release (recommended for trying it out)
Always serves the newest published build. Easy to start with, but a bad release could affect every site at once — pin a version for production (next section).
<script
src="https://github.com/pavelsima/zupport-embed/releases/latest/download/embed.js"
data-assistant-id="YOUR_ASSISTANT_ID"
defer
></script>2. Pinned release (recommended for production)
Lock to a specific tag so updates only ship when you choose to bump the version. Browse available tags at github.com/pavelsima/zupport-embed/releases .
<script
src="https://github.com/pavelsima/zupport-embed/releases/download/v0.13.4/embed.js"
data-assistant-id="YOUR_ASSISTANT_ID"
defer
></script>defer tells the browser to download the script in parallel but only run it after the HTML is parsed. The widget needs the body to exist before it can mount its launcher, and defer guarantees that without blocking first-paint. Where to place the snippet
Either inside <head> (with defer) or just before </body> works. The widget auto-injects its launcher into document.body as soon as the DOM is ready.
Loading order
- The browser parses the
<script>tag. - Once the DOM is ready, the script registers the
<zupport-chat>custom element and appends one to the page. - It fetches
config.json,scenarios.json, and (on desktop with the LLM engine)vectors.jsonfrom the configured base URL. - The selected runtime boots: model weights download on desktop with the LLM engine, or scenarios load instantly on mobile. The launcher becomes interactive.
zupport-readyfires.
Verifying the install
Open the site in a clean browser tab and confirm:
- A round launcher button appears in the bottom corner.
- The browser console has no errors from
embed.js. - Opening the launcher shows the chat panel and the greeting you configured.
If something is off, jump to Troubleshooting.