useWebChat from @novu/react. There is no prebuilt <WebChat /> component. If you are not on React, use conversation() from @novu/js.
Setup
Create an agent and keep it active. Then add the channel in the dashboard:- Open the agent in the Novu dashboard.
- Add Web Chat. Novu creates the
novu-web-chatintegration if it is missing.
Install
Collect these values from the dashboard, then install@novu/react:
- Application identifier from API Keys
- A subscriber id for the signed-in person
- The public agent identifier from the agent page
@novu/react requires React 18 or later (^18.0.0 or ^19.0.0).NovuProvider above the chat. useWebChat gets the Novu client from that context.
- US
- EU
NovuProvider signs the subscriber in. useWebChat selects which agent to talk to.
Replace
YOUR_* placeholders with values from API Keys and Subscribers.Add Novu Web Chat to my React app
Send a first message
CalluseWebChat inside NovuProvider. Render text parts, then send with sendMessage.
conversationId to start a new chat. The first successful send creates the conversation.
What to read next
Messages
Render message parts in the timeline.
Tools
Tool calls, approval, and MCP connect.
Generative UI
Custom data parts and structured UI.
Conversations
Resume chats, load history, and reconnect.
assistant-ui
Build with the assistant-ui library.
Security
HMAC hashes before you ship to production.
useWebChat
Hook props, return value, and callbacks.
JavaScript SDK
Call
loadWebChat(novu), then novu.webChat.conversation() in @novu/js.