Web Chat is in closed beta. Contact us at [email protected] to get access.
useWebChat from @novu/react. You render the message list and the composer. There is no prebuilt <WebChat /> component.
Web Chat supports live typing, thinking parts, tool approval, MCP connect, cards, custom data parts, and file parts. HMAC is available on the integration.
Full capability matrix: Channels overview.
Setup
- Create an agent and keep it active.
- In the Novu dashboard, open the agent and add Web Chat as a channel. Novu creates the
novu-web-chatintegration if it does not exist.
conversation().
Security
HMAC is off by default. Turn HMAC on before you ship. Web Chat can require two hashes. Each hash has its own dashboard toggle.
Both hashes use the same secret: the environment API secret from API Keys. Compute them on your server. Do not compute them in the browser.
If only one toggle is on, pass only that hash. If both toggles are on, pass both hashes.
subscriberHash
subscriberHash authenticates the signed-in subscriber. Without it, another person can guess a subscriberId and open that subscriber’s session, including Web Chat.
If Security HMAC encryption is on for Novu In-App, pass subscriberHash to NovuProvider. The hash is HMAC-SHA256(secretKey, subscriberId) as a lowercase hex string.
agentHash
agentHash authenticates which agent the subscriber can talk to. Without it, a client can send any public agent identifier that is linked to Web Chat.
If Security HMAC encryption is on for Web Chat:
- Open Integrations.
- Select the Web Chat integration.
- Enable Security HMAC encryption.
- On your server, compute
HMAC-SHA256(secretKey, agentIdentifier)as a lowercase hex string. - Pass that value as
agentHashtouseWebChat.
Related
Quickstart
Install
@novu/react and send the first message.Chat UI
Parts, retry, resume, cards, approvals, and reconnect.
useWebChat
Hook props, return value, and callbacks.
JavaScript SDK
Call
loadWebChat(novu), then novu.webChat.conversation() in @novu/js.