- API Overview
- API Rate Limiting
Events
Subscribers
Topics
Notification
Workflows
Workflow overrides
Workflow groups
Integrations
Layouts
Environments
Changes
Execution details
Feeds
Tenants
Organizations
Messages
API Reference
Bulk trigger event
Using this endpoint you can trigger multiple events at once, to avoid multiple calls to the API. The bulk API is limited to 100 events per request.
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_SECRET_KEY>");
await novu.events.bulkTrigger([
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "support@novu.co"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
},
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "support@novu.co"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
}
])
{
"data": [
{
"acknowledged": true,
"status": "processed",
"transactionId": "string"
}
]
}
Enter your API key in the Authorization
field like the example shown below:
E.g ApiKey 18d2e625f05d80e
import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_SECRET_KEY>");
await novu.events.bulkTrigger([
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "support@novu.co"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
},
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "support@novu.co"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
}
])
{
"data": [
{
"acknowledged": true,
"status": "processed",
"transactionId": "string"
}
]
}
Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Body
The trigger identifier of the workflow you wish to send. This identifier can be found on the workflow page.
The payload object is used to pass additional custom information that could be used to render the workflow, or perform routing rules based on it. This data will also be available when fetching the notifications feed from the API to display certain parts of the UI.
A URL to bridge for additional processing.
This could be used to override provider specific configurations
The recipients list of people who will receive the notification.
The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems
The email address of the subscriber.
The first name of the subscriber.
The last name of the subscriber.
The phone number of the subscriber.
An HTTP URL to the profile image of your subscriber.
The locale of the subscriber.
An optional payload object that can contain any properties.
An optional array of subscriber channels.
The ID of the chat or push provider.
slack
, discord
, msteams
, mattermost
, ryver
, zulip
, grafana-on-call
, getstream
, rocket-chat
, whatsapp-business
, fcm
, apns
, expo
, one-signal
, pushpad
, push-webhook
, pusher-beams
An optional identifier for the integration.
Credentials for the channel.
The URL for the webhook associated with the channel.
An array of device tokens for push notifications.
A unique identifier for this transaction, we will generate a UUID if not provided.
It is used to display the Avatar of the provided actor's subscriber id or actor object. If a new actor object is provided, we will create a new subscriber in our system
It is used to specify a tenant context during trigger event. Existing tenants will be updated with the provided details.
Additional control configurations.
A mapping of step IDs to their corresponding data.
Response
Indicates whether the trigger was acknowledged or not
Status of the trigger
error
, trigger_not_active
, no_workflow_active_steps_defined
, no_workflow_steps_defined
, processed
, subscriber_id_missing
, no_tenant_found
In case of an error, this field will contain the error message(s)
The returned transaction ID of the trigger
Was this page helpful?
import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_SECRET_KEY>");
await novu.events.bulkTrigger([
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "support@novu.co"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
},
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "support@novu.co"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
}
])
{
"data": [
{
"acknowledged": true,
"status": "processed",
"transactionId": "string"
}
]
}