Brevo
Connect & Ingest data from Brevo
Brevo (formerly Sendinblue) is an email marketing and CRM platform that helps businesses manage contacts, create and send email campaigns, and track transactional email performance. The Sling Brevo connector extracts data from the Brevo API v3, supporting contacts, contact lists, segments, email campaigns, templates, senders, transactional email reports, and events.
CLI Pro Required: APIs require a CLI Pro token or Platform Plan.
Setup
The following credentials and inputs are accepted:
Secrets:
api_key(required) -> Your Brevo API key
Inputs:
anchor_date(optional) -> Starting date for first sync (ISO format, e.g.,2024-01-01). Defaults to 1 year ago.
Getting Your API Key
Log in to your Brevo account
Click on your name in the top-right corner and select SMTP & API
Click the API Keys tab
Click Generate a new API key
Give your key a name and click Generate
Copy the API key (it starts with
xkeysib-)
Using sling conns
Environment Variable
See here to learn more about the .env.sling file.
Sling Env File YAML
See here to learn more about the sling env.yaml file.
Replication
Here's an example replication configuration to sync Brevo data to a PostgreSQL database:
Incremental sync example:
Full refresh example:
Endpoints
Contact Management
contacts
All contacts with attributes
Yes
contact_lists
Contact lists/audiences
No
list_contacts
Contacts in each list (child of contact_lists)
No
segments
Contact segments
No
contact_attributes
Custom contact attributes/fields
No
Email Campaigns
email_campaigns
Email campaigns with statistics
Yes
email_templates
SMTP email templates
No
senders
Verified email senders
No
Transactional Email Analytics
transactional_reports
Aggregated transactional email reports by day
Yes
transactional_events
Individual transactional email events (opens, clicks, etc.)
Yes
To discover available endpoints:
Parent-Child Endpoints
Some endpoints are children of parent endpoints and require the parent to run first:
list_contacts -> Requires
contact_liststo run first (iterates through each list)
Incremental Sync
The Brevo connector supports time-based incremental sync for the following endpoints:
contacts - Syncs contacts modified since the last sync via
modifiedSincefilteremail_campaigns - Syncs campaigns modified since the last sync via
modifiedAttrackingtransactional_reports - Syncs reports using date range iteration (30-day windows)
transactional_events - Syncs events using date range iteration (30-day windows)
How it works
First run: Fetches all records from the anchor date (defaults to 1 year ago)
Subsequent runs: Only fetches records created or modified after the last sync timestamp
Custom Anchor Date
You can set a custom starting date for the first sync:
Rate Limiting
The Brevo API enforces rate limits that vary by endpoint and plan. The connector automatically:
Uses conservative rate limiting (1 request/second)
Retries with exponential backoff on 429 (rate limit) responses
Limits concurrency to 2 parallel requests
Common Use Cases
Sync Contact and List Data
Sync Campaign Performance
Sync Transactional Email Analytics
Sync All Brevo Data
If you are facing issues connecting, please reach out to us at support@slingdata.io, on discord or open a Github Issue here.
Last updated
Was this helpful?