Reference · Tools

Brevo Trigger

Starts workflow when Brevo email events occur (delivered, opened, clicked, bounced, etc.)

Webhook trigger Marketing v1

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

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Brevo credentials. See the Credentials Guide for setup instructions.

Parameters

All Resources

ParameterTypeRequiredDefaultDescription
Resource (type)optionsYestransactionalThe type of email events to listen for.
Options: inbound, marketing, transactional

Transactional (transactional)

ParameterTypeRequiredDefaultDescription
Trigger On (transactionalEvents)multiOptionsYes[]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)

ParameterTypeRequiredDefaultDescription
Trigger On (marketingEvents)multiOptionsYes[]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)

ParameterTypeRequiredDefaultDescription
Trigger On (inboundEvents)multiOptionsYes[]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 — always brevo_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.
  • request means “sent”, not “requested”. It is the event Brevo emits when it hands a transactional email to the recipient’s mail server.
  • opened vs uniqueOpened. opened fires on every open; uniqueOpened fires 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 BusyBot

Last updated . Spotted something wrong? Tell us.