Brevo

Brevo (formerly Sendinblue) is a cloud-based email marketing solution for businesses that want to automate email marketing campaigns with a limited budget. The solution includes email marketing, transactional email, marketing automation, customer relationship management, SMS marketing, and more.

Data integration: Skyvia supports importing data to and from Brevo, exporting Brevo data to CSV files, replicating Brevo data to relational databases, and synchronizing Brevo data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Brevo.

Query: Skyvia Query supports Brevo.

Establishing Connection

You need the API Key to create a connection with Brevo.

Getting Credentials

To get your API Key, perform the following steps:

  1. Sign in with Brevo.
  2. Click your user icon in the top right corner.

    Menu

  3. In the drop-down list, click SMTP & API and switch to the API Keys tab.

    Generate API Key

  4. Click Generate a new API key.
  5. Enter the API key name and click Generate.
  6. Copy your API Key and store in a safe place. Note that this is the only time you can see it, and you will need to generate a new one if you lose it.

Brevo Account page

Creating Connection

Enter the obtained API Key to the corresponding box in the Connection Editor.

Connection Editor window

Additional Connetion Parameters

Suppress Extended Requests

Brevo API returns only part of the fields for some objects when querying multiple records. Skyvia performs additional extended requests to query values of missing fields. Skyvia performs such API requests for each record of such object. However, this can decrease performance and significantly increase the number of API calls used.

The additional fields are the following:

OBJECT FIELD
Contacts Statistics_TransacAttributes
ContactLists DynamicList, CreatedDate, StartDate, EndDate, CampaignStats

To reduce the number of API calls, you can enable the Suppress Extended Requests parameter.

Use Custom Fields

This parameter defines whether Skyvia will process the custom fields. It allows you to insert and update custom field values if enabled.

Connector Specifics

Object Peculiarities

Read-only objects

The following Brevo objects are read-only: TransactionalEmailActivity_AggregatedPerDay, SMSActivity_AggregatedPerDay, SMSActivity_UnaggregatedEvents, and TransactionalEmailActivity_UnaggregatedEvents.

BlockedDomain

The BlockedDomains object has a single Domain field. It contains the list of all the blocked domains in JSON array format: ["example1.com", "example2.com"].

To extend the list of blocked domains, use the INSERT operation. To remove the domain from the list, use the DELETE operation.

For example, your list of blocked domains looks like ["example1.com", "example2.com"]. Suppose you want to block one more domain with the example3.com value. Use the INSERT operation in the integration and map the Domain field to the example3.com value. As a result, your list looks like ["example1.com", "example2.com", "example3.com"].

BlockedContacts

The BlockedContacts object does not have an Id field. The primary key is the Email field.

Contacts_Attributes

The Contacts_Attributes object does not have an Id field. The primary keys are the Name and Category fields.

Contacts

To work with contact custom fields, enable the Use Custom Fields parameter in the Connection Editor. If you disable this parameter, you get access only to the default custom fields with the Attributes* prefix in their names: Atributes_Email, Atributes_Lastname, Atributes_Firstname, and Atributes_Phone.

To insert data to this object, map either the Email field or the SMS nested attribute in the Attributes field. For example, {"SMS":"012345678910"}.

The ListIds field stores the identifiers of all the lists the contact belongs to in the JSON array format: [1,2,3].

To extend the array of IDs, use the UPDATE operation in the integration and map the ListIds field to the value you want to add. For example, the ListIds field contains the value [1,2]. Suppose you want to add 3 to the array. To add an item to the list, use the UPDATE operation and map the ListIds field to the [3] value. As a result, the ListIds value becomes [1,2,3].

To delete the specific IDs from the array, map the UnlinkListIds field to the value you want to remove. For example, if you want to remove [5] from the [3,4,5] ListIds array, map the UnlinkListIds to [5]. As a result, the ListIds value becomes [3,4].

Activity Objects

The TransactionalEmailActivity_AggregatedPerDay, SMSActivity_AggregatedPerDay, SMSActivity_UnaggregatedEvents, and TransactionalEmailActivity_UnaggregatedEvents objects are read-only.

When you query the TransactionalEmailActivity_AggregatedPerDay and SMSActivity_AggregatedPerDay objects, the result contains data for the last ten days by default. To get data for another period, set the filters by the startDate and endDate fields. The period specified in the filters must be at most 30 days.

When you query the SMSActivity_UnaggregatedEvents and TransactionalEmailActivity_UnaggregatedEvents objects, the result contains data for the last 30 days by default. To get data for another period, set the filters by the startDate and endDate fields.

Custom Fields

Brevo supports the following custom field types:

Brevo Type DbType
Text String. The default length is 1000 characters. The length increases to 4000 characters, if the field name is memo or note, contains the description, comment, notes, address, or ends with url, reason, or keywords. If the name contains content or html, its length increases to 2147483647 charachters.
Category String, Enum field
Date Date
Boolean Boolean
Float Double
Multiple-choice String, Enum field
User String. Length: 255

Enable the Use Custom fields parameter to be able to work with them in Skyvia.

DML Operations Support

Skyvia supports the following DML operations for Brevo.

Operation Object
INSERT, UPDATE, DELETE Companies, ChildrenAccounts, Contacts, ContactsAttributes, Contacts_Folders, Contacts_Lists, Deals, Email_Campaigns, Senders, SMS_Campaigns, Tasks, Templates, WebhooksMarketing, WebhooksTransactional, WhatsAppCampaigns
INSERT, DELETE Domains, BlockedDomains
INSERT, UPDATE CouponCollections
INSERT SenderDomains_ChildrenAccounts
DELETE BlockedContacts

Incremental Replication and Synchronization

Skyvia supports Incremental Replication for the following Brevo objects: Companies, Contacts, Contacts_Lists, ContactSegments, Email_Campaigns, SMS_Campaigns, Template, WebhooksMarketing, WebhooksTransactional, WhatsAppCampaigns.

Incremental Replication tracks the new records only for the Deals, Tasks, Categories, and CouponCollections objects.

Skyvia supports Synchronization for the following Brevo objects: Companies, Email_Campaigns, SMS_Campaigns, Template, WebhooksMarketing, WebhooksTransactional, WhatsAppCampaigns.

Stored Procedures

Skyvia represents part of the supported Brevo features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.

SendEmailCampaignImmediately

The following command sends an email campaign immediately based on campaign identifier.

call SendEmailCampaignImmediately(:campaignId)

SendEmailCampaignTestList

The following command sends the email campaign to the testing list of emails.

call SendEmailCampaignTestList(:campaignId,:emailTo)

PARAMETER NAME DESCRIPTION
CampaignId Campaign identifier
EmailTo List of campaign testing emails in the array format. For example, [“email1@mail.com”,”email2@mail.com”]

UpdateEmailCampaignStatus

Use the following command to update the campaign status.

call UpdateEmailCampaignStatus(:campaignId,:status)

PARAMETER NAME DESCRIPTION
CampaignId Campaign identifier
Status The valid status values are suspended, archive, darchive, sent, queued, replicate, replicateTemplate, draft. The replicateTemplate status is available only for template type campaigns.

SendSmsCampaignImmediately

The following command sends an sms campaign immediately based on campaign identifier.

call SendSmsCampaignImmediately(:campaignId)

SendSmsCampaignTestList

The following command sends the email campaign to the testing list of emails.

call SendSmsCampaignTestList(:campaignId,:phoneNumber)

PARAMETER NAME DESCRIPTION
CampaignId Campaign identifier
PhoneNumber Mobile number of the recipient with the country code. This number must belong to one of your contacts in Brevo account and must not be blacklisted. For example, 33689965433

UpdateSmsCampaignStatus

Use the following command to update the campaign status.

call UpdateSmsCampaignStatus(:campaignId,:status)

PARAMETER NAME DESCRIPTION
CampaignId Campaign identifier
Status The valid status values are suspended, archive, darchive, sent, queued, replicate, replicateTemplate, draft. T replicateTemplate status is available only for template type campaigns.

Supported Actions

Skyvia supports all the common actions for Brevo.