Paste a channel's publishable key and experience the exact widget it resolves to — that tenant's branding, welcome message, and live connection. Nothing appears until a key resolves: the key is the only thing the widget needs, and the only thing it will accept.
The launcher appears in the corner once a key resolves. Your key is remembered on this page so a reload resumes the same simulation; “Clear simulation” forgets it and that tenant's local session.
This is the one line a tenant adds to their site — the same key you entered, ready to
copy. Paste it before the closing </body> tag of any page.
<!-- enter a key above to generate your snippet -->
This page is a simulation. It previews how the widget looks and behaves for a given key. It is not your live chat — embed the snippet above on your own site so your visitors can reach you.
The embed loads a tiny loader.js that reads your data-key,
resolves it at the public config endpoint, and — only on success — injects an isolated
chat panel. Appearance, content, and the socket connection all follow from the key; the
widget build itself is identical for every tenant.