All integrations

Novu

ChannelProvider official

Reach Slack, Teams, WhatsApp, Telegram, and email through Novu.

Read the full channel docs

Install

Install eve, Chat SDK, the Novu adapter, and a state adapter:

bash
npm install eve@latest chat @novu/chat-sdk-adapter @chat-adapter/state-memory

The in-memory state store is for local development. Use Redis or PostgreSQL in production. This adapter is built and maintained by Novu.

Quick start

Create agent/channels/novu.ts:

ts
// agent/channels/novu.tsimport { createNovuAdapter } from "@novu/chat-sdk-adapter";import { createMemoryState } from "@chat-adapter/state-memory";import { chatSdkChannel } from "eve/channels/chat-sdk";
export const { bot, channel, send } = chatSdkChannel({  userName: "My Agent",  adapters: {    novu: createNovuAdapter(),  },  state: createMemoryState(),});
bot.onNewMention(async (thread, message) => {  await thread.subscribe();  await send(message.text, { thread });});
bot.onSubscribedMessage(async (thread, message) => {  await send(message.text, { thread });});
export default channel;

See the Novu adapter documentation for supported events, capabilities, and credentials.

Configure

Run npx novu connect --runtime chat-sdk to authenticate Novu, choose a channel, and create the required environment variables. Novu manages provider credentials, identity, delivery, and conversation history across its supported channels. See the Chat SDK channel docs for eve session dispatch, state, streaming, and human-in-the-loop behavior.