Install the Widget
The Woes widget lets customers ask questions from your product or docs site. Public widget access uses a workspace or agent widget key; it does not grant general account access.Choose A Widget Key
Find widget keys in Settings → Keys. Agent widget keys also appear with each agent in Agents.
Basic Install
Add the Woes snippet to the pages where customers should be able to ask for help.Use the actual snippet from Settings → Channels → Live chat because production script URLs and options may vary by workspace.
window.Woes(...) after the snippet is present on the page.
Documentation Sites
If your docs are hosted on Mintlify, install Woes with a root-level JavaScript file in the Mintlify content directory. See Install the Widget in Mintlify.Identify Customers
For signed-in products, identify the customer so conversations are tied to a stable account.
Your backend should expose an authenticated, no-store identity endpoint, such as
/api/woes-identity, that returns { id, email, email_hash, name, company } for HMAC mode or { jwt } for JWT mode.
Browser code should fetch that endpoint after login/session load, when widget.js loads, on window focus, and when the page becomes visible again. Calling window.Woes("identify", ...) repeatedly for the same signed-in user is safe and prevents boot-order races from leaving the customer anonymous.
The selected agent matters. The data-public-key in the script tag must match
the agent selected in Settings → Security, and the backend proof must be
generated with that same agent’s identity secret.
Verify the Install
After adding the snippet, use Woes to confirm the site is wired correctly:- Open Settings → Security.
- Select the agent widget key used by the installed snippet.
- Load the page where the widget is installed.
- Click Refresh in Install check and confirm the site origin appears.
- Generate a real HMAC hash or JWT from your backend.
- Paste it into Test an identity proof and click Verify proof.
- Send a test widget message as a logged-in user and confirm Woes shows email/name with
identity_sourceofwidget-token.
data-public-key, the selected agent in Woes, and the identity secret used by the backend.
Common JavaScript Calls
What The Widget Can Show
- Existing conversation history for the verified customer.
- Agent replies grounded in attached API context.
- Operator replies after takeover.
- Delivery, unread, typing, and closed-conversation states.
- Published updates when the Updates tab is enabled.
- CSAT or NPS surveys after supported resolution events.
