Novu was built to provide the most flexible and customizable set of building blocks to deliver modern embedded notification experiences.

We can break down the Novu platform into four main components:

Novu API

The Novu API is responsible for triggering notifications, managing subscribers, powering the Inbox Component, and more. This is a restful service that you can access using our server-side SDKs or directly via HTTP using the generated API Secret Key associated with your environment.

Workflow Engine

Once an event is triggered, it will be persisted on our database and pushed to the workflow queue, which will be picked by the workflow engine for processing. The workflow engine is responsible for fanning out the generated notifications to multiple subscribers and topics, scheduling delayed events, and retrying failed jobs, handling subscriber preferences and more.

Bridge Endpoint

The bridge endpoint is an HTTP endpoint that is powered by the Novu Framework SDK and should be deployed in your own infrastructure. Bridge endpoint is responsible for multiple aspects of the notification delivery process:

  • Defining workflows and their steps
  • Abstracting the content of the notification
  • Exposing No-Code controls to the Dashboard for no-code modifications to content and configuration
  • Executing advanced logic such as:
    • Fetching data from external APIs
    • Hydrating just-in-time subscriber and topic information
    • Decision making for delivery based on custom rules

Bridge Endpoint execution phases

Build phase

When building new workflows, you will be using the Novu Framework SDK to define the workflows and their steps directly in your IDE. The local workflows can be previewed and tested using our Local Studio companion app.

Sync phase

A sync is needed once a notification workflow code is created or updated. We offer multiple sync methods including CI/CD integrations and a custom CLI tool.

During a sync, the workflows defined using the Novu Framework SDK will be pushed to our cloud service and will be persisted in our database. Once synced, you will be able to view the workflows in the Workflows Page on the Dashboard. All the controls created using JSON Schema or Zod will be transformed into UI elements that can be modified without changing the source code. Read more about controls here.

Execution phase

Once a workflow is synced, the workflow engine will make API requests to the bridge endpoint to execute individual workflow steps. After the fan-out is complete, the bridge endpoint will be triggered with the relevant execution context and will respond with the compiled content and metadata needed to deliver the notification.

Dashboard

The Dashboard is a managed user interface for managing the workflow controls, connecting integrations, debugging workflow execution, and more. Each control created in the code workflow definition will generate a corresponding UI element in the Dashboard editor, any changes to those controls will be overriding the default values defined in the code.

FAQ