import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_API_KEY>");
await novu.events.bulkTrigger([
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "[email protected]"
}
},
// 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: "[email protected]"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
}
])
{
"data": [
{
"acknowledged": true,
"status": "processed",
"transactionId": "string"
}
]
}
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.
import { Novu } from '@novu/node';
const novu = new Novu("<NOVU_API_KEY>");
await novu.events.bulkTrigger([
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "[email protected]"
}
},
// 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: "[email protected]"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
}
])
{
"data": [
{
"acknowledged": true,
"status": "processed",
"transactionId": "string"
}
]
}
Authorization field like the example shown below:E.g ApiKey 18d2e625f05d80eimport { Novu } from '@novu/node';
const novu = new Novu("<NOVU_API_KEY>");
await novu.events.bulkTrigger([
{
name: "<WORKFLOW_TRIGGER_IDENTIFIER>",
to: "<UNIQUE_SUBSCRIBER_IDENTIFIER>",
payload: {
customKey: "customValue",
customKey1: {
nestedkey1: "nestedValue1"
}
},
overrides: {
email: {
from: "[email protected]"
}
},
// 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: "[email protected]"
}
},
// actorId is subscriberId of actor
actor: "actorId"
tenant: "tenantIdentifier"
}
])
{
"data": [
{
"acknowledged": true,
"status": "processed",
"transactionId": "string"
}
]
}
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Show child attributes
The trigger identifier of the workflow you wish to send. This identifier can be found on the workflow page.
"workflow_identifier"
The recipients list of people who will receive the notification.
Show child attributes
The internal identifier you used to create this subscriber, usually correlates to the id the user in your systems
An http url to the profile image of your subscriber
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.
{
"comment_id": "string",
"post": { "text": "string" }
}This could be used to override provider specific configurations
{ "fcm": { "data": { "key": "value" } } }A unique identifier for this transaction, we will generated 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.
Created
If trigger was acknowledged or not
Status for 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
Transaction id for trigger
Was this page helpful?