Install the widget
One script tag added to your site's pages. The embed key is your tenant credential.
Find your embed snippet at Settings → Chat → Embed snippet. It looks like this:
<script
src="https://cdn.nura24.com/widget.js"
data-key="ek_acme_xyz123"
data-reverb-key="..."
data-reverb-host="reverb.nura24.com"
data-reverb-port="443"
data-reverb-scheme="https"
async></script>
Paste it just before the closing </body> tag on every page where the widget should appear. Most sites add it to a global template — WordPress's footer, a Shopify theme block, your Next.js root layout, etc.
What the attributes do
data-key— your workspace's embed key. Generated automatically when you created the workspace, regenerable from settings. This is the only piece that identifies your workspace — keep it on, the widget loads; remove it, the widget doesn't.data-reverb-*— WebSocket configuration. When present, the widget receives new agent messages instantly via WebSocket instead of polling every 3 seconds. Leave the placeholders that the snippet wizard fills in; you don't need to think about them.async— non-blocking load. Your page renders without waiting for the widget script.
After pasting
Open your site in a fresh browser tab. The chat bubble appears in the corner you configured (default: bottom-right). Click it to open the panel; it should show your workspace's welcome message.
If the bubble doesn't appear:
- Check the Allowed domains list in Settings → Chat. An empty list allows any origin; a populated list rejects everything else.
- Check your browser console for errors. A "blocked by CORS" message usually means the snippet's
srcis wrong or your CSP is blocking us. - Confirm the snippet really did make it into the rendered HTML (View Source → search for "nura24").
Regenerating the key
Settings → Chat → Embed snippet → Regenerate. Old key stops working immediately; update every page that uses it before regenerating, or the widget will silently vanish.