Although you can trigger Novu workflows from any programming language using our Rest API SDKs.

We believe that the best way to build your notification strategy is to treat your templates and workflows as your Notification Design System. Building reusable components to be consumed and embedded by your non-technical peers in any combination.

Typescript SDKs enable the creation of stunning channel content like E-mails using modern technologies like React/Vue/etc… Treating your emails as a front-end concern opens up a world of possibilities to reuse design tokens, components, and even entire templates across your applications for consistent branding and a cohesive user experience.

Novu Framework was built and optimized with extreme focus on Developer Experience. Our @novu/framework SDK is written in Typescript, and we recommend using Typescript for your own projects as well.

Type Safe Workflow Payloads

When defining a workflow payload schema, our SDK will automatically infer it to a Typescript interface.

import { workflow } from "@novu/framework";

const myWorkflow = workflow(
  "new-signup",
  async ({ step, payload }) => {
    await step.email("send-email", () => {
      return {
        subject: "Hello World",
        // The payload object here is type-safe
        body: `Hi ${payload.name}, welcome to our platform!`,
      };
    });
  },
  {
    payloadSchema: { properties: { name: { type: "string" } } },
  }
);

Type Safe Steps

Similarly, when defining a step schema, our SDK will automatically infer it to a Typescript interface.

Step Controls

Build and define type safe controls to expose no-code editing capabilities to your teammates.

Explore the SDK

The @novu/framework SDK is compatible with Node.js version 20.0.0 and above.