Buzzchat
Developers

Widget & Identify

One snippet to go live, one HMAC to know who you're talking to.

REST API Webhooks Widget & Identify Status

Installing the widget

Copy the snippet from Settings → Inboxes → your inbox and paste it before </body> on every page where you want chat:

<!-- Buzzchat live chat widget -->
<script>
  window.BuzzchatSettings = { key: "wgt_…" };
</script>
<script async src="https://buzzmark.chat/embed.js"></script>

The widget runs in an isolated iframe, so your site's CSS never clashes with it. Appearance - colours, welcome copy, launcher position, light/dark, pre-chat form, the onboarding checklist and video calls - is all configured per inbox in the dashboard, no code changes needed.

Identify API - verified visitors

By default visitors are anonymous until they share an email. If your site has signed-in users, tell the widget who they are - signed, so nobody can impersonate someone else's inbox:

<script>
  window.BuzzchatSettings = {
    key: "wgt_…",
    user: {
      name: "Jo Bloggs",
      email: "jo@example.com",
      signature: "<hmac from your server>"
    }
  };
</script>

Compute the signature server-side with the identity secret from your inbox settings - never expose the secret itself to the browser:

// PHP
$signature = hash_hmac('sha256', $user->email, $identitySecret);

// Node
const signature = crypto.createHmac('sha256', identitySecret).update(user.email).digest('hex');
  • A valid signature marks the contact verified - and verified visitors keep one conversation history across every browser and device.
  • An invalid signature is treated as a spoof attempt: the supplied identity is discarded and the visitor stays anonymous.

Video calls

Toggle "Offer video calls" on the inbox and a call button appears in the widget - queue, answer and talk, browser-to-browser. The snippet already delegates camera and microphone permissions to the widget iframe; if your site sends a restrictive Permissions-Policy header, allow camera and microphone for calls to work.

Messaging channels

WhatsApp, SMS, Messenger and Microsoft Teams connect through provider-agnostic gateways: point your provider at the inbound webhook shown in the inbox's Channels panel (authenticated with the inbox's ingest secret via X-Buzzchat-Ingest-Secret), and set the matching send endpoint for outbound replies. Inbound payloads are normalised JSON:

POST https://buzzmark.chat/api/channels/whatsapp/wgt_…
X-Buzzchat-Ingest-Secret: …

{ "from": "+447700900123", "name": "Jo", "text": "Hi!", "message_id": "wamid.1" }

Next

  • REST API - read conversations and push them in.
  • Webhooks - get notified the moment anything happens.

Ready to start chatting?

Create your workspace, paste the snippet, and talk to your first customer today.

Get started free