Integrate Brevo (formerly Sendinblue) into the workflow. Send transactional emails with inline content or templates, send SMS and WhatsApp template messages, read email delivery events, create, update, and look up contacts, manage list membership, and list, inspect, and send email campaigns. Can also run workflows on Brevo email events such as delivered, opened, clicked, bounced, and unsubscribed. Requires a Brevo API key.
Send a transactional email through Brevo with inline HTML or text, or a saved template with params. Supports cc, bcc, reply-to, URL attachments, tags, and scheduling.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
senderEmail | string | No | Sender email address, verified in Brevo. Required without a template or sender ID |
senderName | string | No | Sender display name (max 70 characters) |
senderId | number | No | Brevo sender ID, used instead of the sender email |
to | string | Yes | Recipients: comma-separated emails, or a JSON array of {"email", "name"} objects |
cc | string | No | CC recipients: comma-separated emails, or a JSON array of {"email", "name"} |
bcc | string | No | BCC recipients: comma-separated emails, or a JSON array of {"email", "name"} |
subject | string | No | Subject line. Required without a template |
htmlContent | string | No | HTML body. Required without a template unless text content is given |
textContent | string | No | Plain text body |
templateId | number | No | ID of a Brevo transactional template to send instead of inline content |
templateParams | json | No | Template variables as a JSON object, e.g. {"FIRSTNAME": "Ana", "ORDER": "1042"}, used as {{ params.FIRSTNAME }} in the template |
attachments | string | No | Attachments by absolute URL: comma-separated URLs, or a JSON array of {"url", "name"} objects |
tags | string | No | Tags for filtering events, comma-separated or a JSON array |
replyToEmail | string | No | Reply-to email address |
replyToName | string | No | Reply-to display name |
scheduledAt | string | No | UTC date-time to send at, with timezone, e.g. 2026-11-01T09:00:00.000Z. Brevo may send up to 5 minutes later |
| Parameter | Type | Description |
|---|
messageId | string | Message ID of the sent email |
messageIds | array | Message IDs, when Brevo returns one per version or recipient |
List transactional email events (delivered, opened, clicked, bounced, and more) from Brevo, filtered by recipient, message ID, event, tag, template, or date. Covers the last 30 days by default, up to 90.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
email | string | No | Only events for this recipient email address |
messageId | string | No | Only events for this message ID (from Send Email) |
event | string | No | Only this event type: bounces, hardBounces, softBounces, delivered, spam, requests, opened, clicks, invalid, deferred, blocked, unsubscribed, error, loadedByProxy |
tags | string | No | Only events for emails with these tags, comma-separated or a JSON array |
templateId | number | No | Only events for emails sent with this template ID |
startDate | string | No | Start date (YYYY-MM-DD). Requires endDate; range up to 90 days |
endDate | string | No | End date (YYYY-MM-DD). Requires startDate |
days | number | No | Number of past days including today, 1 to 90. Not combined with dates |
limit | number | No | Number of events to return, 1 to 5000 (default 2500) |
offset | number | No | Index of the first event to return (default 0) |
sort | string | No | Sort by creation date: "desc" (default, newest first) or "asc" |
| Parameter | Type | Description |
|---|
events | array | Email events, newest first unless sorted ascending |
count | number | Number of events returned |
Send a transactional or marketing SMS to one mobile number through Brevo, with text content or an SMS template. Messages over 160 characters are sent as several parts.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
sender | string | Yes | Sender name: up to 11 letters and digits, or a numeric sender of up to 15 digits |
recipient | string | Yes | Mobile number with country code, 6 to 15 digits, e.g. 33689965433 |
content | string | No | Message text. Required unless an SMS template ID is given |
templateId | number | No | SMS template ID. Overrides the content |
templateParams | json | No | Template placeholders as a JSON object, e.g. {"FNAME": "Joe"} |
type | string | No | "transactional" (default) or "marketing". A message with a STOP code is sent as marketing |
unicodeEnabled | boolean | No | Send as unicode, for non-Latin characters or emoji (default false) |
tags | string | No | Up to 10 tags, comma-separated or a JSON array |
organisationPrefix | string | No | Brand name added before the message, recommended by US carriers |
webUrl | string | No | URL Brevo calls for each event of this message, such as delivered |
| Parameter | Type | Description |
|---|
messageId | number | Message ID of the SMS |
Send an approved WhatsApp template message through Brevo to one or more numbers. Needs WhatsApp activated in Brevo; the first message to a contact must be a template.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
senderNumber | string | Yes | Your WhatsApp sender number with country code, e.g. 919876543210 |
contactNumbers | string | Yes | Recipient numbers with country code, comma-separated or a JSON array, e.g. 4915778559164 |
templateId | number | Yes | WhatsApp template ID, from Campaigns > WhatsApp in Brevo |
| Parameter | Type | Description |
|---|
messageId | string | Message ID of the WhatsApp message |
Create a Brevo contact with attributes and list memberships. Turn on Update Existing to upsert: an existing contact with the same email is updated instead of rejected.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
email | string | No | Email address. Required unless an external ID or SMS attribute is given |
extId | string | No | Your own ID for the contact, such as a CRM ID |
attributes | json | No | Attributes as a JSON object with upper-case names that exist in Brevo, e.g. {"FIRSTNAME": "Ana", "LASTNAME": "Ruiz", "SMS": "+919876543210"} |
listIds | string | No | IDs of lists to add the contact to, comma-separated or a JSON array |
updateEnabled | boolean | No | Update the contact if it already exists instead of failing (upsert) |
emailBlacklisted | boolean | No | Blocklist the contact for email |
smsBlacklisted | boolean | No | Blocklist the contact for SMS |
| Parameter | Type | Description |
|---|
id | number | ID of the new contact. Not returned when an existing contact was updated |
created | boolean | True when a new contact was created, false when an existing one was updated |
Update a Brevo contact's attributes, external ID, list memberships, or email and SMS blocklist status, by email, contact ID, external ID, or phone number.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
identifier | string | Yes | Contact email, contact ID, external ID, or SMS/WhatsApp/landline number. Set identifierType for anything other than an email or contact ID |
identifierType | string | No | What the identifier is: email_id, contact_id, ext_id, phone_id, whatsapp_id, landline_number_id. Optional for an email or contact ID |
attributes | json | No | Attributes to change as a JSON object, e.g. {"FIRSTNAME": "Ana"}. Use {"EMAIL": "new@example.com"} to change the email |
extId | string | No | New external ID for the contact |
listIds | string | No | IDs of lists to add the contact to, comma-separated or a JSON array |
unlinkListIds | string | No | IDs of lists to remove the contact from, comma-separated or a JSON array |
emailBlacklisted | boolean | No | Blocklist (true) or allow (false) the contact for email |
smsBlacklisted | boolean | No | Blocklist (true) or allow (false) the contact for SMS |
| Parameter | Type | Description |
|---|
updated | boolean | Whether the contact was updated |
identifier | string | Identifier of the updated contact |
Get a Brevo contact's attributes, lists, and blocklist status by email, contact ID, external ID, or phone number.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
identifier | string | Yes | Contact email, contact ID, external ID, or SMS/WhatsApp/landline number. Set identifierType for anything other than an email or contact ID |
identifierType | string | No | What the identifier is: email_id, contact_id, ext_id, phone_id, whatsapp_id, landline_number_id. Optional for an email or contact ID |
| Parameter | Type | Description |
|---|
contact | object | The contact |
Permanently delete a Brevo contact by email, contact ID, external ID, or phone number. This cannot be undone.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
identifier | string | Yes | Contact email, contact ID, external ID, or SMS/WhatsApp/landline number. Set identifierType for anything other than an email or contact ID |
identifierType | string | No | What the identifier is: email_id, contact_id, ext_id, phone_id, whatsapp_id, landline_number_id. Optional for an email or contact ID |
| Parameter | Type | Description |
|---|
deleted | boolean | Whether the contact was deleted |
identifier | string | Identifier of the deleted contact |
Add existing Brevo contacts to a list by email, contact ID, or external ID. Returns which contacts were added and which failed.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
listId | number | Yes | ID of the Brevo list |
emails | string | No | Contact emails, comma-separated or a JSON array. Use one of emails, contactIds, or extIds |
contactIds | string | No | Contact IDs, comma-separated or a JSON array |
extIds | string | No | Contact external IDs, comma-separated or a JSON array |
| Parameter | Type | Description |
|---|
listId | number | ID of the list |
succeeded | array | Emails, IDs, or external IDs that were processed |
failed | array | Emails, IDs, or external IDs that could not be processed |
total | number | Number of contacts removed when removing all |
processId | number | Background process ID when removing all |
Remove contacts from a Brevo list by email, contact ID, or external ID, or remove every contact. The contacts themselves are kept.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
listId | number | Yes | ID of the Brevo list |
emails | string | No | Contact emails, comma-separated or a JSON array. Use one of emails, contactIds, or extIds |
contactIds | string | No | Contact IDs, comma-separated or a JSON array |
extIds | string | No | Contact external IDs, comma-separated or a JSON array |
removeAll | boolean | No | Remove every contact from the list. Runs as a background process |
| Parameter | Type | Description |
|---|
listId | number | ID of the list |
succeeded | array | Emails, IDs, or external IDs that were processed |
failed | array | Emails, IDs, or external IDs that could not be processed |
total | number | Number of contacts removed when removing all |
processId | number | Background process ID when removing all |
List the contact lists in a Brevo account with their IDs and contact counts.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
limit | number | No | Number of results to return, 1 to 50 (default 10) |
offset | number | No | Index of the first result to return (default 0) |
sort | string | No | Sort by creation date: "desc" (default, newest first) or "asc" |
| Parameter | Type | Description |
|---|
lists | array | Contact lists |
count | number | Total number of lists in the account |
List Brevo email campaigns, filtered by status, type, or sent date, with optional global statistics such as opens, clicks, and bounces.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
status | string | No | Only campaigns with this status: suspended, archive, sent, queued, draft, inProcess, inReview, cancelling, cancelled |
campaignType | string | No | Only "classic" or "trigger" campaigns |
statistics | string | No | Statistics to include: globalStats (opens, clicks, bounces), linksStats, or statsByDomain |
startDate | string | No | Only campaigns sent after this UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Requires endDate |
endDate | string | No | Only campaigns sent before this UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Requires startDate |
limit | number | No | Number of results to return, 1 to 100 (default 50) |
offset | number | No | Index of the first result to return (default 0) |
sort | string | No | Sort by creation date: "desc" (default, newest first) or "asc" |
| Parameter | Type | Description |
|---|
campaigns | array | Email campaigns |
count | number | Number of campaigns matching the filters |
Get a Brevo email campaign with its status, sender, recipient lists, and statistics such as sends, opens, clicks, bounces, and unsubscribes.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
campaignId | number | Yes | ID of the email campaign |
statistics | string | No | Statistics to include: globalStats, linksStats, statsByDomain, statsByDevice, statsByBrowser |
includeHtmlContent | boolean | No | Also return the campaign HTML (default false) |
| Parameter | Type | Description |
|---|
campaign | object | The email campaign |
htmlContent | string | Campaign HTML, when requested |
Send an existing Brevo email campaign immediately. The campaign must already have recipients and content, and the account needs enough email credits.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
campaignId | number | Yes | ID of the email campaign to send |
| Parameter | Type | Description |
|---|
sent | boolean | Whether Brevo scheduled the campaign to send now |
campaignId | number | ID of the campaign |
List Brevo transactional email templates with their IDs, names, subjects, senders, and active status, to pick a template for Send Email.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Brevo API key (sent as the api-key header), from Settings > SMTP & API > API Keys |
templateStatus | boolean | No | Only active (true) or inactive (false) templates |
limit | number | No | Number of results to return, 1 to 1000 (default 50) |
offset | number | No | Index of the first result to return (default 0) |
sort | string | No | Sort by creation date: "desc" (default, newest first) or "asc" |
| Parameter | Type | Description |
|---|
templates | array | Transactional email templates |
count | number | Total number of templates |
A Trigger is a block that starts a workflow when an event happens in this service.
Trigger a workflow on Brevo email events: delivered, opened, clicked, bounced, spam, unsubscribed, blocked, and contact list changes.