Section1

is a full-stack (UI Components, API, and Framework) open source notification infrastructure platform for building, managing, delivering, and monitoring all types of end-user notifications.

is a developer-first product built for engineers looking to deliver a notifications platform for products. Novu simplifies the complexities of notification management for developers who can then empower the product and marketing teams that need to edit and maintain notification content and copy. Novu supports a variety of common notification channels out-of-the-box, including Email, SMS, Push, Inbox, and Chat. {{payload.user_name}}

Section2

empowers developers and engineering teams to quickly deliver a fully extensible notifications platform for product teams to create captivating notification experiences.

  • Redirect to section1 Code-first Notification Framework Opinionated, yet flexible, Framework for building and managing notification workflows.
  • Redirect to Concepts clésJSON Schema Based Controls to craft a no-code visual editor to enable non-technical team members to modify content and behaviour.
  • Redirect to introduction api reference Prebuilt, customisable UI components for in-app user notification feeds and preference experiences.
  • Redirects to FedaPay Observability for delving into the lifecycle of a notification’s success or failure. Eliminate guesswork of how, when, and why a user receives a notification.

Section3

Add content directly in your files with MDX syntax and React components. You can use any of our components, or even build your own.

Edit and preview

Deploy your changes

limite lien à l’intérieur de Card

Creation de compte test

Creation de compte live

Un compte live pour la mise en service du produit

Section4

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  <title>Intégrer Feda Checkout à mon site</title>
  <script src="https://cdn.fedapay.com/checkout.js?v=1.1.7"></script>
</head>
<body>
  <button class="pay-btn"
  data-transaction-amount="1000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="johndoe@gmail.com"
  data-customer-lastname="Doe">Payer 1000 FCFA</button>

  <button class="pay-btn"
  data-transaction-amount="2000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="janetay@gmail.com"
  data-customer-lastname="Tay">Payer 2000 FCFA</button>
  <script type="text/javascript">
      FedaPay.init('.pay-btn', { public_key: 'VOTRE_CLE_API_PUBLIQUE' });
  </script>
</body>
</html>

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```java HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```

Prerequisite: Please install Node.js (version 19 or higher) before proceeding.

MDX does not compile inside the body of an arrow function. Stick to HTML syntax when you can or use a default export if you need to use MDX.

trip limite logo

Unlimited editors available under the Pro Plan and above.

Any page in the snippets directory will be treated as a snippet and will not be rendered into a standalone page. If you want to create a standalone page from the snippet, import the snippet into another file and call it as a component.

const { events } = await step.digest("digest-3-days", async () => {
  return {
    unit: "days", // 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months'
    amount: 3, // the number of units to digest events for
  };
});

await step.email("send-email", async () => {
  const eventCount = events.length;

  return {
    subject: "Digest Email",
    body: `You have ${eventCount} new events`,
  };
});

npm i -g mintlify
import { serve } from "@novu/framework/next";
import { myWorkflow } from "../../novu/workflows";

export const { GET, POST, OPTIONS } = serve({ workflows: [myWorkflow] });

qzsedrftgyhujikol

npm i -g mintlify

Dorothy followed her through many of the beautiful rooms in her castle.

The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.

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

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

await novu.trigger('<WORKFLOW_TRIGGER_IDENTIFIER>', {
    to: {
        subscriberId: '111',
        email: 'john.doe@domain.com',
        firstName: 'John',
        lastName: 'Doe',
        phone: '+13603963366',
    },
    payload: {
        customVariable: 'variableValue',
        organization: {
            logo: 'https://organization.com/logo.png',
        },
    },
});

Steps:

  • mkdir export_novu_subscribers
  • cd export_novu_subscribers
  • create fetch_subscribers.js file and copy export_novu_subscribers.js gist code into this file.
  • npm init -y
  • npm install axios fast-csv fs
  • Run node fetch_subscribers.js
  • Subscribers are exported in subscribers.csv file

In this guide, we will add a Novu Bridge Endpoint to a Next.js application and send our first test workflow.

1

Create a Next.js application

This link can be copied right from the onboarding guide on the Novu Studio or can always be copied from the API Keys page on the Novu Dashboard.

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

The sample application will create an .env file containing the NOVU_SECRET_KEY environment variable required for securing your endpoint. And a sample workflow demonstrating the flexibility of Novu using Step Controls.

2

Start your application

To start your boilerplate Next.js server with the Novu Endpoint configured, run the following command:

cd my-novu-app && npm run dev

The sample application will start on https://localhost:4000 and your novu endpoint will be exposed at /api/novu served by the Next.js API.

If your Next.js application is running on other than 4000 port, restart the novu dev command with the port:

npx novu@latest dev --port <YOUR_NEXTJS_PORT>

Duplique1

Section1

is a full-stack (UI Components, API, and Framework) open source notification infrastructure platform for building, managing, delivering, and monitoring all types of end-user notifications.

is a developer-first product built for engineers looking to deliver a notifications platform for products. Novu simplifies the complexities of notification management for developers who can then empower the product and marketing teams that need to edit and maintain notification content and copy. Novu supports a variety of common notification channels out-of-the-box, including Email, SMS, Push, Inbox, and Chat. {{payload.user_name}}

Section2

empowers developers and engineering teams to quickly deliver a fully extensible notifications platform for product teams to create captivating notification experiences.

  • Redirect to section1 Code-first Notification Framework Opinionated, yet flexible, Framework for building and managing notification workflows.
  • Redirect to Concepts clésJSON Schema Based Controls to craft a no-code visual editor to enable non-technical team members to modify content and behaviour.
  • Redirect to introduction api reference Prebuilt, customisable UI components for in-app user notification feeds and preference experiences.
  • Redirects to FedaPay Observability for delving into the lifecycle of a notification’s success or failure. Eliminate guesswork of how, when, and why a user receives a notification.

Section3

Add content directly in your files with MDX syntax and React components. You can use any of our components, or even build your own.

Edit and preview

Deploy your changes

limite lien à l’intérieur de Card

Creation de compte test

Creation de compte live

Un compte live pour la mise en service du produit

Section4

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  <title>Intégrer Feda Checkout à mon site</title>
  <script src="https://cdn.fedapay.com/checkout.js?v=1.1.7"></script>
</head>
<body>
  <button class="pay-btn"
  data-transaction-amount="1000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="johndoe@gmail.com"
  data-customer-lastname="Doe">Payer 1000 FCFA</button>

  <button class="pay-btn"
  data-transaction-amount="2000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="janetay@gmail.com"
  data-customer-lastname="Tay">Payer 2000 FCFA</button>
  <script type="text/javascript">
      FedaPay.init('.pay-btn', { public_key: 'VOTRE_CLE_API_PUBLIQUE' });
  </script>
</body>
</html>

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```java HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```

Prerequisite: Please install Node.js (version 19 or higher) before proceeding.

MDX does not compile inside the body of an arrow function. Stick to HTML syntax when you can or use a default export if you need to use MDX.

trip limite logo

Unlimited editors available under the Pro Plan and above.

Any page in the snippets directory will be treated as a snippet and will not be rendered into a standalone page. If you want to create a standalone page from the snippet, import the snippet into another file and call it as a component.

const { events } = await step.digest("digest-3-days", async () => {
  return {
    unit: "days", // 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months'
    amount: 3, // the number of units to digest events for
  };
});

await step.email("send-email", async () => {
  const eventCount = events.length;

  return {
    subject: "Digest Email",
    body: `You have ${eventCount} new events`,
  };
});

npm i -g mintlify
import { serve } from "@novu/framework/next";
import { myWorkflow } from "../../novu/workflows";

export const { GET, POST, OPTIONS } = serve({ workflows: [myWorkflow] });

qzsedrftgyhujikol

npm i -g mintlify

Dorothy followed her through many of the beautiful rooms in her castle.

The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.

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

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

await novu.trigger('<WORKFLOW_TRIGGER_IDENTIFIER>', {
    to: {
        subscriberId: '111',
        email: 'john.doe@domain.com',
        firstName: 'John',
        lastName: 'Doe',
        phone: '+13603963366',
    },
    payload: {
        customVariable: 'variableValue',
        organization: {
            logo: 'https://organization.com/logo.png',
        },
    },
});

Steps:

  • mkdir export_novu_subscribers
  • cd export_novu_subscribers
  • create fetch_subscribers.js file and copy export_novu_subscribers.js gist code into this file.
  • npm init -y
  • npm install axios fast-csv fs
  • Run node fetch_subscribers.js
  • Subscribers are exported in subscribers.csv file

In this guide, we will add a Novu Bridge Endpoint to a Next.js application and send our first test workflow.

1

Create a Next.js application

This link can be copied right from the onboarding guide on the Novu Studio or can always be copied from the API Keys page on the Novu Dashboard.

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

The sample application will create an .env file containing the NOVU_SECRET_KEY environment variable required for securing your endpoint. And a sample workflow demonstrating the flexibility of Novu using Step Controls.

2

Start your application

To start your boilerplate Next.js server with the Novu Endpoint configured, run the following command:

cd my-novu-app && npm run dev

The sample application will start on https://localhost:4000 and your novu endpoint will be exposed at /api/novu served by the Next.js API.

If your Next.js application is running on other than 4000 port, restart the novu dev command with the port:

npx novu@latest dev --port <YOUR_NEXTJS_PORT>

Duplique2

Section1

is a full-stack (UI Components, API, and Framework) open source notification infrastructure platform for building, managing, delivering, and monitoring all types of end-user notifications.

is a developer-first product built for engineers looking to deliver a notifications platform for products. Novu simplifies the complexities of notification management for developers who can then empower the product and marketing teams that need to edit and maintain notification content and copy. Novu supports a variety of common notification channels out-of-the-box, including Email, SMS, Push, Inbox, and Chat. {{payload.user_name}}

Section2

empowers developers and engineering teams to quickly deliver a fully extensible notifications platform for product teams to create captivating notification experiences.

  • Redirect to section1 Code-first Notification Framework Opinionated, yet flexible, Framework for building and managing notification workflows.
  • Redirect to Concepts clésJSON Schema Based Controls to craft a no-code visual editor to enable non-technical team members to modify content and behaviour.
  • Redirect to introduction api reference Prebuilt, customisable UI components for in-app user notification feeds and preference experiences.
  • Redirects to FedaPay Observability for delving into the lifecycle of a notification’s success or failure. Eliminate guesswork of how, when, and why a user receives a notification.

Section3

Add content directly in your files with MDX syntax and React components. You can use any of our components, or even build your own.

Edit and preview

Deploy your changes

limite lien à l’intérieur de Card

Creation de compte test

Creation de compte live

Un compte live pour la mise en service du produit

Section4

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  <title>Intégrer Feda Checkout à mon site</title>
  <script src="https://cdn.fedapay.com/checkout.js?v=1.1.7"></script>
</head>
<body>
  <button class="pay-btn"
  data-transaction-amount="1000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="johndoe@gmail.com"
  data-customer-lastname="Doe">Payer 1000 FCFA</button>

  <button class="pay-btn"
  data-transaction-amount="2000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="janetay@gmail.com"
  data-customer-lastname="Tay">Payer 2000 FCFA</button>
  <script type="text/javascript">
      FedaPay.init('.pay-btn', { public_key: 'VOTRE_CLE_API_PUBLIQUE' });
  </script>
</body>
</html>

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```java HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```

Prerequisite: Please install Node.js (version 19 or higher) before proceeding.

MDX does not compile inside the body of an arrow function. Stick to HTML syntax when you can or use a default export if you need to use MDX.

trip limite logo

Unlimited editors available under the Pro Plan and above.

Any page in the snippets directory will be treated as a snippet and will not be rendered into a standalone page. If you want to create a standalone page from the snippet, import the snippet into another file and call it as a component.

const { events } = await step.digest("digest-3-days", async () => {
  return {
    unit: "days", // 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months'
    amount: 3, // the number of units to digest events for
  };
});

await step.email("send-email", async () => {
  const eventCount = events.length;

  return {
    subject: "Digest Email",
    body: `You have ${eventCount} new events`,
  };
});

npm i -g mintlify
import { serve } from "@novu/framework/next";
import { myWorkflow } from "../../novu/workflows";

export const { GET, POST, OPTIONS } = serve({ workflows: [myWorkflow] });

qzsedrftgyhujikol

npm i -g mintlify

Dorothy followed her through many of the beautiful rooms in her castle.

The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.

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

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

await novu.trigger('<WORKFLOW_TRIGGER_IDENTIFIER>', {
    to: {
        subscriberId: '111',
        email: 'john.doe@domain.com',
        firstName: 'John',
        lastName: 'Doe',
        phone: '+13603963366',
    },
    payload: {
        customVariable: 'variableValue',
        organization: {
            logo: 'https://organization.com/logo.png',
        },
    },
});

Steps:

  • mkdir export_novu_subscribers
  • cd export_novu_subscribers
  • create fetch_subscribers.js file and copy export_novu_subscribers.js gist code into this file.
  • npm init -y
  • npm install axios fast-csv fs
  • Run node fetch_subscribers.js
  • Subscribers are exported in subscribers.csv file

In this guide, we will add a Novu Bridge Endpoint to a Next.js application and send our first test workflow.

1

Create a Next.js application

This link can be copied right from the onboarding guide on the Novu Studio or can always be copied from the API Keys page on the Novu Dashboard.

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

The sample application will create an .env file containing the NOVU_SECRET_KEY environment variable required for securing your endpoint. And a sample workflow demonstrating the flexibility of Novu using Step Controls.

2

Start your application

To start your boilerplate Next.js server with the Novu Endpoint configured, run the following command:

cd my-novu-app && npm run dev

The sample application will start on https://localhost:4000 and your novu endpoint will be exposed at /api/novu served by the Next.js API.

If your Next.js application is running on other than 4000 port, restart the novu dev command with the port:

npx novu@latest dev --port <YOUR_NEXTJS_PORT>

Duplique3

Section1

is a full-stack (UI Components, API, and Framework) open source notification infrastructure platform for building, managing, delivering, and monitoring all types of end-user notifications.

is a developer-first product built for engineers looking to deliver a notifications platform for products. Novu simplifies the complexities of notification management for developers who can then empower the product and marketing teams that need to edit and maintain notification content and copy. Novu supports a variety of common notification channels out-of-the-box, including Email, SMS, Push, Inbox, and Chat. {{payload.user_name}}

Section2

empowers developers and engineering teams to quickly deliver a fully extensible notifications platform for product teams to create captivating notification experiences.

  • Redirect to section1 Code-first Notification Framework Opinionated, yet flexible, Framework for building and managing notification workflows.
  • Redirect to Concepts clésJSON Schema Based Controls to craft a no-code visual editor to enable non-technical team members to modify content and behaviour.
  • Redirect to introduction api reference Prebuilt, customisable UI components for in-app user notification feeds and preference experiences.
  • Redirects to FedaPay Observability for delving into the lifecycle of a notification’s success or failure. Eliminate guesswork of how, when, and why a user receives a notification.

Section3

Add content directly in your files with MDX syntax and React components. You can use any of our components, or even build your own.

Edit and preview

Deploy your changes

limite lien à l’intérieur de Card

Creation de compte test

Creation de compte live

Un compte live pour la mise en service du produit

Section4

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  <title>Intégrer Feda Checkout à mon site</title>
  <script src="https://cdn.fedapay.com/checkout.js?v=1.1.7"></script>
</head>
<body>
  <button class="pay-btn"
  data-transaction-amount="1000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="johndoe@gmail.com"
  data-customer-lastname="Doe">Payer 1000 FCFA</button>

  <button class="pay-btn"
  data-transaction-amount="2000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="janetay@gmail.com"
  data-customer-lastname="Tay">Payer 2000 FCFA</button>
  <script type="text/javascript">
      FedaPay.init('.pay-btn', { public_key: 'VOTRE_CLE_API_PUBLIQUE' });
  </script>
</body>
</html>

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```java HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```

Prerequisite: Please install Node.js (version 19 or higher) before proceeding.

MDX does not compile inside the body of an arrow function. Stick to HTML syntax when you can or use a default export if you need to use MDX.

trip limite logo

Unlimited editors available under the Pro Plan and above.

Any page in the snippets directory will be treated as a snippet and will not be rendered into a standalone page. If you want to create a standalone page from the snippet, import the snippet into another file and call it as a component.

const { events } = await step.digest("digest-3-days", async () => {
  return {
    unit: "days", // 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months'
    amount: 3, // the number of units to digest events for
  };
});

await step.email("send-email", async () => {
  const eventCount = events.length;

  return {
    subject: "Digest Email",
    body: `You have ${eventCount} new events`,
  };
});

npm i -g mintlify
import { serve } from "@novu/framework/next";
import { myWorkflow } from "../../novu/workflows";

export const { GET, POST, OPTIONS } = serve({ workflows: [myWorkflow] });

qzsedrftgyhujikol

npm i -g mintlify

Dorothy followed her through many of the beautiful rooms in her castle.

The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.

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

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

await novu.trigger('<WORKFLOW_TRIGGER_IDENTIFIER>', {
    to: {
        subscriberId: '111',
        email: 'john.doe@domain.com',
        firstName: 'John',
        lastName: 'Doe',
        phone: '+13603963366',
    },
    payload: {
        customVariable: 'variableValue',
        organization: {
            logo: 'https://organization.com/logo.png',
        },
    },
});

Steps:

  • mkdir export_novu_subscribers
  • cd export_novu_subscribers
  • create fetch_subscribers.js file and copy export_novu_subscribers.js gist code into this file.
  • npm init -y
  • npm install axios fast-csv fs
  • Run node fetch_subscribers.js
  • Subscribers are exported in subscribers.csv file

In this guide, we will add a Novu Bridge Endpoint to a Next.js application and send our first test workflow.

1

Create a Next.js application

This link can be copied right from the onboarding guide on the Novu Studio or can always be copied from the API Keys page on the Novu Dashboard.

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

The sample application will create an .env file containing the NOVU_SECRET_KEY environment variable required for securing your endpoint. And a sample workflow demonstrating the flexibility of Novu using Step Controls.

2

Start your application

To start your boilerplate Next.js server with the Novu Endpoint configured, run the following command:

cd my-novu-app && npm run dev

The sample application will start on https://localhost:4000 and your novu endpoint will be exposed at /api/novu served by the Next.js API.

If your Next.js application is running on other than 4000 port, restart the novu dev command with the port:

npx novu@latest dev --port <YOUR_NEXTJS_PORT>

Duplique4

Section1

is a full-stack (UI Components, API, and Framework) open source notification infrastructure platform for building, managing, delivering, and monitoring all types of end-user notifications.

is a developer-first product built for engineers looking to deliver a notifications platform for products. Novu simplifies the complexities of notification management for developers who can then empower the product and marketing teams that need to edit and maintain notification content and copy. Novu supports a variety of common notification channels out-of-the-box, including Email, SMS, Push, Inbox, and Chat. {{payload.user_name}}

Section2

empowers developers and engineering teams to quickly deliver a fully extensible notifications platform for product teams to create captivating notification experiences.

  • Redirect to section1 Code-first Notification Framework Opinionated, yet flexible, Framework for building and managing notification workflows.
  • Redirect to Concepts clésJSON Schema Based Controls to craft a no-code visual editor to enable non-technical team members to modify content and behaviour.
  • Redirect to introduction api reference Prebuilt, customisable UI components for in-app user notification feeds and preference experiences.
  • Redirects to FedaPay Observability for delving into the lifecycle of a notification’s success or failure. Eliminate guesswork of how, when, and why a user receives a notification.

Section3

Add content directly in your files with MDX syntax and React components. You can use any of our components, or even build your own.

Edit and preview

Deploy your changes

limite lien à l’intérieur de Card

Creation de compte test

Creation de compte live

Un compte live pour la mise en service du produit

Section4

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  <title>Intégrer Feda Checkout à mon site</title>
  <script src="https://cdn.fedapay.com/checkout.js?v=1.1.7"></script>
</head>
<body>
  <button class="pay-btn"
  data-transaction-amount="1000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="johndoe@gmail.com"
  data-customer-lastname="Doe">Payer 1000 FCFA</button>

  <button class="pay-btn"
  data-transaction-amount="2000"
  data-transaction-description="Acheter mon produit"
  data-customer-email="janetay@gmail.com"
  data-customer-lastname="Tay">Payer 2000 FCFA</button>
  <script type="text/javascript">
      FedaPay.init('.pay-btn', { public_key: 'VOTRE_CLE_API_PUBLIQUE' });
  </script>
</body>
</html>

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```java HelloWorld.java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
```

Prerequisite: Please install Node.js (version 19 or higher) before proceeding.

MDX does not compile inside the body of an arrow function. Stick to HTML syntax when you can or use a default export if you need to use MDX.

trip limite logo

Unlimited editors available under the Pro Plan and above.

Any page in the snippets directory will be treated as a snippet and will not be rendered into a standalone page. If you want to create a standalone page from the snippet, import the snippet into another file and call it as a component.

const { events } = await step.digest("digest-3-days", async () => {
  return {
    unit: "days", // 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months'
    amount: 3, // the number of units to digest events for
  };
});

await step.email("send-email", async () => {
  const eventCount = events.length;

  return {
    subject: "Digest Email",
    body: `You have ${eventCount} new events`,
  };
});

npm i -g mintlify
import { serve } from "@novu/framework/next";
import { myWorkflow } from "../../novu/workflows";

export const { GET, POST, OPTIONS } = serve({ workflows: [myWorkflow] });

qzsedrftgyhujikol

npm i -g mintlify

Dorothy followed her through many of the beautiful rooms in her castle.

The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.

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

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

await novu.trigger('<WORKFLOW_TRIGGER_IDENTIFIER>', {
    to: {
        subscriberId: '111',
        email: 'john.doe@domain.com',
        firstName: 'John',
        lastName: 'Doe',
        phone: '+13603963366',
    },
    payload: {
        customVariable: 'variableValue',
        organization: {
            logo: 'https://organization.com/logo.png',
        },
    },
});

Steps:

  • mkdir export_novu_subscribers
  • cd export_novu_subscribers
  • create fetch_subscribers.js file and copy export_novu_subscribers.js gist code into this file.
  • npm init -y
  • npm install axios fast-csv fs
  • Run node fetch_subscribers.js
  • Subscribers are exported in subscribers.csv file

In this guide, we will add a Novu Bridge Endpoint to a Next.js application and send our first test workflow.

1

Create a Next.js application

This link can be copied right from the onboarding guide on the Novu Studio or can always be copied from the API Keys page on the Novu Dashboard.

npx novu init --secret-key=<YOUR_NOVU_SECRET_KEY>

The sample application will create an .env file containing the NOVU_SECRET_KEY environment variable required for securing your endpoint. And a sample workflow demonstrating the flexibility of Novu using Step Controls.

2

Start your application

To start your boilerplate Next.js server with the Novu Endpoint configured, run the following command:

cd my-novu-app && npm run dev

The sample application will start on https://localhost:4000 and your novu endpoint will be exposed at /api/novu served by the Next.js API.

If your Next.js application is running on other than 4000 port, restart the novu dev command with the port:

npx novu@latest dev --port <YOUR_NEXTJS_PORT>