1. Overview
Brevo (formerly Sendinblue) provides email, SMS, automation, and CRM APIs. The GoInsight Brevo tool exposes the actions defined under api/brevo/dsl/. The sections below list Start node inputs and End node outputs exactly as in each DSL file.
- Contacts: Create, read, update, delete, and list contacts; create-or-update.
- Contact attributes: List, create, update, and delete custom attributes.
- Email: Send transactional and template emails.
- Senders: List, create, and delete sender identities.
2. Prerequisites
Before using this node, configure a valid account and credentials in GoInsight. Some operations require API keys or OAuth tokens with scopes that cover the action.
3. Credentials
For detailed guidance on how to obtain and configure credentials, see Credentials Configuration Guide.
4. Supported Operations
Summary
| Resource | Operation | Description |
|---|---|---|
| Contact | Create a Contact | Creates a new contact in Brevo with email address and optional attributes and list assignments. |
| Contact Attribute | Create a Contact Attribute | Creates a new contact attribute in Brevo with specified name, type, and optional enumeration values for category types. |
| Sender | Create a Sender | Creates a new sender in Brevo with specified name and email address. |
| Contact | Create or Update a Contact | Creates a new contact in Brevo or updates an existing contact if the email already exists. |
| Contact | Delete a Contact | Deletes a contact from Brevo by email address or contact ID. ⚠️ Warning: This operation permanently deletes the contact and cannot be undone. Make sure you have confirmed before deletion. |
| Contact Attribute | Delete a Contact Attribute | Deletes a contact attribute from Brevo by attribute type and name. ⚠️ Warning: This operation permanently deletes the attribute and cannot be undone. All contact data for this attribute will be lost. |
| Sender | Delete a Sender | Deletes a sender from Brevo by sender ID. ⚠️ Warning: This operation permanently deletes the sender and cannot be undone. Make sure you have confirmed before deletion. |
| Contact Attribute | Get All Contact Attributes | Retrieves all contact attributes from Brevo, including name, type, and enumeration values for category attributes. |
| Contact | Get All Contacts | Retrieves all contacts from Brevo with pagination support, allowing you to filter and sort the contact list. |
| Sender | Get All Senders | Retrieves all senders from Brevo, including their ID, name, email, and active status. |
| Contact | Get a Contact | Retrieves detailed information about a single contact from Brevo by email address or contact ID. |
| Send Email | Sends a single email through Brevo with customizable sender, recipient, subject, and content. | |
| Send Template Email | Sends an email using a predefined Brevo template with customizable parameters. | |
| Contact | Update a Contact | Updates contact information in Brevo, including attributes and list memberships. |
| Contact Attribute | Update a Contact Attribute | Updates a contact attribute in Brevo, primarily used for updating enumeration values of category type attributes. |
Total: 15 API Operations — Parameters and output names/types match api/brevo/dsl/*.json Start / End nodes.
Operation Details
Create a Contact
Source DSL: api/brevo/dsl/Create_a_Contact.json
Creates a new contact in Brevo with email address and optional attributes and list assignments.
Input Parameters:
- Email (string, required)
- Contact email address (required).
Options:
- Attributes (object, optional)
- Contact attributes as key-value pairs. Common fields include: FIRSTNAME (first name), LASTNAME (last name), SMS (mobile phone number), COMPANY (company name), DOUBLE_OPT-IN (opt-in status). Example: {"FIRSTNAME":"John","LASTNAME":"Doe","SMS":"+1-555-0100","COMPANY":"Acme Corp"}
- ListIds (number-array, optional)
- Array of list IDs to add the contact to. You can obtain list IDs by calling the Get All Lists API or from the Brevo dashboard. Example: [2,5,8]
Output:
- ContactId (number)
- The ID of the newly created contact.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Create a Contact Attribute
Source DSL: api/brevo/dsl/Create_a_Contact_Attribute.json
Creates a new contact attribute in Brevo with specified name, type, and optional enumeration values for category types.
Input Parameters:
- AttributeName (string, required)
- Attribute name (uppercase, e.g., CUSTOM_FIELD).
Options:
- AttributeType (string, optional) — default: text
- Attribute type: text, number, date, boolean, category.
- AttributeCategory (string, optional) — default: normal
- Attribute category determines how the attribute is used:
- - normal: Regular contact attribute (default) - standard custom fields
- - transactional: Attribute for transactional emails - used in email campaigns
- - category: Attribute with predefined enumeration values - dropdown selection
- - calculated: Attribute with calculated value based on formula - auto-computed fields
- - global: Global attribute shared across all contacts - system-wide fields
- Enumeration (object-array, optional)
- Enumeration list for category-type attributes. ⚠️ REQUIRED when AttributeCategory='category'. Each object contains 'value' (number) and 'label' (string).
- Example: [{"value":1,"label":"VIP"},{"value":2,"label":"Regular"}]
- If not provided when AttributeCategory='category', API will return 400 error.
- MultiCategoryOptions (string-array, optional)
- Multiple-choice options for normal type with multiple-choice attribute. Array of string values representing available choices. Only required when AttributeCategory is 'normal' and AttributeType is 'multiple-choice'. Example: ["USA","UK","CHINA","INDIA"]
- Value (string, optional)
- Attribute value (only for calculated or global type).
- IsRecurring (bool, optional)
- Whether this is a recurring attribute. Only applicable when AttributeCategory is 'calculated' or 'global'. Set to true for recurring attributes, false otherwise.
Output:
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Create a Sender
Source DSL: api/brevo/dsl/Create_a_Sender.json
Creates a new sender in Brevo with specified name and email address.
Input Parameters:
- Name (string, required)
- Sender name.
- Email (string, required)
- Sender email address.
Options:
- Ips (object-array, optional)
- Dedicated IP addresses to bind to this sender. Each IP object contains 'ip' and 'domain' fields. Example: [{"ip":"123.98.76.54","domain":"example.com"}]
- Active (bool, optional) — default: true
- Whether to activate the sender immediately. Set to true (default) to activate, or false to create but keep inactive. You can activate it later using Update Sender API.
Output:
- SenderId (number)
- The ID of the newly created sender. Use this ID as the 'sender.id' parameter in Send Email or Send Template Email API calls to specify which verified sender to use.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Create or Update a Contact
Source DSL: api/brevo/dsl/Create_or_Update_a_Contact.json
Creates a new contact in Brevo or updates an existing contact if the email already exists.
Input Parameters:
- Email (string, required)
- Contact email address (required).
Options:
- Attributes (object, optional)
- Contact attributes as key-value pairs. Common fields include: FIRSTNAME (first name), LASTNAME (last name), SMS (mobile phone number), COMPANY (company name). Example: {"FIRSTNAME":"Jane","LASTNAME":"Smith","SMS":"+1-555-0200"}
- ListIds (number-array, optional)
- Array of list IDs to add the contact to. You can obtain list IDs by calling the Get All Lists API or from the Brevo dashboard. Example: [3,7]
- UpdateEnabled (bool, optional) — default: true
- Whether to update the contact if it already exists (based on email). When true (default), existing contacts will be updated with new data. When false, only creates new contacts and returns error if email exists.
Output:
- ContactId (number)
- The ID of the created or updated contact.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Delete a Contact
Source DSL: api/brevo/dsl/Delete_a_Contact.json
Deletes a contact from Brevo by email address or contact ID. ⚠️ Warning: This operation permanently deletes the contact and cannot be undone. Make sure you have confirmed before deletion.
Input Parameters:
- Identifier (string, required)
- Contact identifier (email address or contact ID). You can obtain the contact ID from Get a Contact or Get All Contacts API. You can use either the email address (e.g., "john.doe@example.com") or the numeric contact ID (e.g., "12345").
Output:
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Delete a Contact Attribute
Source DSL: api/brevo/dsl/Delete_a_Contact_Attribute.json
Deletes a contact attribute from Brevo by attribute type and name. ⚠️ Warning: This operation permanently deletes the attribute and cannot be undone. All contact data for this attribute will be lost.
Input Parameters:
- AttributeName (string, required)
- Attribute name to delete (uppercase). You can get the list of attributes from Get All Contact Attributes API. Example: "CUSTOMER_LEVEL"
Options:
- AttributeCategory (string, optional) — default: normal
- Attribute category determines how the attribute is used:
- - normal: Regular contact attribute (default) - standard custom fields
- - transactional: Attribute for transactional emails - used in email campaigns
- - category: Attribute with predefined enumeration values - dropdown selection
- - calculated: Attribute with calculated value based on formula - auto-computed fields
- - global: Global attribute shared across all contacts - system-wide fields
Output:
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Delete a Sender
Source DSL: api/brevo/dsl/Delete_a_Sender.json
Deletes a sender from Brevo by sender ID. ⚠️ Warning: This operation permanently deletes the sender and cannot be undone. Make sure you have confirmed before deletion.
Input Parameters:
- SenderId (number, required)
- Sender ID to delete. You can obtain the sender ID from Get All Senders API. Example: 12345
Output:
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Get All Contact Attributes
Source DSL: api/brevo/dsl/Get_All_Contact_Attributes.json
Retrieves all contact attributes from Brevo, including name, type, and enumeration values for category attributes.
No Start inputs in DSL.
Output:
- Attributes (object-array)
- An array of contact attribute objects, each containing name, type, category, enumeration values, and calculated property status.
- Count (number)
- The number of attributes returned.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Get All Contacts
Source DSL: api/brevo/dsl/Get_All_Contacts.json
Retrieves all contacts from Brevo with pagination support, allowing you to filter and sort the contact list.
Options:
- Limit (number, optional) — default: 50
- Number of contacts to return per page (default: 50, max: 1000).
- Offset (number, optional) — default: 0
- Starting index for pagination (default: 0).
- Sort (string, optional) — default: desc
- Sort order - asc for ascending or desc for descending by creation date (default: desc).
Output:
- Contacts (object-array)
- An array of contact objects, each containing email, id, blacklist status, timestamps, custom attributes, and associated list IDs.
- Count (number)
- The number of contacts returned in the current response.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Get All Senders
Source DSL: api/brevo/dsl/Get_All_Senders.json
Retrieves all senders from Brevo, including their ID, name, email, and active status.
Options:
- Ip (string, optional)
- Filter senders by specific IP address. Example: "192.168.8.138"
- Domain (string, optional)
- Filter senders by specific domain. Example: "mydomain.com"
Output:
- Senders (object-array)
- An array of sender objects, each containing id, name, email, active status, and associated IP addresses.
- Count (number)
- The number of senders returned.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Get a Contact
Source DSL: api/brevo/dsl/Get_a_Contact.json
Retrieves detailed information about a single contact from Brevo by email address or contact ID.
Input Parameters:
- Identifier (string, required)
- Contact identifier (email address or contact ID). You can obtain the contact ID from Get All Contacts API. You can use either the email address (e.g., "john.doe@example.com") or the numeric contact ID (e.g., "12345").
Output:
- ContactInfo (object)
- The contact detailed information object.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Send Email
Source DSL: api/brevo/dsl/Send_Email.json
Sends a single email through Brevo with customizable sender, recipient, subject, and content.
Input Parameters:
- SenderEmail (string, required)
- Sender email address.
- SenderName (string, required)
- Sender display name.
- ToEmail (string, required)
- Recipient email address.
- ToName (string, required)
- Recipient display name.
- Subject (string, required)
- Email subject.
Options:
- HtmlContent (string, optional)
- HTML content of the email.
- TextContent (string, optional)
- Plain text content of the email.
Output:
- MessageId (string)
- The message ID of the sent email.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Send Template Email
Source DSL: api/brevo/dsl/Send_Template_Email.json
Sends an email using a predefined Brevo template with customizable parameters.
Input Parameters:
- TemplateId (number, required)
- Email template ID. You can create templates in Brevo dashboard and get the template ID from there. Example: 123
- ToEmail (string, required)
- Recipient email address.
- ToName (string, required)
- Recipient name.
Options:
- Params (object, optional)
- Template parameters. The parameter names must match the placeholders in your template. Example:
- {
- "FIRSTNAME": "John",
- "LASTNAME": "Doe",
- "ORDER_ID": "12345"
- }
Output:
- MessageId (string)
- The message ID of the sent email.
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Update a Contact
Source DSL: api/brevo/dsl/Update_a_Contact.json
Updates contact information in Brevo, including attributes and list memberships.
Input Parameters:
- Identifier (string, required)
- Contact identifier (email address or contact ID). You can obtain the contact ID from Get a Contact or Get All Contacts API. You can use either the email address (e.g., "john.doe@example.com") or the numeric contact ID (e.g., "12345").
Options:
- Attributes (object, optional)
- Contact attributes to update. Example:
- {
- "FIRSTNAME": "John",
- "LASTNAME": "Doe",
- "AGE": 30
- }
- ListIds (number-array, optional)
- Array of list IDs to add contact to. You can get list IDs from Brevo dashboard. Example: [1, 2, 5]
- UnlinkListIds (number-array, optional)
- Array of list IDs to remove contact from. Example: [3, 4]
Output:
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
Update a Contact Attribute
Source DSL: api/brevo/dsl/Update_a_Contact_Attribute.json
Updates a contact attribute in Brevo, primarily used for updating enumeration values of category type attributes.
Input Parameters:
- AttributeName (string, required)
- Attribute name to update. You can get the attribute name from Get All Contact Attributes API. Example: "CUSTOMER_LEVEL"
Options:
- AttributeCategory (string, optional) — default: normal
- Attribute category determines how the attribute is used:
- - normal: Regular contact attribute (default)
- - transactional: Attribute for transactional emails
- - category: Attribute with predefined enumeration values
- - calculated: Attribute with calculated value based on formula
- - global: Global attribute shared across all contacts
- Enumeration (object-array, optional)
- Enumeration values (for category type). Example:
- [
- {"value": 1, "label": "male"},
- {"value": 2, "label": "female"}
- ]
- MultiCategoryOptions (string-array, optional)
- Multiple-choice options (for normal type with multiple-choice). Example:
- ["USA", "INDIA", "CHINA"]
- Value (string, optional)
- Attribute value (only for calculated or global type).
Output:
- StatusCode (number)
- Operation status code: 200=Success (check ErrorMessage for business errors), -1=Parameter validation error, 500=System error (may retry).
- ErrorMessage (string)
- Detailed error message if any error occurred. Empty string if the operation succeeded.
- OriginalStatusCode (number)
- The original HTTP status code returned by Brevo API. Default 0 means the request did not reach upstream (e.g., timeout). Use for debugging.
5. Example Usage
This section sketches a minimal workflow using Send Email. This example adds Start → Brevo: Send Email → Answer and fills sender, recipient, subject, and optional HTML/text content.
Step-by-Step Guide:
- Add the tool node: In the workflow canvas, add a node from the Tools list, choose Brevo, then select Send Email.
- Configure credentials: Pick the saved credential for this integration.
- Configure parameters: Fill Input Parameters and Options as listed in Operation Details for that action (names match the DSL).
- Run: Execute the workflow and inspect the node log for Output fields.
6. FAQs
Q: Why am I getting 401 Unauthorized?
A: Check your Brevo API key in credentials, permissions, and that the key has no extra spaces.
Q: Send Email fails with a validation error?
A: Ensure required fields match the DSL (SenderEmail, SenderName, ToEmail, ToName, Subject). Provide HtmlContent and/or TextContent as needed. Use a verified sender.
Q: Where do parameter names come from?
A: Only from each file under api/brevo/dsl/*.json — Start Inputs and End Outputs.
Leave a Reply.