Skip to content

Brevo

Brevo (formerly Sendinblue) is an email, SMS and marketing platform. The Brevo nodes talk to its v3 API over HTTPS (port 443), not SMTP. That means they work even if your server blocks ports 25, 465 and 587, which is common on cloud providers.

NodeWhat it does
brevoSendEmailSends a transactional email with HTML, text or a Brevo template.
brevoSendSmsSends an SMS.
brevoUpsertContactCreates a contact, or updates it if it exists.
brevoGetContactReads a contact with its attributes and lists.
brevoUpdateContactChanges a contact’s attributes, lists and blocklist flags.
brevoDeleteContactDeletes a contact (cannot be undone).
brevoListContactsLists contacts from the account or from a list, with pagination.
brevoManageListAdds or removes contacts (up to 150 per call) to or from a list.

Create a Brevo credential with your v3 API key (starts with xkeysib-). Generate it in Brevo → SMTP & API → API Keys. The Test button reads your account without changing anything.

To send email, the sender must be validated in Brevo (Senders, domains & dedicated IPs). Otherwise Brevo rejects the send with a validation error.

Every node adds its result to data.brevo and keeps the rest of data. You can rename it with Output key.

{
"ticket": 7,
"brevo": { "success": true, "messageId": "<202610211000.123@smtp-relay.mailin.fr>" }
}

Use {{data.brevo.messageId}} in later nodes. In brevoGetContact the contact is in data.brevo.contact; in brevoListContacts the list is in data.brevo.contacts.

On error the node stops and returns error.type: validation, auth_error, not_found, rate_limited, timeout or others. Rate limits (429), 5xx errors and network failures are retried automatically up to 3 times.

ParameterRequiredDescription
credentials_idYesBrevo credential.
sender_email / sender_nameDependsValidated sender. Optional if the template already defines it.
toYesOne or more recipients, comma-separated. Accepts Ana <ana@client.com>.
subjectDependsSubject. Required when not using a template.
html_content / text_contentDependsContent. One is needed when not using a template.
template_idNoID of a Brevo template. With it no content is needed.
paramsNoJSON with the template parameters, e.g. {"name":"Ana"}.
cc, bcc, reply_toNoCopies and reply address.
tagsNoComma-separated tags for statistics.
attachment_urlsNoPublic attachment URLs, comma-separated.
scheduled_atNoISO 8601 date to schedule the send.

The phone number has a country prefix and digits only (34600111222; spaces, dashes and the + are stripped). The sender allows up to 11 letters or digits, or up to 15 digits. Each SMS uses credits from your Brevo account.

  • Attributes use Brevo’s uppercase names: {"FIRSTNAME":"Ana","LASTNAME":"Smith"}.
  • In brevoGetContact, brevoUpdateContact and brevoDeleteContact the identifier can be the email, the contact ID, an external ID or the phone. Pick the matching Identifier type.
  • brevoListContacts returns up to 1000 contacts per call. Use Offset to paginate and Modified since to sync only what is new.

Example: send an email when a form arrives

Section titled “Example: send an email when a form arrives”
  1. A form trigger receives email and name.
  2. brevoSendEmail with to = {{email}}, template_id = your template and params = {"name":"{{name}}"}.
  3. brevoUpsertContact with the same email and list_ids = the welcome list.

Email content, SMS and contact data leave Floogos for Brevo (a third party) and are governed by your terms with Brevo. Brevo bills usage according to your plan.