Convert Figma logo to code with AI

novuhq logonovu

The open-source communication infrastructure for agents and products

39,282
4,349
39,282
95

Top Related Projects

💌 Build and send emails using React

28,737

Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬

35,388

🦔 PostHog is an all-in-one developer platform for building successful products. We offer product analytics, web analytics, session replay, error tracking, feature flags, experimentation, surveys, data warehouse, a CDP, and an AI product assistant to help debug your code, ship features faster, and keep all your usage and customer data in one stack.

Open-source live customer chat

27,621

Open source, privacy-first web analytics. Lightweight, cookie-free Google Analytics alternative. Self-hosted or cloud.

Quick Overview

Novu is an open-source notification infrastructure for developers. It provides a unified API to send notifications across multiple channels like email, SMS, push, and chat. Novu aims to simplify the process of adding multi-channel notifications to applications.

Pros

  • Unified API for multiple notification channels
  • Customizable templates and workflows
  • Supports various providers (e.g., SendGrid, Twilio, Slack)
  • Self-hosted option available for data privacy

Cons

  • Learning curve for complex notification workflows
  • Limited native integrations compared to some commercial solutions
  • Requires setup and maintenance for self-hosted deployments
  • Community support may be less robust than enterprise alternatives

Code Examples

  1. Initializing the Novu client:
import { Novu } from '@novu/node';

const novu = new Novu('<YOUR_API_KEY>');
  1. Sending a simple notification:
await novu.trigger('event-name', {
  to: {
    subscriberId: 'user-id',
    email: 'user@example.com'
  },
  payload: {
    name: 'John Doe',
    message: 'Hello from Novu!'
  }
});
  1. Creating a notification template:
const template = await novu.notificationTemplates.create({
  name: 'Welcome Email',
  description: 'A welcome email for new users',
  notificationGroupId: 'group-id',
  steps: [
    {
      template: {
        type: 'email',
        subject: 'Welcome to our platform!',
        content: 'Hi {{name}}, welcome to our platform!'
      }
    }
  ]
});

Getting Started

  1. Install Novu:

    npm install @novu/node
    
  2. Initialize the Novu client:

    import { Novu } from '@novu/node';
    const novu = new Novu('<YOUR_API_KEY>');
    
  3. Create a notification template in the Novu dashboard or via API.

  4. Trigger a notification:

    await novu.trigger('template-name', {
      to: { subscriberId: 'user-id' },
      payload: { /* your data */ }
    });
    

Competitor Comparisons

💌 Build and send emails using React

Pros of React Email

  • Focused specifically on email template creation using React components
  • Lightweight and easy to integrate into existing React projects
  • Provides a live preview feature for instant visual feedback

Cons of React Email

  • Limited to email template creation, lacking full notification system functionality
  • Smaller community and ecosystem compared to Novu
  • Less comprehensive documentation and fewer integrations

Code Comparison

React Email:

import { Html } from '@react-email/html';
import { Text } from '@react-email/text';

export default function Email() {
  return (
    <Html>
      <Text>Hello World</Text>
    </Html>
  );
}

Novu:

import { Novu } from '@novu/node';

const novu = new Novu('<YOUR_API_KEY>');

await novu.trigger('<TRIGGER_NAME>', {
  to: {
    subscriberId: '<SUBSCRIBER_ID>',
    email: 'john@doemail.com',
  },
  payload: {
    name: 'John Doe',
  },
});

Summary

React Email is a lightweight solution for creating email templates using React components, offering easy integration and live preview. However, it lacks the comprehensive notification system features provided by Novu. Novu offers a more robust platform with multi-channel notifications, workflow management, and a larger ecosystem, but may be more complex to set up and use for simple email template needs.

28,737

Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬

Pros of Chatwoot

  • More focused on customer support and live chat functionality
  • Offers a user-friendly interface for managing customer conversations
  • Includes features like canned responses and team collaboration tools

Cons of Chatwoot

  • Limited in scope compared to Novu's broader notification capabilities
  • May require additional integrations for comprehensive multi-channel notifications
  • Less flexibility for developers looking to build custom notification systems

Code Comparison

Chatwoot (Ruby on Rails):

class ConversationsController < ApplicationController
  def create
    @conversation = Current.account.conversations.build(conversation_params)
    @conversation.save!
    render json: @conversation
  end
end

Novu (Node.js):

export async function triggerEvent(data: ITriggerPayload) {
  const { name, to, payload, overrides } = data;
  const event = await getEventByName(name);
  const subscriber = await getSubscriber(to);
  await processSubscriber(event, subscriber, payload, overrides);
}

Both repositories offer open-source solutions for communication and notifications, but they serve different primary purposes. Chatwoot focuses on customer support and live chat, while Novu provides a more comprehensive notification infrastructure. The code examples highlight their different approaches, with Chatwoot using Ruby on Rails for web-based chat functionality and Novu utilizing Node.js for event-driven notifications.

35,388

🦔 PostHog is an all-in-one developer platform for building successful products. We offer product analytics, web analytics, session replay, error tracking, feature flags, experimentation, surveys, data warehouse, a CDP, and an AI product assistant to help debug your code, ship features faster, and keep all your usage and customer data in one stack.

Pros of PostHog

  • More comprehensive product analytics suite with features like session recording and feature flags
  • Larger community and more active development (higher star count and commit frequency)
  • Self-hosted option available for better data control and privacy

Cons of PostHog

  • Steeper learning curve due to more complex features and integrations
  • Higher resource requirements for self-hosted deployments
  • May be overkill for projects only needing basic notification functionality

Code Comparison

PostHog (JavaScript snippet for tracking):

posthog.init('<ph_project_api_key>', { api_host: '<ph_instance_address>' })
posthog.capture('my event', { property: 'value' })

Novu (JavaScript snippet for notifications):

import { Novu } from '@novu/node';
const novu = new Novu('<api_key>');
await novu.trigger('<trigger_name>', { to: { subscriberId: '<id>' }, payload: {} });

Both repositories offer valuable tools for developers, but they serve different primary purposes. PostHog focuses on product analytics and user behavior tracking, while Novu specializes in notification infrastructure. The choice between them depends on the specific needs of your project, with PostHog being more suitable for comprehensive analytics and Novu for streamlined notification management.

Open-source live customer chat

Pros of Papercups

  • Focused on customer chat and support, providing a more specialized solution for customer communication
  • Offers a lightweight, easy-to-integrate widget for websites
  • Built with Elixir, which can provide better performance and scalability for certain use cases

Cons of Papercups

  • Limited to chat functionality, lacking the multi-channel notification capabilities of Novu
  • Smaller community and ecosystem compared to Novu's more comprehensive platform
  • Less extensive documentation and integration options

Code Comparison

Papercups (Elixir):

defmodule Papercups.Chat do
  use Ecto.Schema
  import Ecto.Changeset

  schema "chats" do
    field :status, :string
    field :messages, {:array, :map}
    timestamps()
  end
end

Novu (TypeScript):

import { ChannelTypeEnum } from '@novu/shared';

export class Notification {
  constructor(
    public channelType: ChannelTypeEnum,
    public content: string,
    public recipient: string
  ) {}
}

The code snippets highlight the different focus areas of the two projects. Papercups' code relates to chat management, while Novu's code demonstrates its multi-channel notification capabilities.

27,621

Open source, privacy-first web analytics. Lightweight, cookie-free Google Analytics alternative. Self-hosted or cloud.

Pros of Plausible

  • Lightweight and privacy-focused analytics solution
  • Simple setup and easy-to-understand dashboard
  • Open-source with a self-hosted option

Cons of Plausible

  • Limited feature set compared to Novu's comprehensive notification system
  • Focused solely on analytics, lacking multi-channel communication capabilities
  • Smaller community and ecosystem

Code Comparison

Plausible (JavaScript snippet for website integration):

<script defer data-domain="yourdomain.com" src="https://plausible.io/js/plausible.js"></script>

Novu (Node.js example for sending a notification):

import { Novu } from '@novu/node';

const novu = new Novu('<YOUR_API_KEY>');
await novu.trigger('event-name', {
  to: { subscriberId: 'user-id' },
  payload: { name: 'John' }
});

While both projects are open-source, they serve different purposes. Plausible focuses on providing a privacy-friendly analytics solution, while Novu offers a comprehensive notification infrastructure. Plausible's code snippet is simpler due to its specific focus, whereas Novu's example demonstrates its flexibility in sending notifications across various channels. The choice between the two depends on whether you need analytics (Plausible) or a notification system (Novu).

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Novu Logo

Product Hunt Hacker News NPM 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 »

Report a bug · Docs · Website · Join our Discord · Changelog · Roadmap · X · 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
OneSignal
Push Webhook
Pusher Beams
Pushpad
💬 Chat (12 providers)
Provider
Chat Webhook
Discord
GetStream
Grafana OnCall
Mattermost
Microsoft Teams
Rocket.Chat
Ryver
Slack
Telegram
WhatsApp Business
Zulip
📥 In-App (1 provider)
Provider
Novu Inbox

📋 Read Our Code Of Conduct

Before you begin coding and collaborating, please read our Code of Conduct thoroughly to understand the standards (that you are required to adhere to) for community engagement. As part of our open-source community, we hold ourselves and other contributors to a high standard of communication. As a participant and contributor to this project, you agree to abide by our Code of Conduct.

💻 Need Help?

We are more than happy to help you. If you are getting any errors or facing problems while working on this project, join our Discord server and ask for help. We are open to discussing anything related to the project.

🔗 Links

🛡️ License

Novu is a commercial open source company, which means some parts of this open source repository require a commercial license. The concept is called "Open Core," where the core technology is fully open source, licensed under MIT license, and the enterprise code is covered under a commercial license ("/enterprise" Enterprise Edition). Enterprise features are built by the core engineering team of Novu which is hired in full-time.

The following modules and folders are licensed under the enterprise license:

  • enterprise folder at the root of the project and all of their subfolders and modules
  • apps/web/src/ee folder and all of their subfolders and modules
  • apps/dashboard/src/ee folder and all of their subfolders and modules

💪 Thanks to all of our contributors

Thanks a lot for spending your time helping Novu grow. Keep rocking 🥂

Contributors

The beatiful header animation was contributed by LottieFiles ❤️

NPM DownloadsLast 30 Days