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 src is 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.