How integrations fit into the notification flow
Workflows in Novu handle the logic of what message to send and when. Integrations handle how that message is delivered by routing the message through a specific provider. When a workflow step executes a channel-based action (such as sending an email), Novu:- Resolves the correct integration for the channel.
- Applies any configuration, such as sender name or title overrides.
- Hands off the message to the provider through the integration.
Providers vs integrations
It’s helpful to distinguish between providers and integrations:- A provider is the third-party service responsible for sending messages (for example, Twilio, SendGrid, Slack).
- An integration is your instance of that provider, configured with the necessary credentials and settings.
Novu also lets you use Trigger Overrides to modify the default behavior of a message during workflow trigger, such as overriding the notification title or content, or using a different integration than the primary integration. This works alongside integrations to fine-tune delivery behavior.
Environment-scoped behavior
Each integration is scoped to a specific environment - such as development, staging, or production. This means you must configure separate integrations for each environment, even if they point to the same provider. This separation ensures that test messages don’t accidentally go to production users, and different credentials or delivery settings can be safely isolated across environments.Primary and active integrations
Each environment can support multiple active integrations per channel, but only one can be marked as the primary integration for email and SMS channels. However, for push and chat channels, all active integrations are used in parallel to deliver messages. The primary integration serves as the default route when a message is sent over that channel unless explicitly overridden. You can update which integration is marked as primary or deactivate an integration entirely.Conditional routing with integration conditions
You can attach conditions to an integration so Novu only selects it when the notification matches those conditions. This is useful when you run multiple integrations for the same channel, for example a separate email or push provider account per tenant, and want Novu to route each notification to the right one. Add conditions from the dashboard when you create or edit an integration, under Integration conditions. Conditions are evaluated at send time against the recipient and the notification context, and support these fields:context.tenant.idsubscriber.subscriberId,subscriber.email,subscriber.phone,subscriber.firstName,subscriber.lastName,subscriber.localesubscriber.data(custom subscriber attributes)
An integration with conditions cannot also be the primary integration. Adding conditions to an integration removes its primary flag, because the primary integration is the fallback used when no conditions match.
context.tenant is populated on a trigger.