Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 0 additions & 41 deletions content/docs/platform/additional-resources/limits.mdx

This file was deleted.

90 changes: 0 additions & 90 deletions content/docs/platform/concepts/environments.mdx

This file was deleted.

89 changes: 89 additions & 0 deletions content/docs/platform/developer/environments.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: 'Environments'
description: 'Understanding and managing environments in Novu'
icon: 'GitFork'
---

Novu uses environments to separate your workflows and it's data. This lets you safely test changes, like a new workflow, in one environment before moving it to a live production environment.

## Types of environments

When you create a Novu account, you are provided with a development and production environment by default. You can also create custom environments (on certain plans) to match your team’s workflow.

- **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 used to send notifications to your subscribers. To ensure stability and prevent unintended changes, this environment is view-only for workflows, layouts, and translations. Changes are not made here directly, they are made from other environment and then published to this production environment.

- **Custom environment**: Custom environments are only available on <a href="https://novu.co/pricing" target="_blank" rel="noopener noreferrer">Team and Enterprise plans</a>. You can use them to reflect your release process, for example, staging or QA.

## Creating a custom environment

To create a custom environment:

1. Log in to the Novu dashboard.
2. Go to the [Environments page](https://dashboard.novu.co/environments) in the Novu dashboard.
3. Click **Create environment**. A menu appears.
4. A menu will appear. Enter your preferred environment name.
5. Assign unique colors to easily distinguish between environments.
![Publish changes](/images/developer-tools/create-environment.png)
6. Click **Create environment**.
The new environment is created and is available in the environments list.

## What's unique to each environment?

Each environment in Novu has it's own isolated resources, while the development environment has assets that can be published to other environments.

Each environment maintains some isolated set of resources, while you can share or promote other assets through publishing.

### 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 <Method href="/platform/inbox/overview">{`<Inbox />`}</Method>
- Different for each 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

<Callout>Configure these credentials in your application based on the active environment, similar to how you manage other service credentials.</Callout>

## Publishing changes to other environments

Novu provides a publish mechanism that allows you to promote changes from your development 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.

You can promote changes to other environments by following these steps:

1. Ensure you are in the **Development** environment. All changes must originate from here.
2. Click **Publish changes**. A list of available environments appears.
![Publish changes](/images/developer-tools/publish-changes.png)
3. Select the environment that you want to publish to.
![Publish changes](/images/developer-tools/list-of-environment.png)
4. Select the checkboxes next to the workflows that you want to publish. A menu appears, showing all the available workflows.
![Publish changes](/images/developer-tools/publish-changes-modal.png)
5. Click the publish button to publish the selected workflows to the selected environment.
36 changes: 36 additions & 0 deletions content/docs/platform/developer/limits.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: 'Limits'
description: 'System limits, quotas, and constraints for the Novu platform.'
icon: 'Gauge'
---

import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';

Novu enforces default limits on specific resources and configurations. These limits apply to all new accounts by default.


Resource | Default limit |
| :--- | :--- |
| **Workflows** | You can create a maximum number of 100 workflows per account.|
| **Steps** | You can create a maximum number of 20 steps per workflow.|
| **Context** | You can create a maximum number of five contexts per workflow trigger.|

## Custom limits

If your project requires higher limits, you can request a custom configuration. [Contact support](mailto:[email protected])

## FAQs

<Accordions>
<Accordion title="What happens if I exceed the default workflow or step limit?">
Exceeding the default limit may result in restricted functionality or errors. [Contact support](mailto:[email protected]) to request a custom limit.
</Accordion>

<Accordion title="Can I increase the step limit for specific workflows only?">
Yes, custom step limits can be applied to individual workflows upon request.
</Accordion>

<Accordion title="Is there a cost associated with custom limits?">
Custom limits may incur additional costs depending on the resources required. [Support](mailto:[email protected]) will provide details during the approval process.
</Accordion>
</Accordions>
2 changes: 1 addition & 1 deletion content/docs/platform/developer/meta.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"pages": ["webhooks"]
"pages": ["environments", "limits", "webhooks"]
}
Loading