Brevo CRM v2
Provides integration with Brevo CRM to manage contacts, companies, deals, and their associations. You can also discover account attributes, contact lists and folders, and sales pipelines in a Workflow.
Revision History
0.0.0.6 - Initial release.
0.0.0.8 - Updated templates.
Connection
Use a Connection to store your Brevo API credentials.
| Property | Type | Description |
|---|---|---|
API Key |
Masked | Required Brevo API key. Requests use this key to authenticate with the Brevo v3 API. |
Setup Notes
- Obtain a Brevo API key for the account you want to access.
- Create a Connection for
Brevo CRMand enter the key inAPI Key. - Test the Connection to confirm that Brevo accepts the credentials.
- Select a Method and its resource template, then supply the required identifiers, filters, and record fields.
The Connection test reads account details without modifying records. A successful test confirms account access; it does not confirm access to every CRM operation or attribute definition.
The Node connects to https://api.brevo.com/v3/. Authentication uses an API key. If Brevo rejects the key, replace it in the Connection.
Methods
Select a template under the Method you want to use. The template sets OperationId and describes the relevant Options, request fields, and response fields. Required identifiers and record fields must be supplied before execution.
Selecting a contact, company, or deal record template retrieves attribute definitions from your Brevo account. The template uses the exact attribute names and types, describes required fields and available category choices, and excludes read-only or computed attributes from writable fields. For category choices, send the key shown in the template description.
Optional request fields and filter examples are not applied automatically. Include only the fields you intend to send. Selecting a record template requires access to the corresponding attribute definitions, even if the Connection test succeeds.
Create
Creates contacts, companies, or deals. Select Create Contact, Create Company, or Create Deal and provide one request object per input item.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Brevo CRM Connection profile. |
OperationId |
String | Create operation selected by the template. |
Items |
Array | Stream of JSON request objects. Each item sends one create request. |
Options |
Object | Optional route or query values supported by the selected template. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result row per input item, containing any provider response fields and a Flowgear result object. |
A contact requires at least one of email, ext_id, or attributes.SMS. Companies and deals require a top-level name.
The contact forceMerge option can delete a duplicate contact. Enable it only when you intend to merge contacts; the template does not enable it by default.
List
Lists records or discovers the account's CRM structure. The following templates are available:
List Contacts,List Companies, andList Deals.List Contact Attributes,List Company Attributes, andList Deal Attributes.List Contact Lists,List Contact Folders, andList Folder Lists.List Pipelines.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Brevo CRM Connection profile. |
OperationId |
String | List operation selected by the template. |
Options |
Object | Filters and route values supported by the selected template. List Folder Lists requires folderId. Omit Options when no values are needed. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Stream of provider objects, one row per result. Collection wrappers and paging metadata are removed. An empty collection returns no rows. |
The Node manages pagination automatically. Do not supply limit, offset, or page in Options. For contact filters, use either listIds or segmentId; do not supply both. Supply startDate and endDate together when using those date filters.
Pipeline rows include their nested stages, which you can use to identify a pipeline and stage when creating or updating deals.
List Contacts and Get Contact response templates include an optional subscriptions object. Its child fields are not specified by the template.
Delete
Deletes one contact, company, or deal. Select Delete Contact, Delete Company, or Delete Deal and provide the target identifier in Options. This Method sends one request and does not accept Items.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Brevo CRM Connection profile. |
OperationId |
String | Delete operation selected by the template. |
Options |
Object | Required target values. Use identifier for a contact or id for a company or deal. Contact templates also support identifierType. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result row containing any provider response fields and a Flowgear result object. A successful response with no body still returns a result row. |
Get
Retrieves a contact, company, deal, or pipeline. Select Get Contact, Get Company, Get Deal, or Get Pipeline.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Brevo CRM Connection profile. |
OperationId |
String | Get operation selected by the template. |
Options |
Object | Required target values. Use identifier for a contact, id for a company or deal, or pipelineID for a pipeline. Contact templates also support identifierType. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Provider record rows. Pipeline results include nested stages. A failed retrieval raises a Node error. |
Update
Updates records or adds and removes associations. Select Update Contact, Update Company, Update Deal, Update Company Associations, or Update Deal Associations.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Brevo CRM Connection profile. |
OperationId |
String | Update operation selected by the template. |
Items |
Array | Stream of JSON request objects containing the changes to apply. Each item sends one update request. |
Options |
Object | Required target values. Use identifier for a contact or id for a company or deal. The target applies to every item in this invocation. Contact templates also support identifierType. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result row per input item, containing any provider response fields and a Flowgear result object. |
To change a contact's email address, supply attributes.EMAIL. For deals, supply amount, owner, pipeline, and stage under attributes.amount, attributes.deal_owner, attributes.pipeline, and attributes.deal_stage. When changing a deal's pipeline, also supply attributes.deal_stage.
Ordinary company and deal updates replace any association arrays you supply. Use the association templates to add or remove individual links while retaining other associations.
Usage Notes
Results and errors
Create, Update, and Delete results preserve Brevo's response fields and add a Flowgear object:
| Field | Description |
|---|---|
Flowgear.IsSuccess |
Indicates whether the record operation succeeded. |
Flowgear.Message |
Success or error message for the operation. |
Flowgear.Request |
Copy of the original input item, or the target values in Options for Delete. CSV inputs retain their original form here. |
Brevo record errors with HTTP status 400, 404, 409, or 422 return failed result rows for these Methods. Check Flowgear.IsSuccess before treating each row as a successful operation. Successful responses with no body still return a result row. List and Get return provider records without this mutation result object; a failed read raises a Node error.
Invalid input in the first item raises a Node error before the write. Invalid later items return failed result rows, and processing continues with subsequent items. Authentication, transport, cancellation, and other request failures raise a Node error and stop processing.
The first query page or write completes before the Method returns its response stream. Later pages and input items execute as you consume the output. Pagination uses batches of 50 records and stops when all available records have been read. If records change during pagination, the results may reflect those changes.
The Node retries explicit rate-limit responses (429) a limited number of times, using Brevo's retry headers when available. It does not automatically replay writes whose outcome is uncertain or refresh a rejected API key.
Examples
Filter contacts by list
Select List Contacts and supply the list IDs in Options:
{
"listIds": "3,4"
}
Replace 3 and 4 with your Brevo list IDs. The Node retrieves all matching pages automatically.
Supply a string list containing a comma
For a string list field, the CSV value one,"two,three" sends two values:
["one", "two,three"]
Use this format for multi-choice attributes only when those values match the choices in your account. Ordinary text attributes remain text, even when they contain commas.