Novu Communication Infrastructure
The open-source communication layer that connects your products and agents to every channel your users live on—Inbox, Email, SMS, Push, Chat, and more—through one API and one unified conversation model.
- Source repo
- novuhq/novu
- Stars
- ★ 40k
- Last updated
- today
- License
- NOASSERTION
- Primary language
- TypeScript
- FA score
- 0/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A developer building a SaaS product needs to quickly add multi-channel notifications (in-app, email, SMS) without stitching together multiple providers.
- Not a fit if
- Teams that need fully offline or on-prem-only messaging
- Teams unwilling to pay third-party channel providers
- Teams needing ready-made React Native, Vue, or Angular Inbox components
- Source review
- 0/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
Novu is an open-source communication infrastructure designed for products and AI agents that need to talk to people across multiple channels. It provides a single API and a unified conversation model to send notifications through Inbox/In-App, Email, SMS, Push, and Chat. Novu includes an embeddable real-time Inbox component, a workflow engine with branching and conditions, a digest engine to batch notifications, a no-code email editor, and user preferences components. For agents, Novu offers Agent Communication Infrastructure (ACI) that connects any agent to channels like Slack, Microsoft Teams, Telegram, WhatsApp, and email, handling bidirectional messaging. The project follows an Open Core licensing model: core features are MIT-licensed, while enterprise features require a commercial license.
Novu performs these concrete operations: sends notifications via a unified API to multiple channels (Inbox, Email, SMS, Push, Chat); provides an embeddable React Inbox component (@novu/react) and JavaScript SDK (@novu/js); executes a workflow engine supporting branching and conditions; uses a digest engine to batch multiple notifications; offers a no-code email editor; for ACI, receives inbound messages from channels, normalizes them into a consistent shape, routes them to your agent, and sends agent responses back; integrates with dozens of providers including SendGrid, SES, Twilio, FCM, Slack, Teams, and Telegram. Users create a free account on the dashboard and follow setup instructions.
- A developer building a SaaS product needs to quickly add multi-channel notifications (in-app, email, SMS) without stitching together multiple providers.
- A team has built an AI agent with LangGraph and wants to make it available in Slack for internal collaboration.
- A product manager wants to design notification workflows visually with conditions and digests.
- A developer wants to give users an embeddable notification center and let them manage preferences.
- A company wants to centralize its messaging provider integrations to reduce maintenance overhead.
How do you install or deploy this agent?
To get started, create a free account on the Novu dashboard and follow the instructions provided there. For the ACI demo, run 'npx novu@latest connect' in your terminal. For development, install the npm packages @novu/react and @novu/js.
How do you use this agent?
After creating an account, obtain your API key and use the Novu API to send notifications or embed the React Inbox component. For ACI, use the 'npx novu@latest connect' command to launch a connector and follow the prompts to configure channels. Detailed usage guidance is available in the official docs.
What are this agent's strengths and limitations?
- Unified API covers multiple channels, reducing integration effort.
- Embeddable Inbox and preferences components improve user experience.
- Workflow and digest engines provide flexible notification delivery.
- ACI supports bidirectional messaging and a unified conversation model, simplifying agent-to-channel integration.
- Open Core model means some enterprise features require a commercial license.
- Relies on third-party providers (e.g., Twilio, SendGrid), which may incur costs.
- Setup instructions are brief; detailed steps require consulting official docs.
- React Native, Vue, and Angular Inbox components are not yet available, limiting platform coverage.
How does this agent compare with similar options?
The source does not mention alternative products.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Novu Communication Infrastructure This agent | 0 · Major gaps | Hosted serviceFreemium | ★ 40k | today | TypeScript | — |
| DeterminFlow | 66 · Some gaps | Desktop appFree + model costs | ★ 920 | 1mo ago | Python | — |
| AgenticX Multi-Agent Platform | 64 · Some gaps | CLIFree + model costs | ★ 506 | 1d ago | Python | Claude Code · OpenAI API · Claude API |
| VoltAgent | 28 · Major gaps | CLIFreemium | ★ 11k | 21d ago | TypeScript | ChatGPT · OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows the repository includes SECURITY.md with a vulnerability reporting process, but no permission model, user confirmation mechanism, data flow transparency, or sensitive data handling details. For dependency security, package.json has a resolution pinning minimist, but no dependency audit or vulnerability scanning evidence. External effects: README describes sending notifications and connecting channels, but no permissions or side effects are specified. Rollback and source attribution are not mentioned. Therefore all trust criteria score 0.
The repository contains many test files, such as apps/dashboard/tests/manage-workflows.e2e.ts, indicating test coverage, but static review cannot verify test execution or results. Dependency availability: package.json lists many dependencies, but no availability guarantees are provided. Failure messages: tests check validation errors, but no user-facing failure message design is provided. Therefore all reliability criteria score 0.
README clearly identifies target audience as developers and products, with scenarios including notifications and agent communication. Capability boundaries: README states Novu is not the agent itself, but does not detail limitations. Trigger precision: workflows have triggers, but no precise trigger conditions are provided. Environment fit: package.json specifies Node version and pnpm, but no deployment environment details. Therefore all adaptability criteria score 0.
Information architecture: README has a table of contents and sections, but no detailed documentation structure. Install notes: README provides a quick start, but no full installation guide. Naming stability: no naming conventions mentioned. Examples and FAQ: README has examples, but no FAQ. Known limitations: not mentioned. License: README explains Open Core, but package.json has license NOASSERTION, inconsistent. Versioning and changelog: not provided. Maintenance responsibility: README mentions contribution guidelines, but no clear maintainers. Therefore all convention criteria score 0.
Output usability: README describes API and components, but no output format examples. Marginal value: README claims unified API and multiple channels, but no comparison with alternatives. Cost-benefit: no pricing or performance data. Therefore all effectiveness criteria score 0.
Claim traceability: README has links to docs and code, but no specific evidence. Cross-source corroboration: no external validation. Fact-inference separation: README mixes facts and marketing claims without clear distinction. Therefore all verifiability criteria score 0.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- Static review cannot verify test execution or security; dynamic testing is needed.
- License metadata is NOASSERTION, inconsistent with README's Open Core description; needs clarification.
- No permission model or data flow transparency provided; actual code needs review.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
🚀 Features - api-service: rich inbound message content and author metadata fixes NV-8629 ([#12728](https://github.com/novuhq/novu/pull/12728)) - framework: re-export Chart, Table and LinkButton card builders fixes NV-8632 ([#12727](https://github.com/novuhq/novu/pull/12727)) - api-service,framework: add inbound message edit/delete lifecycle fixes NV-8628 ([#12703](https://github.com/novuhq/novu/pull/12703)) - providers: add Google Chat provider and documentation fixes NV-8811 ([#12690](https://github.com/novuhq/novu/pull/12690)) …View on GitHub ↗ -
Release notes excerpt
🩹 Fixes - framework: type outbound agent cards as protocol CardElement instead of Record fixes NV-8745 ([#12525](https://github.com/novuhq/novu/pull/12525)) ❤️ Thank You - Adam Chmara @ChmaraXView on GitHub ↗ -
Release notes excerpt
This was a version bump only for @novu/nextjs to align it with other projects, there were no code changes.View on GitHub ↗