Novu

repository·next·Indexed 10 days ago

https://github.com/novuhq/novu

An open-source communication infrastructure providing a unified API and conversation model to connect products and AI agents to messaging channels such as Email, SMS, and Slack.

Tokens
575.2K
Snippets
1.6K
Records
2.6K
Agent score
99%

What's inside Novu

  1. Overview of the Novu Developer Stack

    next

    Novu provides a multi-channel notification platform designed for developers to integrate into their products. The stack consists of several core components:

    • Code-first Notification Framework: An opinionated and flexible framework for building and managing notification workflows.
    • JSON Schema Based Controls: Enables the creation of no-code visual editors so non-technical team members can modify notification content and behavior.
    • Prebuilt UI Components: Customizable components, such as the Inbox, for in-app user notification feeds and preference management.
    • Provider Integrations: Support for 60+ delivery providers, allowing you to use your existing vendors.
    • Novu Cloud SaaS: Scalable infrastructure designed for high-volume delivery and storage.
    • Observability: Tools to track the lifecycle of a notification to debug success or failure.
    • Content Tooling: Support for writing content using React (react-email), Vue-email, MJML, and more, with the ability to hydrate content using any datasource.
  2. Overview of Novu SDKs

    next

    Novu provides a variety of SDKs categorized by their usage pattern:

    1. API SDKs (Server-side): Simplify integration with Novu's REST API for triggering notifications and managing subscribers. These are available for multiple languages including TypeScript, Python, Go, PHP, .NET, and Java (Official), as well as Laravel, Kotlin, and Ruby (Community).
    2. Framework SDK (TypeScript): A specialized TypeScript library used to build and execute notification workflows within your own runtime environment. Note that while all SDKs can trigger notifications, only the Framework TypeScript SDK supports creating and managing workflows.
    3. Web and Mobile SDKs (Client-side): Enable integration with prebuilt UI components like the Inbox. Available for React, React Native, and a Headless (framework-agnostic) version for custom UIs.
    4. REST API: For platforms without a native SDK, you can interact directly with Novu's REST API.
  3. Overview of @novu/react components

    next

    The @novu/react package provides a suite of pre-built React components and hooks designed to build notification user interfaces. Available components include:

    • Inbox: A complete notification center UI.
    • Bell: A notification bell icon/trigger.
    • Notifications: Individual notification items or lists.
    • Subscription: Components to manage user notification subscriptions.
    • Hooks: Custom hooks for building bespoke notification experiences.
  4. Overview of Novu Communication Infrastructure

    next

    Novu is an open-source communication infrastructure designed to connect products and AI agents to multiple communication channels (Inbox, Email, SMS, Push, Chat, Slack, Microsoft Teams, Telegram, etc.) using a single API and a unified conversation model.

    Novu serves two primary use cases:

    1. Communication infrastructure for products: A notification platform that handles multi-channel delivery (Inbox/In-App, Push, Email, SMS, and Chat) via a single API. It includes a workflow engine with branching/conditions, a digest engine for batching, and embeddable components for Inboxes and user preferences.

    2. Agent Communication Infrastructure (ACI): A suite for connecting existing AI agents to communication channels. It normalizes inbound messages from various platforms into a consistent shape, routes them to your agent, and sends agent responses back out. It supports bidirectional messaging and works with any agent stack (e.g., Claude Managed Agents, AI SDK, LangGraph).

  5. Overview of Novu Notify and Novu Connect

    next

    Novu provides two primary infrastructure paths for managing communications:

    1. Novu Notify: Designed for building notification workflows. It allows you to trigger events and reach users across various channels like Inbox, email, SMS, push, and chat. You can use it to embed a real-time notification feed (Inbox) that subscribers can interact with (read, archive, snooze, etc.).

    2. Novu Connect: Known as Agent Communication Infrastructure (ACI), this layer sits between messaging providers and AI agent intelligence. It handles messages, identity, conversation state, and replies, allowing you to connect AI agents (whether managed via platforms like Claude or custom code via AI SDKs/LangChain) to messaging channels.

  6. Overview of `@novu/chat-adapter-web`

    next

    The @novu/chat-adapter-web is a first-party web chat adapter designed for Novu conversational agents. It implements the Chat SDK Adapter contract, allowing browser ingress to share the same architecture as Slack or email channels.

    Key Architectural Details:

    • Inbound Flow: Uses InboundDispatcher → registry → handleWebhook.
    • Outbound Flow: Replies are handled out-of-band via durable Mongo activities and adapter-owned live WebSockets (WS), rather than in-request SSE.
    • Note on SSE: This adapter does not use the official @chat-adapter/web because its postMessage/stream APIs require a live HTTP request (ALS-bound SSE writer).
  7. Key features of Novu Email channel

    next

    The Novu email integration provides several enterprise-grade capabilities:

    • Multi-provider support: Connect multiple major providers (SendGrid, SES, Mailgun, Postmark, Resend, etc.).
    • Failover mechanisms: Automatically retry delivery with a backup provider if the primary one fails, ensuring high reliability.
    • Activity tracking: Monitor delivery status and open rates directly in the Novu dashboard.

    Note on Activity Tracking: This feature is exclusive to Novu Cloud and Enterprise self-hosted editions. It is not available in the Community self-hosted edition.

  8. Compare Novu Cloud and Community Self-Hosted

    next

    Novu offers two primary deployment models: Community Self-Hosted and Novu Cloud.

    • Community Self-Hosted: Ideal for testing, experimentation, and developers who want full control over their infrastructure. Many capabilities (like activity feed retention, max workflows, and provider integrations) are dependent on your specific infrastructure setup.
    • Novu Cloud: A commercial, managed offering designed for scaling. It provides 'zero infrastructure management,' automatic updates, and access to enterprise-grade features like custom environments, advanced security, and compliance certifications.

    Choose Community Self-Hosted if you want to manage your own servers and infrastructure. Choose Novu Cloud if you want to offload maintenance, scaling, and security to Novu and require enterprise features.

  9. Self-host Novu overview

    next

    Self-hosting Novu allows you to deploy the notification infrastructure on your own servers for full control and customization.

    Key Considerations:

    • Feature Parity: Some features exclusive to Novu Cloud (such as SSO, RBAC, and certain Inbox features) are not available in the self-hosted Community edition.
    • Authentication: Social logins (GitHub, Google, etc.) are not supported in self-hosted environments. You must use the email and password associated with your Novu account to access the dashboard.
    • API Usage: The API is identical to the Cloud version. To use your self-hosted instance, simply point your API calls to your own API hostname instead of https://api.novu.co.
  10. Configure Novu chat providers

    next

    Novu supports integrating and managing chat notifications across various platforms including:

    • Slack
    • Discord
    • Microsoft Teams
    • WhatsApp
    • Telegram

    These integrations allow you to scale chat notifications through a unified development workflow using the Novu Framework SDK.

  11. Explore Novu Server-Side SDKs

    next

    Novu provides a collection of server-side SDKs designed to simplify integration with the Novu REST API. These SDKs allow you to connect various programming language environments to Novu to manage notifications.

    If you prefer to interact with the REST API directly before choosing an SDK, you can use the official Postman collection to test endpoints interactively.