What you get
One-line install
A single async script tag per widget. Appearance and behavior changes publish from Settings without touching the snippet again.
Unified inbox
Widget conversations appear in
/inbox alongside WhatsApp, in real time, with channel-aware affordances (no templates or service-window rules apply to widget chats).Your AI, not theirs
Per-widget AI mode connects the GBCA agent: draft replies for operator review, or full auto-send until a human takes over.
Origin allowlist
Each widget only serves the domains you list. Requests from anywhere else fail closed.
Creating a widget
Go to Settings → Integrations → Channels → Website widget:- Click Create widget and give it a display name.
- Choose a slug — this becomes part of the public script URL and the direct chat link, so pick something you’re happy to expose (lowercase letters, numbers, hyphens).
- Add your allowed origins — the exact origins (scheme + host, e.g.
https://www.example.com) of every site that will embed the widget. Subdomains are separate origins. - Pick a theme accent color and launcher position, set the widget title and welcome message.
- Copy the install snippet from the Install section and hand it to whoever maintains the website — or use the install guide, which includes framework-specific instructions and a ready-made prompt for AI coding agents.
AI agent (GBCA) mode
Each widget has its own AI mode, independent of your WhatsApp auto-reply settings:
Auto-send authority is re-checked against the widget’s settings at send time, so flipping the mode back to Draft or Off takes effect immediately — including for replies already queued. The workspace-level GB-Agent master switch must be enabled for either AI mode to do anything.
Widget conversations never touch the WhatsApp/Meta dispatch pipeline. AI replies are delivered to the visitor through the widget itself.
Visitor identity
Out of the box, visitors are anonymous — the widget creates a session and a synthetic contact automatically. Two upgrades are available:- Unverified attributes: your page’s JavaScript can call
SwitchbordWidget.setVisitor({...})to attach a name or email the visitor typed somewhere. These are stored as unverified and can never overwrite verified data. - Signed identity (Secure Mode): if your site has logged-in users, your backend can mint a short-lived HS256 token so Switchbord knows verifiably who the visitor is. Verified visitors resume their previous conversation across sessions and devices. See the install guide for server-side examples.
What operators see
- Widget conversations carry the website channel badge; WhatsApp-only affordances (templates, service-window countdown, media upload) are hidden.
- Replies show up to the visitor with the operator’s author label; AI replies show the agent’s label.
- Visitors see an unread badge on the launcher when replies arrive while the chat is closed.
Limits and behavior
- Public widget endpoints are rate-limited per workspace (120 requests/minute) on top of platform-level protection.
- AI runs triggered by widget messages are debounced — rapid-fire visitor messages coalesce into a single agent run for the latest message.
- Transcript history is session-scoped: anonymous visitors who clear their browser storage start a fresh conversation. Signed identity is the durable cross-device thread.
Next steps
- Install the widget on your website — snippet, frameworks, SDK reference, signed identity, and an AI-agent install prompt.
- GB-Agent connector — how the GBCA agent itself is wired to your workspace.