Skip to main content
Copy the snippet from Settings → Chat widgets → Install.

Standard loader

Paste this before </body>. Replace the app_ id with yours.
The loader inlines launcher config, so the host page does not fetch widget settings. It paints the launcher after load plus idle. To boot with a signed-in user, queue boot before the loader arrives:
See identity verification for how to sign that token.

SRI loader

If you require subresource integrity, use the hashed loader and a data-app-id attribute. The hashed file lives at /v1/loader.{hash}.js and is listed in /manifest.json.
The SRI loader fetches config from the widget origin, so your CSP needs connect-src as well as script-src and frame-src. See content security policy.

Kill switch

Turn the widget off in settings. The same snippet stays on your page and the loader becomes a no-op.