Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Novu

Open-source notification and agent messaging layer for Inbox, email, SMS, push and chat through one API

Visit website Save

Novu is MIT-licensed communication infrastructure with a workflow engine, digests, an embeddable React Inbox and preferences, close to 80 provider integrations and two-way agent messaging. Run it on Novu Cloud (US or EU) or self-host with Docker.

Pricing
Freemium
Deployment
Self-hosted
Platforms
Web
40,295stars4,528forks
2views
Updated

What is Novu?

Novu is open-source communication infrastructure developed by Novu, a commercial open-source company. Applications send one API call, and Novu runs a workflow that decides which channels to use: an in-app Inbox, email, SMS, push or chat. The repository was created in 2021 and is a TypeScript monorepo containing the API, background worker, WebSocket service, web dashboard, provider adapters and client SDKs. Documentation lives at docs.novu.co.

The product now has two parts that share one API. Notify covers multi-channel notification workflows with digest, delay and throttle steps, a block-based email editor and embeddable Inbox and preference components. Agent Communication Infrastructure, abbreviated ACI, connects an agent that a team has already built to Slack, Microsoft Teams, Telegram, WhatsApp, email or web chat, normalising inbound messages into one conversation model and sending replies back. Novu states that it handles the communication layer and is not the agent itself; the ACI overview describes the split.

Distribution takes three forms. Novu Cloud is the hosted service with US and EU regions. The self-hosted Community edition runs from the official Docker Compose file, which pins the ghcr.io/novuhq/novu api, worker, ws and dashboard images at 3.19.0 together with MongoDB 8.0.17 and Redis. Client and server libraries are published to npm and other package registries, including @novu/react, @novu/js, @novu/nextjs, @novu/react-native and @novu/framework. Each package is versioned and released separately from the same repository.

The latest GitHub release at the time of checking is @novu/framework v2.14.0, published on September 28, 2026. It adds a Google Chat provider, an iMessage channel through Photon, inbound message edit and delete events, a quoteReply option for agent replies and re-exported Chart, Table and LinkButton card builders. The preceding platform release, v3.19.0 from August 2026, added a Tool channel with PagerDuty, Opsgenie and webhook providers, rich chat cards, LINE and Sendblue integrations, Slack token rotation and payload deduplication across jobs.

Licensing is open core. Code outside the enterprise folder is MIT-licensed; that folder, which holds packages such as auth, billing and translation, is under a commercial license. In practice the Community edition lacks several Cloud features, including SAML or OIDC single sign-on, role-based access control, translations, more than two environments and branding removal, and it allows one team member. Novu does not send messages on its own: delivery always goes through a provider account such as Amazon SES, SendGrid, Twilio, FCM or a Slack app that the user configures.

Inside the application

Novu screenshots

Explore the interface. Open a screenshot to view it at full size.

Novu Inbox components with bell, notification feed with action buttons and a channel preferences panel
Novu screenshot 1

Official figure of the embeddable Inbox, labelled with the Bell, Notifications, InboxContent and Preferences components.

Novu workflow editor with a trigger node and a step menu listing Email, In-App, Push, Chat, SMS, Delay, Digest and Throttle
Workflow editor step menu

Dashboard workflow editor from the Novu docs, showing the channel and action steps that can follow a trigger.

Novu activity feed showing a completed workflow run with trigger, digest, email and in-app execution steps
Activity feed workflow run

Activity feed from the Novu docs: one workflow run with its transaction ID, subscriber and per-step execution details.

Novu dashboard workflow list with status, steps, tags and last triggered dates
Dashboard workflows list

Workflows list in the Novu dashboard Development environment, from the official docs.

Diagram of Novu ACI connecting Slack, WhatsApp, MS Teams, Telegram and Email to an agent brain through identity, credentials, observability and a unified conversation
Agent Communication Infrastructure architecture

Official ACI architecture diagram: communication providers, the Novu agent bridge and the team's own agent.

Diagram of four application events batched by a one-hour digest into a single email
Digest engine

Digest engine diagram from the Novu docs: several events collected in one window and sent as one message.

Source: official Novu project page.

Key capabilities

  • Novu Cloud in US and EU regions The hosted dashboard at dashboard.novu.co needs no infrastructure. The REST API runs at api.novu.co for the US region and eu.api.novu.co for the EU region, and the dashboard region decides which endpoint applies. The Free plan includes both regions; the Enterprise plan adds Singapore, the UK, Australia, Japan and South Korea or a custom region, as listed on the pricing page.
  • Self-hosted Community edition with Docker The official Docker guide provides a setup script that downloads the compose file, generates JWT_SECRET, STORE_ENCRYPTION_KEY and NOVU_SECRET_KEY, then starts the stack. The dashboard listens on port 4000, the API on 3000 and the WebSocket service on 3002. On a VPS, set HOST_NAME to the server address and restart.
  • Production sizing guidance The self-hosting overview recommends three VMs each for API, Worker and WS at 2 vCPU and 4 GB RAM, a dashboard VM, two Redis clusters of 8 GB with AOF enabled on the queue cluster, a MongoDB Atlas M20 cluster or larger, and at least 10 GB of object storage. A single-VM layout with 4 vCPU and 8 GB RAM is documented for smaller loads. Object storage can be Amazon S3, an S3-compatible service, Google Cloud Storage or Azure Blob Storage.
  • Self-hosting telemetry and hardening Self-hosted servers send an hourly keep-alive beacon with host name, IP address, platform and memory figures, whether or not telemetry is enabled. Anonymous usage counts can be switched off with NOVU_TELEMETRY=false, as described on the telemetry page. The Docker README warns that its default secrets are examples only and that the database should be moved off the application host before production use.
  • Workflow engine A workflow starts from a trigger and combines channel steps (email, in-app, SMS, push, chat) with action steps such as delay, digest, throttle and HTTP requests. Steps can carry conditions based on subscriber data, payload values or earlier step results. Workflows can be built in the dashboard editor or in code, and the activity feed shows each run with per-step execution details.
  • Digest and throttle steps A digest step collects trigger events for a regular or scheduled window and runs later steps once, grouped by subscriber and optionally by one payload key such as a post ID. The maximum digest window depends on the plan. Throttle limits how often a workflow reaches the same subscriber, which helps with bursty event sources.
  • Embeddable Inbox for web apps npm install @novu/react provides an <Inbox /> component with a bell, notification feed, tabs, actions and a preferences panel, plus separate Bell, Notifications, InboxContent and Preferences components. The React quickstart needs an application identifier and a subscriber ID from the host app. Quickstarts also cover Next.js, Remix, Vue, Nuxt, Angular and plain JavaScript, and a React Native SDK exposes hooks for custom mobile UIs.
  • Subscriber preferences Workflows define default channel preferences, and subscribers can switch individual channels on or off per workflow or globally. Preferences can be read and updated through the API or the Preferences component. Critical workflows can be marked so that subscribers cannot disable them.
  • Provider integrations The README lists 20 email providers including Amazon SES, SendGrid, Postmark, Resend and custom SMTP; 37 SMS providers including Twilio, Vonage, Sinch and Plivo; 8 push providers including FCM, APNS, Expo and OneSignal; and 13 chat providers including Slack, Microsoft Teams, Discord, Telegram and WhatsApp Business. Provider credentials are stored encrypted with STORE_ENCRYPTION_KEY on self-hosted installations.
  • Code-first workflows with the Framework SDK @novu/framework defines workflows in TypeScript and serves them from a bridge endpoint inside the user's own application. Quickstarts cover Next.js, Express, NestJS, Remix, Nuxt, SvelteKit, H3, Hono and AWS Lambda. Payload and step controls can be typed with Zod, JSON Schema or class-validator, and email bodies can be rendered with React Email, Vue Email or Svelte Email.
  • REST API and server SDKs The API reference covers events, subscribers, topics, workflows, integrations, environments, layouts, translations and agents. Novu maintains server SDKs for TypeScript, Python, Go, PHP, .NET and Java; Laravel, Kotlin and Ruby SDKs are community maintained. A trigger payload is limited to 512 KB, with attachments counted separately.
  • Rate limits by plan Trigger endpoints allow 60 requests per second on Free, 240 on Pro, 600 on Team and 6,000 on Enterprise. Bulk endpoints cost 100 tokens per call, and responses carry RateLimit headers. A 429 response should be retried with backoff and an idempotency key.
  • Topics, contexts and multi-tenancy Topics group subscribers so one trigger reaches all members of a project or team. Contexts attach a tenant or other scope to a trigger, filter the Inbox to that tenant and scope preferences per subscriber and tenant, without duplicating subscriber records.
  • Agent Communication Infrastructure ACI receives messages from Slack, Microsoft Teams, Telegram, WhatsApp, email and web chat, resolves the user identity, keeps conversation state and routes the turn to the team's agent. Getting-started guides cover Claude Managed Agents, the AI SDK, LangChain, Mastra and agents on AWS. Building blocks include replies, typing indicators, message edits, signals and tool approval before an agent acts.
  • Novu MCP server Novu Cloud exposes a Model Context Protocol endpoint at mcp.novu.co (US) and eu.mcp.novu.co (EU). Clients such as Cursor, VS Code, Claude Code and ChatGPT can trigger workflows, inspect subscribers, debug failed deliveries and manage agents after OAuth sign-in or with an API key. The MCP endpoint requires a Cloud account.
  • Environments and publishing Each organisation starts with Development and Production environments, and changes are promoted with a publish step. Cloud plans allow additional custom environments: up to 10 on Team and unlimited on Enterprise. The Community edition stays at two environments.
  • Webhooks and data export Outbound webhooks report workflow and message events, and documented connectors forward them to Amazon EventBridge, SQS, SNS, S3, Azure Blob Storage, ClickHouse or a data warehouse. Email activity tracking, which records opens and clicks from provider webhooks, is a Cloud feature.
  • Migration guides The documentation includes step-by-step guides for moving from Courier, Knock, MagicBell or an in-house notification system, as well as recipes for transactional messages, password resets, digests and multi-channel fallback.
Advertisements

Where Novu fits

Adding an in-app notification center to a SaaS product

Create a workflow with an In-App step, install @novu/react and render the Inbox with the application identifier and the signed-in user's ID as subscriber ID. Trigger the workflow from the backend with a secret API key, never from browser code. Check that the bell count updates in real time over the WebSocket service, that action buttons route through the routerPush handler, and that HMAC subscriber verification is enabled before production so one user cannot read another user's feed.

Routing transactional messages across email and SMS

Connect an email provider such as Amazon SES or Postmark and an SMS provider such as Twilio, then build a workflow with an email step followed by a conditional SMS step. Use step conditions so the SMS only runs when the email was not read or the subscriber has no email address. Review the activity feed for each test run, confirm the provider message IDs, and set up a fallback provider before relying on a single vendor for password resets or one-time codes.

Reducing notification noise with digests

Insert a digest step before the email channel so that comment, mention or alert events collect for a fixed window, for example one hour, and arrive as one message. Group by subscriber and, if needed, by a payload key such as a project ID. Render the digested event list in the email template. Check the plan's maximum digest window and test what happens when a single event arrives, so the template still reads correctly with one item.

Defining workflows in code next to the application

Teams that prefer version-controlled templates can write workflows with @novu/framework, expose them on a bridge route in Next.js, NestJS or Express, and sync them to Novu with the CLI or a GitHub Action. Step controls let product staff edit approved fields such as subject lines in the dashboard without changing code. Validate payload schemas with Zod or JSON Schema and run the sync in CI so production workflows match the reviewed branch.

Putting an existing agent into Slack, Teams or WhatsApp

Register the agent in Novu, connect the channel through the dashboard or npx novu@latest connect, and point Novu at the agent endpoint or a Claude Managed Agent. Novu delivers each inbound message in a normalised format and sends the reply back with channel-aware formatting. Test threading, reactions and tool approval in each target channel, and review which user identities the agent can see before exposing it to customers.

Self-hosting for data control

Run the setup script on a host with Docker, keep the generated secrets, set HOST_NAME, and confirm the API health check at /v1/health-check. Move MongoDB and Redis to managed or dedicated instances, enable Redis AOF for queues, and attach S3-compatible storage. Set NOVU_TELEMETRY=false if usage statistics should not leave the network, and note that the hourly keep-alive beacon is still sent.

Install

curl -fsSL https://raw.githubusercontent.com/novuhq/novu/next/docker/community/setup.sh | bash

Reviews of Novu

No reviews yet

Be the first to share your experience with Novu.

Loading review form…

Alternatives to Novu

Compare Novu with these tools →