Overview
Brevo (formerly Sendinblue) provides European-hosted email delivery infrastructure engineered for enterprise compliance with GDPR and international data sovereignty standards. In BrokerOS, the Brevo integration lives as a self-contained TypeScript package inintegrations/mail/brevo/src/index.ts under the Turborepo workspace package @brokeros/int-mail-brevo.
BrokerOS administrators configure and manage Brevo directly through the Web UI at Dashboard -> Marketing -> Email -> Settings. Credentials are encrypted using AES-256-GCM and stored in the database (MarketingIntegration), requiring zero server restarts or .env modifications.
Architecture and Dispatch Sequence
The Brevo integration implements theIEmailMarketingProvider contract from @brokeros/types. During campaign execution, worker jobs stream batches through BrevoClient without blocking API request threads.
Step 1: Obtain Credentials from Brevo
- Log into your account at app.brevo.com.
- Click your profile name in the top right corner and navigate to SMTP & API.
- Under the API Keys tab, click Generate a new API key.
- Name your key (e.g.
BrokerOS Production) and copy the generated key string. Brevo v3 API keys start withxkeysib-and are at least 40 characters long. - Navigate to Senders, Domains & Dedicated IPs -> Domains, add your company sending domain, and publish the recommended DKIM (
k=rsa; p=...) and Brevo code TXT records to your DNS provider.
Step 2: Connect in the BrokerOS Web Dashboard
In your BrokerOS dashboard, connect Brevo through the UI modal:- Navigate to Dashboard -> Marketing -> Email -> Settings.
- Select the Providers & Domains tab (
/dashboard/marketing/email/settings?tab=providers). - Click Add Provider and select Brevo from the provider catalog.
- Fill in the modal connection fields:
- Click Verify & Connect. BrokerOS immediately tests connectivity with
GET https://api.brevo.com/v3/account. Once verified, credentials are encrypted and stored in PostgreSQL (MarketingIntegration).
Step 3: Configure Webhook Delivery Telemetry
To capture real-time opens, clicks, and bounce suppression events:- In your Brevo portal, navigate to Transactional -> Settings -> Webhook.
- Click Add a new webhook.
- Enter your BrokerOS webhook endpoint URL:
- Select checkboxes for Delivered, Opened, Clicked, Soft bounce, Hard bounce, Spam, and Unsubscribed.
- Save the webhook. BrokerOS
BrevoWebhookParserhandles event ingestion automatically.
Webhook Event Telemetry Mapping
Integration Implementation Details
The Brevo integration source code is maintained inintegrations/mail/brevo/src/index.ts.
Live Account Verification
When submitting credentials in the UI,BrevoClient.validate() sends an authenticated ping to verify access rights:
Outbound Transactional Dispatch
Worker jobs dispatch outbound messages viaPOST https://api.brevo.com/v3/smtp/email with automatic campaign attribution tags: