MCPcopy
hub / github.com/novuhq/novu

github.com/novuhq/novu @@novu-framework@v2.11.1 sqlite

repository ↗ · DeepWiki ↗ · release @novu-framework@v2.11.1 ↗ · compare 2 versions
24,049 symbols 74,240 edges 7,178 files 913 documented · 4%
README

Novu Logo

<a href="https://www.producthunt.com/products/novu" target="_blank" rel="noopener noreferrer"

<img src="https://img.shields.io/badge/Product%20Hunt-Golden%20Kitty%20Award%202023-yellow" alt="Product Hunt">

<a href="https://news.ycombinator.com/item?id=38419513" target="_blank" rel="noopener noreferrer" Hacker News <a href="https://www.npmjs.com/package/@novu/react" target="_blank" rel="noopener noreferrer"

<img src="https://img.shields.io/npm/v/@novu/react" alt="NPM">

<a href="https://www.npmjs.com/package/@novu/js" target="_blank" rel="noopener noreferrer"

<img src="https://img.shields.io/npm/dm/@novu/js" alt="npm downloads">

The open-source communication infrastructure for agents and products

One API and one unified conversation model to connect your products and your agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, Slack, Microsoft Teams, Telegram, and more.

Learn More »

<a href="https://github.com/novuhq/novu/issues/new?assignees=&labels=type%3A+bug&template=bug_report.yml&title=%F0%9F%90%9B+Bug+Report%3A+" target="_blank" rel="noopener noreferrer"

Report a bug · <a href="https://docs.novu.co" target="_blank" rel="noopener noreferrer" Docs · <a href="https://go.novu.co/github?utm_campaign=readme_website" target="_blank" rel="noopener noreferrer" Website · <a href="https://discord.novu.co" target="_blank" rel="noopener noreferrer" Join our Discord · <a href="https://go.novu.co/changelog" target="_blank" rel="noopener noreferrer" Changelog · <a href="https://go.novu.co/roadmap" target="_blank" rel="noopener noreferrer" Roadmap · <a href="https://twitter.com/novuhq" target="_blank" rel="noopener noreferrer" X · <a href="https://go.novu.co/contact?utm_source=github&utm_medium=readme&utm_campaign=contact-us-link" target="_blank" rel="noopener noreferrer" Contact us

Software is becoming more conversational, and user expectations are rising with it. People no longer want static, irrelevant notifications they glance at and forget, they want to engage, ask questions, and go deeper. Instead of a one-way report dropped in their inbox, they expect a thread they can explore: follow up on a metric, drill into an anomaly, or continue a conversation right where they left off. That shift, from broadcast to meaningful dialog is what Novu's communication infrastructure is built for.

⭐️ Why Novu?

Every product and every agent eventually needs to talk to people, across the channels those people already use. Novu is the open-source layer that handles that communication for you, so you don't rebuild Inbox feeds, provider integrations, and channel webhooks from scratch every time.

There are two ways to build with Novu, and they share the same foundation: a single API and a unified conversation model.

  • Communication infrastructure for products — Send notifications across Inbox/In-App, Email, SMS, Push, and Chat through one API, with workflows, digests, and an embeddable <Inbox /> component.
  • Agent Communication Infrastructure (ACI) — Connect any agent you've already built to any communication channel: Slack, Microsoft Teams, Telegram, WhatsApp, email through one conversation model.

🚀 Getting Started

Create a free account and follow the instructions on the dashboard.

📚 Table of contents

📬 Communication infrastructure for products

The notification platform that turns complex multi-channel delivery into a single component. Built for developers, designed for growth, powered by open source.

Novu provides a unified API to send notifications through multiple channels — Inbox/In-App, Push, Email, SMS, and Chat. Create custom workflows, define per-channel conditions, and let Novu deliver each notification in the most effective way, without stitching together a provider for every channel yourself.

  • One API for all messaging providers
  • Embeddable, real-time <Inbox /> component
  • Notification workflow engine with branching and conditions
  • Digest engine to batch multiple notifications into a single message
  • No-code email editor
  • Embeddable preferences component so users control their own notifications

🤖 Agent Communication Infrastructure (ACI)

You build the agent. Novu gives it a voice.

ACI is a complete suite for companies already building agents that need to talk to users on real communication channels. It connects your agent to any channel and abstracts away the quirks of each platform behind a single, unified conversation model.

Novu handles the plumbing in both directions: it receives inbound messages from each channel, normalizes them into one consistent shape, routes them to your agent, and sends your agent's responses back out, so you integrate once instead of building and maintaining a webhook handler per platform.

  • Unified conversation model — one consistent model across every channel, instead of per-platform message formats and webhook quirks
  • Bidirectional messaging — receive user messages and send agent replies through the same layer
  • Channel integrations — Slack, Microsoft Teams, Telegram, WhatsApp, Email, and an In-App Inbox for agents
  • Bring your own agent — works with whatever you've built, whether that's Claude Managed Agents, AI SDK, LangGraph, or a custom stack; Novu doesn't constrain your agent logic
  • Best practices built in — conversation threading, reactions, channel-aware formatting, actions and a single integration surface Novu connects the agent to the world, it is not the agent itself.

Want to see ACI in action?

We have built Novu Connect to showcase the power of ACI, build on integrate an existing Claude Managed Agent as a teammate in Slack, Telegram, or Email in less than 2 minutes.

Try it now:

npx novu@latest connect

Embeddable Inbox component

Using the Novu API and admin panel, you can easily add a real-time notification center to your web app without building it yourself. You can use our React, or build your own via our API and SDK. React native, Vue, and Angular are coming soon.

Novu's Embeddable Inbox components

Read more about how to add a notification center Inbox to your app.

Providers

Novu provides a single API to manage providers across multiple channels with a simple-to-use API and UI interface.

Expand a channel below to browse supported providers.

💌 Email (19 providers)

Provider
Amazon SES
Braze
Brevo
Custom SMTP
Email Webhook
Email.js
Infobip
MailerSend
Mailgun
Mailjet
Mailtrap
Mandrill
Netcore
Outlook 365
Plunk
Postmark
Resend
SendGrid
SparkPost

📞 SMS (37 providers)

Provider
46elks
Africa's Talking
Afro SMS
Amazon SNS
Azure SMS
Bandwidth
Brevo SMS
Bulk SMS
Burst SMS
Clickatell
ClickSend
CM Telecom
Eazy SMS
Firetext
Generic SMS
Gupshup
iMedia
Infobip
iSend SMS
iSendPro SMS
Kannel
Maqsam
MessageBird
Mobishastra
Plivo
RingCentral
Sendchamp
SimpleTexting
Sinch
SMS Central
SMS77
SMSMode
Telnyx
Termii
Twilio
Unifonic
Vonage

📱 Push (8 providers)

Provider
APNS
App.io
Expo
[FCM](https://github.com/novuhq/novu/tree/next/packages/

Extension points exported contracts — how you extend this code

HelloWorldBinding (Interface)
* Hello World binding to serve as an explanatory example. DO NOT USE [7 implementers]
enterprise/workers/step-resolver/worker-configuration.d.ts
IEmailProvider (Interface)
(no doc) [102 implementers]
packages/stateless/src/lib/provider/provider.interface.ts
INotificationTemplateChangeService (Interface)
(no doc) [455 implementers]
apps/api/src/app/change/usecases/shared/notification-template-change.interface.ts
IChannelFactory (Interface)
(no doc) [8 implementers]
libs/application-generic/src/factories/channel.factory.ts
IMemberRepositoryMongo (Interface)
(no doc) [5 implementers]
libs/dal/src/repositories/member/member-repository.interface.ts
BaseSocketInterface (Interface)
(no doc) [4 implementers]
packages/js/src/ws/base-socket.ts
SpeechRecognition (Interface)
(no doc) [4 implementers]
playground/nextjs/src/components/ai-elements/speech-input.tsx
ReplyHandle (Interface)
(no doc) [3 implementers]
packages/framework/src/resources/agent/agent.types.ts

Core symbols most depended-on inside this repo

create
called by 1956
libs/dal/src/repositories/user/user-repository.interface.ts
map
called by 1734
libs/maily-core/src/editor/plugins/drag-handle/drag-handle-plugin.ts
parse
called by 1710
packages/framework/src/jsonSchemaFaker.js
execute
called by 1454
apps/api/src/app/environments-v2/types/sync.types.ts
find
called by 1351
libs/dal/src/repositories/user/user-repository.interface.ts
stringify
called by 1171
packages/framework/src/jsonSchemaFaker.js
get
called by 1052
enterprise/workers/step-resolver/worker-configuration.d.ts
send
called by 925
enterprise/workers/step-resolver/worker-configuration.d.ts

Shape

Function 10,262
Method 6,580
Class 5,326
Interface 1,596
Enum 285

Languages

TypeScript99%
Python1%

Modules by API surface

enterprise/workers/step-resolver/worker-configuration.d.ts638 symbols
packages/framework/src/jsonSchemaFaker.js315 symbols
apps/inbound-mail/src/python/ipaddr.py115 symbols
libs/maily-render/src/maily.tsx66 symbols
enterprise/workers/scheduler/worker-configuration.d.ts56 symbols
apps/dashboard/src/components/ai-elements/prompt-input.tsx54 symbols
apps/inbound-mail/src/python/spf.py52 symbols
playground/nextjs/src/components/ai-elements/prompt-input.tsx49 symbols
packages/novu/src/commands/connect/ui/logging-ui.ts47 symbols
packages/js/src/api/inbox-service.ts47 symbols
apps/dashboard/src/api/agents.ts47 symbols
packages/framework/src/client.ts46 symbols

Dependencies from manifests, versioned

@ai-sdk/anthropic3.0.10 · 1×
@ai-sdk/langchain2.0.73 · 1×
@ai-sdk/openai3.0.10 · 1×
@ai-sdk/react3.0.51 · 1×
@antfu/utils0.7.10 · 1×
@anthropic-ai/aws-sdk0.3.0 · 1×
@anthropic-ai/claude-agent-sdk0.2.114 · 1×
@anthropic-ai/sdk0.95.1 · 1×
@apidevtools/json-schema-ref-parser11.6.4 · 1×
@arethetypeswrong/cli0.17.4 · 1×
@auto-it/npm10.36.5 · 1×
@auto-it/released10.36.5 · 1×

Datastores touched

AgentCollection · 1 repos
AgentIntegrationCollection · 1 repos
AgentMcpServerCollection · 1 repos
AiChatCollection · 1 repos
ChangeCollection · 1 repos
ChannelConnectionCollection · 1 repos
ChannelEndpointCollection · 1 repos
ContextCollection · 1 repos

For agents

$ claude mcp add novu \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact