Skip to main content


Here we will outline some of the most common questions we get asked about the project. Missing a question? Feel free to open an issue or PR to add it to the list.

What are the dependencies required to run Novu?

Novu consists of multiple services written in Node.js and Typescript. The following are the dependencies required to run the project fully:

  • Node.js version v16.15.1
  • MongoDB
  • Redis
  • File storage (S3/GCP/Azure) - Optional

How do I customize messages on Novu?

In Novu, handlebar variables (variables enclosed within double curly brackets) are used to customize messages. Using this, one can take advantage of the following tools:

  • Custom Variables: You can create custom variables by defining it in the payload and accessing its value using the following syntax:

  • Iteration/Looping: You can iterate through a list of variables using each keyword. The code within the block will loop once for each element that is present in the iterable variable. The syntax is as follows:

    {{#each iterable}} ... {{/each}}
  • Conditional Block: You can render a block conditionally using the if keyword. The block is defined similar to the iteration block:

    {{#if condition}} ... {{/if}}

For an in-depth explanation with examples, check out Templates.