You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/platform/concepts/environments.mdx
+28-18Lines changed: 28 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,32 +12,32 @@ Use the development environment to test new notification workflows, validate cha
12
12
13
13
## Production Environment
14
14
15
-
The production environment is your live environment where notifications are sent to real users.
15
+
The production environment is your live environment where notifications are sent to real users. Use the production environment for production use cases, and other environments for non-production use cases.
16
16
17
17
## Custom Environments
18
18
19
-
<Callouttype="info">Custom environments are available in Business and Enterprise plans</Callout>
19
+
<Callouttype="info">Custom environments are available in Team and Enterprise plans.</Callout>
20
20
21
21
Create custom environments to match your development workflow:
22
22
23
-
1. Go to the Environments page in your dashboard
24
-
2.Create environments like `Staging` or `QA`
25
-
3.Assign unique colors to easily distinguish between environments
26
-
4.Sync changes between environments just like with development and production
27
-
28
-
The sync process works the same way as between development and production environments.
23
+
1. Go to the [Environments page](https://dashboard.novu.co/environments) in Novu dashboard
24
+
2.Click on the `Create environment` button on the top right.
25
+
3.A popup will appear. Enter names like `Staging` or `QA`.
26
+
4.Assign unique colors to easily distinguish between environments.
27
+
5. Click on `Create environment` button on the bottom right.
28
+
6. New environment will be created and will be available in the environments list.
29
29
30
30
## What's Unique to Each Environment?
31
31
32
32
Each environment maintains its own separate:
33
33
34
-
- Subscriber list
35
-
- Notification workflows
36
-
- Message history
34
+
- Subscribers
35
+
- Topics
36
+
- Workflows
37
+
- Webhooks
38
+
- Integrations
39
+
- API keys (application identifier and secret key)
37
40
- Activity feed
38
-
- Integration settings
39
-
- Notification feeds
40
-
- Brand assets and settings
41
41
42
42
## Environment Credentials
43
43
@@ -46,6 +46,7 @@ Each environment has two unique identifiers:
46
46
1.**Application Identifier**
47
47
48
48
- Public ID for client-side apps
49
+
- Used with <Methodhref="/platform/inbox/overview">{`<Inbox />`}</Method>
49
50
- Unique per environment
50
51
- Safe to expose in frontend code
51
52
@@ -56,9 +57,18 @@ Each environment has two unique identifiers:
56
57
57
58
**Best Practice**: Configure these credentials in your application based on the active environment, similar to how you manage other service credentials.
58
59
59
-
## Promoting Changes to Production
60
+
## Promoting workflows between environments
61
+
62
+
One workflow can be synced to another environment using the `Sync Workflow` option in workflow actions. While syncing, Novu will give option to which environment to sync the workflow to. If workflow with same identifier is already present in the destination environment, it will be overwritten with the source workflow.
63
+
64
+
Steps:
60
65
61
-
You can move changes from development to production in two ways:
66
+
1. Go to the [Workflows page](https://dashboard.novu.co/workflows) in Novu dashboard
67
+
2. Click on the three dot menu in the workflow row
68
+
3. If you have more than two environments, hover over the `Sync Workflow` option to see the destination environment, then click it.
69
+
4. If you have only two environments, Click on the `Sync to <Environment Name>` option. Here `Environment Name` is the name of another environment.
70
+
5. The workflow will be synced to the destination environment.
62
71
63
-
1. Using the Dashboard's sync interface
64
-
2. Using the Sync API in your CI/CD pipeline
72
+
<Callouttype="info">
73
+
Currently, a single workflow can be synced to another environment.
Copy file name to clipboardExpand all lines: content/docs/platform/concepts/preferences.mdx
+52-18Lines changed: 52 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,34 +14,68 @@ Novu provides a way to store subscriber preferences. This allows subscribers, yo
14
14
15
15
## Workflow channel preferences
16
16
17
-
When creating a new workflow, you can specify default preferences for your subscribers via code or in the Dashboard. These preferences will be used during notification delivery unless the subscriber overrides via the preferences page in `<Inbox/>`.
17
+
Each workflow has its own channel preferences. By default, all channel preferences are enabled. If disabled, the subscriber will not receive notifications for that channel step.
1. Go to the [Workflows page](https://dashboard.novu.co/workflows) in Novu dashboard
22
+
2. Click the workflow you want to manage channel preferences for
23
+
3. A node-based editor will appear. On the right side of the editor, click the `Configure channel preferences` option
24
+
4. Click on the All Channels checkbox to enable or disable all channels for the workflow
25
+
5. You will be able to change the preferences for only those steps which are present in the workflow. Non existing channel steps will be disabled.
26
+
6. The `Mark as critical` toggle will make this workflow critical. Read more about [critical workflows](#critical-workflows)
27
+
28
+
<Callouttype="info">
29
+
If a workflow has only `in-app` and `email` steps, then it will have only `in-app` and `email` preferences.
30
+
</Callout>
22
31
23
-
`<Inbox/>` displays the available preferences per workflow, allowing subscribers to modify them for each channel. Critical workflows will be excluded from the list.
In some cases, you don't want the subscriber to be able to unsubscribe from mandatory notifications such as Account Verification, Password Reset, etc...
30
37
31
-
<Callouttype="info">Inbox displays only channels used by the current workflow.</Callout>
38
+
In those cases, you can mark a workflow as `critical` in the workflow channel preferences. Critical workflows are not displayed in subscriber preferences, so subscribers cannot change preferences for that workflow.
32
39
33
40
## Subscriber global preferences
34
41
35
42
Subscribers can set global channel preferences, which override individual settings. For instance, if there are 10 workflows, and a subscriber wants to disable SMS notifications for all of them, they can do so with via global preferences.
In some cases, you don't want the subscriber to be able to unsubscribe from mandatory notifications such as Account Verification, Password Reset, etc...
48
+
For each workflow, subscriber has its own channel preferences. Subscriber can manage these preferences from the <Methodhref="/platform/inbox/react/components/preferences">{`<Inbox />`}{""}</Method> Preferences view.
<Callouttype="info">Inbox displays only channels present in the current workflow.</Callout>
53
+
54
+
## Priority of preferences
55
+
56
+
Since there are three types of preferences, the priority order is as follows:
57
+
58
+
Workflow channel preferences > Subscriber global preferences > Subscriber channel preferences per workflow
59
+
60
+
Examples:
61
+
62
+
1. If the `email` channel is disabled in workflow channel preferences, global and subscriber preferences are ignored, and subscribers will not receive email notifications for this workflow.
63
+
2. If the `in-app` channel is enabled in workflow channel preferences but the workflow is marked as critical, subscribers cannot change their preferences and will always receive in-app notifications.
64
+
3. If both `chat` and `email` channels are enabled in the workflow but `email` is disabled in subscriber global preferences, the subscriber will receive only chat notifications for this workflow.
65
+
66
+
## Subscriber preferences APIs
67
+
68
+
Subscriber preferences can be retrieved and updated using following APIs:
46
69
47
-
In those cases you can mark a workflow as `critical` in the Dashboard. Critical workflow are not displayed in the subscriber preferences page.
Copy file name to clipboardExpand all lines: content/docs/platform/concepts/tenants.mdx
+9-11Lines changed: 9 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,8 +62,8 @@ await novu.trigger({
62
62
payload: {
63
63
tenant: {
64
64
id: tenantId,
65
-
name: "Acme Corp",
66
-
logo: "https://acme-corp.com/logo.png",
65
+
name: "Airbnb",
66
+
logo: "https://airbnb.com/logo.png",
67
67
primaryColor: "red",
68
68
}
69
69
},
@@ -74,17 +74,15 @@ The tenant object will be available to use in the workflow editor as a variable
74
74
75
75
- Content (use `{{payload.tenant.name}}` to display the tenant name in an email or any other channel)
76
76
- Step Conditions (use `{{payload.tenant.id}}` to conditionally execute a step based on the tenant)
77
+
- Use the Inbox [data object](/platform/inbox/react/components/inbox#data-object) to filter notifications by tenant.
77
78
78
-
## FAQ
79
+
## Frequently asked questions
79
80
80
-
<Accordions>
81
+
The following are the frequently asked questions about multi-tenancy in Novu.
81
82
82
-
<Accordiontitle="Can I use a different delivery provider for each tenant?">
83
-
Currently we do not support using a different delivery provider for each tenant. You can reach out to [email protected] in case this is a feature required for your use case.
84
-
</Accordion>
83
+
### Can I use a different delivery provider for each tenant?
84
+
Currently, we do not support using a different delivery provider for each tenant. You can reach out to [email protected] in case this is a feature required for your use case.
85
85
86
-
<Accordiontitle="Can I specify different workflow preferences for each tenant?">
87
-
We don't support specifying different workflow preferences for each tenant. You can reach out to [email protected] in case this is a feature required for your use case.
88
-
</Accordion>
86
+
### Can I specify different workflow preferences for each tenant?
87
+
We don't support specifying different workflow preferences for each tenant. You can reach out to [email protected] in case this is a feature required for your use case.
0 commit comments