Typescript SDK

Connect a TS/JS application to Novu

Novu's Typescript SDK provides simple, yet comprehensive notification management, and delivery capabilities through multiple channels that you can implement using code. It integrates seamlessly with your Node.js, Bun, Deno, and Cloudflare Workers applications.

Explore the source code on GitHub

Installation

npm add @novu/api

Usage

import { Novu } from "@novu/api";
 
const novu = new Novu({ secretKey: "<YOUR_SECRET_KEY_HERE>", });
 
async function run() {
  const result = await novu.trigger({
    to: {
      subscriberId: "subscriber_unique_identifier",
      firstName: "Albert",
      lastName: "Einstein",
      email: "[email protected]",
      phone: "+1234567890",
    },
    workflowId: "workflow_identifier",
    payload: {
      comment_id: "string",
      post: {
        text: "string",
      },
    },
    overrides: {
      email: {
        bcc: "[email protected]",
      },
    },
  });
}
 
run();

Sending custom header

To send custom headers, you can use the HTTPClient class. Read more on how to configure custom http client.

import { Novu } from "@novu/api";
import { HTTPClient } from "@novu/api/lib/http";
 
const httpClient = new HTTPClient();
 
httpClient.addHook("beforeRequest", (request) => {
  const nextRequest = new Request(request);
  nextRequest.headers.set("x-custom-header", "custom-header-value");
 
  return nextRequest;
});
 
const novu = new Novu({
  httpClient,
  secretKey: "SECRET_KEY_VALUE",
  serverURL: "https://eu.api.novu.co",
});
 
novu.trigger({
  workflowId: "WORKFLOW_ID_VALUE",
  to: {
    subscriberId: "subscriberId",
  },
  payload: {
    message: "Hello, world!",
  },
});

On this page

Edit this page on GitHub