---
title: Brevo (Sendinblue) integration
slug: brevo
description: How the Personizely Brevo integration works: API key connection, attribute mapping, contact and list actions, double opt-in templates and list sync.
docTags: 
createdAt: 2026-10-17T09:59:37.088Z
---

The Brevo integration (formerly Sendinblue) creates and updates Brevo contacts when visitors sign up through Personizely widgets, adds them to lists, and can send Brevo's double opt-in confirmation. List changes in Brevo sync back to Personizely, so you can target visitors by the lists they're on.

**Available on:** all platforms. Email, with SMS numbers stored on the contact when you map them.

## Connect Brevo

1. In Brevo, create an API key under **SMTP & API → API keys**.
2. In Personizely, go to **Settings → Integrations**, find **Brevo** and click **Connect**.
3. Paste the key in **API Key** and click **Connect**. The **Mappings** dialog opens.
4. Map Brevo attributes to Personizely fields (see below) and click **Save**.

When you connect, Personizely registers a webhook in your Brevo account (named "Personizely Webhook") for list additions, contact updates, deletions and unsubscribes. Disconnecting removes it.

## What's synced

The contact is identified by email address, or by phone number when there's no email. Besides the email address, only the attributes you map are sent.

- **Mappings** lists your Brevo contact attributes, such as `FIRSTNAME`, `LASTNAME`, `SMS` and any custom attributes. For each one, choose the Personizely field that fills it, or leave it **Not mapped**.
- Map **First name** to `FIRSTNAME` and **Last name** to `LASTNAME` for names, and **Phone** to `SMS` to store phone numbers.
- After adding an attribute in Brevo, click **Refresh** on the integration, then open **Mappings**.

## Automation actions

Add these under **Automation → Action in → Brevo**. Each needs an email address or a phone number on the visitor's profile.

| Action                                      | What it does                                                                                                                                                | Options                                                                      |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **Add or update contact**                   | Creates the contact, or updates the attributes of the existing one                                                                                          | —                                                                            |
| **Add or update contact with confirmation** | Sends Brevo's double opt-in email. The contact is created and added to the list once they click the confirmation link, and then sent to the redirection URL | **Template**, **Redirection Url** (default: your site's home page), **List** |
| **Add to list**                             | Adds an existing contact to a list and updates its attributes                                                                                               | **List**                                                                     |
| **Remove from list**                        | Removes the contact from a list                                                                                                                             | **List**                                                                     |

**Add to list** needs the contact to exist in Brevo. Put **Add or update contact** above it on the same element.

## Double opt-in

**Add or update contact with confirmation** uses Brevo's double opt-in flow:

1. Create a double opt-in template in Brevo. It's listed in the **Template** dropdown only if it's tagged as an opt-in template in Brevo (the `optin` tag that Brevo's double opt-in templates carry).
2. Choose the **List** the contact joins after confirming, and where they land after clicking the link (**Redirection Url**).
3. If the email address already exists in Brevo, no confirmation is sent. Personizely updates the existing contact's attributes instead.

The other actions are single opt-in: the contact is added straight away.

## Identifying Brevo contacts

When Brevo is connected, a link carrying the contact's Brevo ID in `sib_cid` identifies the visitor. Personizely loads the contact from Brevo, links it to the visitor and copies their email, mapped attributes and lists. See [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT).

## Two-way sync and target filters

For visitors Personizely already knows by email, changes in Brevo come back:

| Change in Brevo                         | Effect in Personizely                              |
| --------------------------------------- | -------------------------------------------------- |
| Added to a list (one by one or in bulk) | Visitor counts as subscribed to that list          |
| Removed from a list                     | Visitor no longer counts as subscribed to it       |
| Contact updated                         | Mapped Personizely fields are updated              |
| Unsubscribed or deleted                 | Visitor no longer counts as subscribed to any list |

Use the **Brevo List** filter to target by list, for example "Brevo List: Visitor is not subscribed to Newsletter" on a signup popup. Memberships are recorded from the moment you connect. See [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv).

## Gotchas

- **Nothing but the email is sent until you map attributes.** If contacts arrive without names, open **Mappings**.
- **Add to list alone fails for new contacts.** Always pair it with **Add or update contact** first.
- **Double opt-in skips existing contacts.** Someone already in Brevo isn't sent a confirmation and isn't added to the list by that action. Add **Add to list** as well if existing contacts should join the list.
- **Phone-only sign-ups need the SMS attribute mapped.** Without it, Brevo has no identifier for the contact.
- **Template not in the dropdown** → it isn't an opt-in template in Brevo, or you created it after connecting. Click **Refresh**.

## Examples

- **Newsletter with double opt-in:** Form with Email → **Add or update contact with confirmation**, template "DOI – Newsletter", list "Newsletter", redirection URL `https://example.com/pages/thanks`.
- **Lead with list:** Form with name and email → **Add or update contact**, then **Add to list** "Spring sale leads".
- **Don't ask twice:** the popup's target uses "Brevo List: Visitor is not subscribed to Newsletter".

## Related

- [Email and SMS integrations](docId\:q8l96CeLAKMNxvuIxhl7v)
- [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv)
- [Integrations](docId\:YweYsNdyWfChY1Z9KMneN)
- [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT)
- [Form element](docId:_32XhaAm6KMwlL3_ZIH25)
