Reference · Tools
Brevo Trigger
Starts workflow when Brevo email events occur (delivered, opened, clicked, bounced, etc.)
The Brevo Trigger node fires a BusyBot workflow whenever a Brevo email event occurs — such as a transactional email bouncing or a recipient clicking a campaign link. It covers transactional, marketing campaign, and inbound email events. A typical use is automatically tagging a contact in your CRM the moment they open a specific transactional message.
- Node type
- Webhook trigger
- Parameters
- 4
- Outputs
- Output
- Credentials
- Brevo
Brevo Trigger
Triggers when Brevo email events occur
Overview
The Brevo Trigger node listens for webhook events from Brevo (formerly Sendinblue). It can receive transactional email events (delivered, opened, clicked, bounced, blocked, deferred, spam, unsubscribed), marketing campaign events (delivered, opened, clicked, bounced, spam, unsubscribed, list addition), and inbound email events. The node receives the raw event payload from Brevo and passes it into the workflow for processing.
Category: Marketing
Tool Name: brevo_trigger
Version: 1
Appearance: Icon: si-brevo | Color: #0092ff
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Brevo credentials. See the Credentials Guide for setup instructions.
Parameters
All Resources
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Resource (type) | options | Yes | transactional | The type of email events to listen for. |
Options: inbound, marketing, transactional |
Transactional (transactional)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Trigger On (transactionalEvents) | multiOptions | Yes | [] | Which transactional email events to listen for. (shown when Resource is transactional) |
Options: blocked (email blocked), click (email clicked), deferred (email deferred), delivered (email delivered), hardBounce (email hard bounced), invalid (email invalid), spam (email marked as spam), opened (email opened), request (email sent), softBounce (email soft bounced), uniqueOpened (email opened for the first time), unsubscribed (recipient unsubscribed) |
Marketing (marketing)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Trigger On (marketingEvents) | multiOptions | Yes | [] | Which marketing email events to listen for. (shown when Resource is marketing) |
Options: click (marketing email clicked), delivered (marketing email delivered), hardBounce (marketing email hard bounced), listAddition (a contact was added to a list), opened (marketing email opened), softBounce (marketing email soft bounced), spam (marketing email marked as spam), unsubscribed (recipient unsubscribed) |
Inbound (inbound)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Trigger On (inboundEvents) | multiOptions | Yes | [] | Which inbound email events to listen for. (shown when Resource is inbound) |
Options: inboundEmailProcessed (an inbound email was processed) |
Output Data
Brevo sends one event per request, so each delivery produces one output item carrying the payload exactly as sent. Transactional and marketing events typically include event, email, id, date, ts, message-id, ts_event, subject, tag, sending_ip, ts_epoch, and template_id; inbound events carry the parsed message instead.
Three fields are added to every item:
_trigger— alwaysbrevo_webhook_timestamp— ISO 8601 timestamp of when the request arrived_webhookEvent— the event Brevo reported
Reference the payload downstream by expression, e.g. {{ $json.email }} or {{ $json.event }}.
Usage Examples
- Track when transactional emails are delivered
- Monitor email open rates in real-time
- React to email bounces and unsubscribes
- Process inbound emails received by Brevo
- Trigger follow-up when marketing email links are clicked
Example Configuration
Transactional email events:
{
"type": "brevo_trigger",
"parameters": {
"type": "transactional",
"transactionalEvents": ["delivered", "opened", "click"]
}
}
Marketing email events:
{
"type": "brevo_trigger",
"parameters": {
"type": "marketing",
"marketingEvents": ["delivered", "opened", "click", "unsubscribed"]
}
}
Inbound email events:
{
"type": "brevo_trigger",
"parameters": {
"type": "inbound",
"inboundEvents": ["inboundEmailProcessed"]
}
}
Every transactional event:
{
"type": "brevo_trigger",
"parameters": {
"type": "transactional",
"transactionalEvents": [
"blocked",
"click",
"deferred",
"delivered",
"hardBounce",
"invalid",
"spam",
"opened",
"request",
"softBounce",
"uniqueOpened",
"unsubscribed"
]
}
}
Basic delivery tracking — sent, delivered, opened:
{
"type": "brevo_trigger",
"parameters": {
"type": "transactional",
"transactionalEvents": ["request", "delivered", "opened"]
}
}
Campaign engagement tracking:
{
"type": "brevo_trigger",
"parameters": {
"type": "marketing",
"marketingEvents": ["opened", "click", "listAddition"]
}
}
Deliverability monitoring:
{
"type": "brevo_trigger",
"parameters": {
"type": "transactional",
"transactionalEvents": ["hardBounce", "softBounce", "blocked", "spam"]
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
Select a resource type (Transactional, Marketing, or Inbound) and choose which events to listen for. Brevo will send a POST request to the webhook URL whenever the selected events occur. The webhook must be registered with Brevo via their API. ⚠ Brevo does not sign webhooks (no HMAC). Treat the webhook URL as a secret — anyone with the URL can fire events. Do not commit it to repos or share publicly.
- One resource per node. A Brevo subscription covers a single resource type. To watch both transactional and marketing activity, add one Brevo Trigger for each and merge their outputs.
requestmeans “sent”, not “requested”. It is the event Brevo emits when it hands a transactional email to the recipient’s mail server.openedvsuniqueOpened.openedfires on every open;uniqueOpenedfires only the first time a given recipient opens the message.- Branch on the event. One subscription can carry many event types; switch on
{{ $json.event }}when different events need different handling.
Frequently asked questions
Can one Brevo Trigger node listen to both transactional and marketing campaign events at the same time?
No. Each Brevo Trigger node is scoped to a single resource type: Transactional, Marketing, or Inbound. If you need to react to both transactional bounces and marketing unsubscribes, add one Brevo Trigger node for each resource type and merge their outputs downstream in your workflow.
How do I handle multiple event types — for example, treating a click differently from an open — when a single node can subscribe to many events?
Use a Switch or If node immediately after the Brevo Trigger and branch on `{{ $json.event }}`. Brevo includes an `event` field in every payload (e.g. `clicked`, `opened`, `bounced`), so you can route each event type to its own logic without needing separate trigger nodes.
What is the difference between the `opened` and `uniqueOpened` events?
`opened` fires every time a recipient opens the message, so one person opening it three times produces three events. `uniqueOpened` fires only on the first open from a given recipient. Use `uniqueOpened` when you want to trigger a follow-up action once per contact, and `opened` when you need a full engagement count.
Does Brevo sign its webhook payloads so I can verify they are genuine?
No. Brevo does not sign webhook requests — there is no HMAC signature or secret header to validate. This means anyone who obtains your webhook URL can send fake events to your workflow. Treat the URL as a secret: do not commit it to source control, do not share it publicly, and rotate it if you suspect exposure.
What does the `request` event actually mean — is it when someone requests to receive the email?
No. In Brevo's terminology, `request` is the event emitted when Brevo hands a transactional email off to the recipient's mail server — it signals that the message has been sent, not that anyone requested it. Think of it as the transactional equivalent of a `delivered` handoff confirmation.
Build with the Brevo Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Brevo credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.