Environments

Understanding and managing environments in Novu

Novu uses environments to separate your development and production workflows. When you create an account, you'll get two default environments: Development and Production.

Development environment

Use the development environment to build and test new workflows, layouts, translations, and experiment with different configurations before publishing to other environments.

Production environment

The Production environment is your live environment, sending notifications to real users. To ensure stability and prevent unintended changes, this environment is view-only for workflows, layouts, and translations.

Changes are not made here directly but are pushed from the non production environment via the publishing process.

Custom Environments

Custom environments are available in Team and Enterprise plans.

Create custom environments to match your development workflow:

  1. Go to the Environments page in Novu dashboard
  2. Click on the Create environment button on the top right.
  3. A menu will appear. Enter your preferred environment name.
  4. Assign unique colors to easily distinguish between environments. Publish changes
  5. Click on Create environment button on the bottom right.
  6. New environment will be created and will be available in the environments list.

What's unique to each environment?

Each environment has a mix of isolated resources and assets that can be published from Development.

Environment specific resources

These resources are completely separate and unique to each environment. Data in one environment has no connection to data in another. They are:

  • Subscribers
  • Topics
  • Integrations (Provider credentials)
  • API keys (application identifier and secret key)
  • Activity feed
  • Webhooks

Publishable assets

These assets are managed centrally in the Development environment and then published to other environments.

  • Workflows
  • Layouts
  • Translations

Environment Credentials

Each environment has two unique identifiers:

  1. Application Identifier

    • Public ID for client-side apps
    • Used with <Inbox />
    • Unique per environment
    • Safe to expose in frontend code
  2. API Secret Key

    • Used for backend API authentication
    • Keep this secure and never expose publicly
    • Different for each environment

Best Practice: Configure these credentials in your application based on the active environment, similar to how you manage other service credentials.

Publishing changes to other environments

Novu provides a publish mechanism that allows you to promote changes from your dvelopment environment to production or other custom environments. This process ensures that all changes are deliberate, reviewed, and deployed in a controlled manner.

The publishing process bundles all modifications made to workflows, layouts, and translations since the last publish event.

How to publish changes

After making modifications in your Development environment in the Novu dashboard, you can promote them to another environment by following these steps:

  1. Ensure you are in the Development environment. All changes must originate from here.
  2. Click the Publish changes button in the top right of the screen. Publish changes
  3. A list of available environments will appear. Select the environment you want to publish to. Publish changes
  4. A menu will open showing all the availabl workflows. Select the checkboxes next to the workflows you want to publish. Publish changes
  5. Click the publish button to publish the selected workflows to the selected environment.

On this page

Edit this page on GitHub