Sign up for your free trial and begin automating your processes today.

Mastering Brevo List Management in n8n via API

Learn how to manage Brevo lists in n8n using the API. This guide covers creating, updating, deleting lists, and managing contacts with custom HTTP Request nodes.

A complete n8n workflow canvas showing a collection of HTTP Request nodes organized by category for Brevo List Management API operations.

While n8n has a native Brevo (formerly Sendinblue) node, it often lacks deep “List Management” capabilities. To build truly dynamic marketing automations, you need to step beyond the built-in nodes and use the Brevo API.

In this first part of our Brevo series, we provide a “Master Template” containing every list-related API operation you’ll ever need.

Setting Up Authentication

To use these API nodes, you first need to obtain your API Key from your Brevo Settings page under SMTP & API. Once you have your key, you can authenticate in n8n using one of the two following methods:

Option A: Using Native n8n Brevo Credentials

If you already have a Brevo credential set up in n8n, you can reuse it for these custom HTTP requests:

  1. In the HTTP Request node, change Authentication to Predefined Credential Type.
  2. Select Brevo as Credential Type.
  3. Create new credential specifying your API Key.

n8n will automatically handle the headers using the API Key stored in your credentials.

Option B: Using Custom Header Auth

Alternatively, you can manually set the header for a quick setup:

  1. Set Authentication to Generic Credential Type.
  2. Set Generic Auth Type to Header Auth.
  3. Create new credential with the following parameters:
    • Name: api-key
    • Value: YOUR_BREVO_API_KEY (The key you retrieved from your Brevo Settings page).

The List Operations

1. Get All Lists

Retrieves all your existing lists.

  • Method: GET
  • Endpoint: https://api.brevo.com/v3/contacts/lists
  • Sorting: You can set a sort query parameter with values asc (ascending) or desc (descending) to organize your results by creation date.

n8n HTTP Request node configuration for fetching all Brevo lists using a GET request.

Handling Large Data with Pagination

One of the most powerful features of the HTTP Request node is its ability to handle pagination. In the “Get All Lists” node, we have enabled the pagination settings to ensure that even if you have hundreds of lists, n8n will fetch them all in one go.

Detailed view of the n8n HTTP Request node pagination settings showing the limit and offset configuration for the Brevo API.

2. Create a List

Create a new contact list within a specific folder.

  • Method: POST
  • Endpoint: https://api.brevo.com/v3/contacts/lists
  • Body: JSON containing name and folderId.

UI showing the node parameters for creating a new list in Brevo via n8n.

3. Get a List’s Details

Fetch metadata for a specific list ID.

  • Method: GET
  • Endpoint: https://api.brevo.com/v3/contacts/lists/{listId}
  • Path Parameter: This operation requires the listId as a path parameter.

HTTP Request node showing a dynamic URL path variable for a specific Brevo list ID.

4. Update a List

Rename or move an existing list.

  • Method: PUT
  • Endpoint: https://api.brevo.com/v3/contacts/lists/{listId}
  • Path Parameter: This operation requires the listId as a path parameter.
  • Body: JSON containing name or folderId.

Configuration for updating a Brevo list name using the PUT method.

5. Delete a List

Permanently remove a list (contacts remain in the database).

  • Method: DELETE
  • Endpoint: https://api.brevo.com/v3/contacts/lists/{listId}
  • Path Parameter: This operation requires the listId as a path parameter.

n8n node set to DELETE method targeting the Brevo list endpoint.

Contact & List Membership

6. Get Contacts in a List

Returns a list of all contacts belonging to a specific list ID.

  • Method: GET
  • Endpoint: https://api.brevo.com/v3/contacts/lists/{listId}/contacts
  • Path Parameter: This operation requires the listId as a path parameter.
  • Sorting: You can set a sort query parameter with values asc (ascending) or desc (descending) to organize your results by creation date.
  • Pagination: Just like the “Get All Lists” operation, this node is configured with auto-pagination. It will automatically loop through all contacts in the list and return them as a single combined result.

n8n HTTP Request node configuration for fetching contact emails from a specific Brevo list.

7. Add Existing Contacts to a List

Bulk add contacts to a list using their emails or IDs.

  • Method: POST
  • Endpoint: https://api.brevo.com/v3/contacts/lists/{listId}/contacts/add
  • Path Parameter: This operation requires the listId as a path parameter.
  • Body: JSON containing emails as array of emails (up to 150 in one request). Optionally ids or extIds can be used instead.

JSON payload configuration for adding an array of contact identifiers to a Brevo list.

8. Delete Contacts from a List

Remove specific contacts from a list without deleting the contact entirely.

  • Method: POST
  • Endpoint: https://api.brevo.com/v3/contacts/lists/{listId}/contacts/remove
  • Path Parameter: This operation requires the listId as a path parameter.
  • Body: JSON containing emails as array of emails (up to 150 in one request). Optionally ids or extIds can be used instead.

HTTP Request node configured to remove contacts from a list using a POST request with contact identifiers.

Download the Template

You can copy the entire workflow from our GitHub repository and paste it directly into your n8n canvas.

Ready to start automating your email marketing? Create your free account on Brevo today and start building better relationships with your customers.

n8n is a trademark of n8n GmbH. This site is not officially associated with n8n GmbH.
Built with Hugo
Theme Stack designed by Jimmy