Skip to content
Oct 9, 2026NewsletterRSS

Novu Gives Its Agents an In-App Chat Channel Beside Email

Novu Connect's Web Chat is in open beta. An agent can now talk to users inside a React app, with the same agent still serving Slack, Teams and email.

2 min read

NovuNotifications

Isometric illustration of a chat bubble inside a browser window with a small envelope tucked beside it on a yellow background

Novu said Oct. 6 that Web Chat is now in open beta on Novu Connect. It gives an agent an in-app channel. Users can talk to it inside a product “instead of moving to Slack, Microsoft Teams, WhatsApp, Telegram, or email.” The company announced it in a changelog entry.

One agent now answers in the app and in email

Web Chat uses the same Novu Connect agent as the other agent channels, Novu said. The agent’s behavior, tools and conversation logic do not need a separate in-app version.

Each Web Chat conversation also shows up in Agent Conversations in the Novu Dashboard. Teams can inspect its state, message history, metadata and channel activity there.

The React client is headless

Developers install @novu/react, place NovuProvider above the chat and call useWebChat with the agent’s public identifier, Novu said. The hook returns the message list, a send function, loading and running flags, typing status and errors.

Novu ships no prebuilt chat component. Teams render the conversation with their own React components or connect the hook to a chat UI library. Novu points to an official assistant-ui recipe as a starting place. The command npx novu connect --channel web-chat scaffolds an example.

Updates stream live and conversations persist

Web Chat delivers updates over a live socket, Novu said. While the agent works, the app can show its typing status and render its reasoning as it arrives.

A conversation outlives the page view. Developers can resume one by its ID, load older messages, reconnect after a dropped connection and retry a message that failed to send.

Tool approvals happen inside the conversation

Tool calls and their results appear in the message timeline, Novu said. The subscriber can approve or deny a gated tool call. The agent turn resumes with that decision. When an MCP server needs to be connected, the chat can open its authorization flow.

The timeline also carries Cards and their button actions, plus custom interfaces built from data a custom code agent emits.

Novu advised turning on HMAC authentication for the subscriber and agent identifiers before release. That stops someone from impersonating another subscriber or connecting to an agent they should not reach.

The take

We think the useful idea here is that the channel is separate from the agent. An agent that answers in Slack, in email and now in a product window is one set of rules reached from many doors. Teams change one place when the rules change.

That makes email one door among several. A tool approval is easier to give in a live window than in an inbox. The agent waits for the answer in the same place. We’d keep email for the messages a person may read hours later, and move anything the agent needs a quick decision on into the app.

Before turning Web Chat on, we’d set up the HMAC check Novu recommends and test that one user cannot open another user’s conversation.