---
title: "Brevo Connector"
description: "Implementation notes for building and operating the Brevo connector in Tajo."
url: https://tajo.io/docs/connectors/brevo/
markdown: https://tajo.io/docs/connectors/brevo.md
lang: en-US
robots: noindex
---

# Brevo Connector

Connector status: Live Verified. Tajo runs this connector today.

| Source field | Destination field | Sample value |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Connector implementation

## Build the Brevo integration

Email, SMS, WhatsApp campaigns, transactional messaging, and CRM from a single API.

Omnichannel Engagement

*Brevo connector flow from source system to Tajo mapping and Brevo activation.*

## Implementation Overview

**Build target**

Implement a Brevo connector that authenticates to the vendor surface, normalizes source records in Tajo, and activates eligible data in Brevo.

**Current status**

The connector is marked runtime-ready. Verify production credentials, scopes, and workspace settings before enabling sync.

**Primary surface**

api.brevo.com

| Property | Value |
| --- | --- |
| Integration surface | OpenAPI |
| Status | Live |
| Category | Omnichannel Engagement |
| Setup complexity | easy |
| Vendor documentation | [developers.brevo.com/](https://developers.brevo.com/) |
| Allowed host | `api.brevo.com` |
| Base URL | `https://api.brevo.com/v3` |
| OpenAPI schema | `integrations/brevo/spec/openapi.yml` |
| MCP server | Not recorded |
| Last researched | 2026-07-17 |

No additional implementation notes are recorded for this connector.

## Authentication

- **API key** (OpenAPI mode). Send it in the `api-key` header with no prefix.
- Restrict outbound API traffic to `api.brevo.com` unless the vendor documents additional regional hosts.
- Use `https://api.brevo.com/v3` as the default REST base URL and keep regional or account-specific overrides configurable.
- Use `integrations/brevo/spec/openapi.yml` to generate or validate typed API clients and request models.
- Keep [developers.brevo.com/](https://developers.brevo.com/) linked from the connector runbook so operators can confirm vendor behavior during incidents.
- Store credentials per Tajo workspace and keep tenant-specific secrets out of connector configuration files.
- Add a credential smoke test that verifies read access to a harmless resource before running backfills or enabling webhooks.

## Data To Sync

Start with these inferred data domains, then confirm exact vendor resources and permissions from the source documentation:

- Contact and identity records
- Campaign, messaging, or audience state

The connector should make source records idempotent by keeping a stable key such as a vendor object ID, email address, event ID, ticket ID, order ID, or campaign ID. If the vendor only exposes list APIs, Tajo should store the cursor strategy and replay policy explicitly.

## Sync Shape

| Resource | Direction | Conflict handling |
| --- | --- | --- |
| `contacts` | outbound | n/a |
| `campaigns` | inbound | n/a |

## Mapping To Tajo/Brevo

Brevo has a typed contract, and every resource on it is read for context rather than projected into Brevo. That is a recorded decision, not a gap: no field of this connector currently becomes a Brevo contact, list, or event.

The conventions that apply to every connector — stable external IDs, normalization, backfill and sync strategy, error handling, and the builder checklist — are documented once under “Applies to every connector” on the [connector catalog](https://tajo.io/docs/connectors).

## Sources

- [Vendor documentation](https://developers.brevo.com/)
- [api.brevo.com/v3/swagger\_definition\_v3.yml](https://api.brevo.com/v3/swagger_definition_v3.yml)
