.png)
Brevo Integration Guide
Connect Brevo's REST APIs and selected webhook events with enterprise applications through Martini workflows, mappings, and secure API orchestration.
Brevo integration options at a glance
Brevo's primary integration interface is its versioned REST API, covering Contacts, Lists, campaigns, transactional email, events, templates, SMS, and conversations. Selected marketing, transactional, and conversation events can be delivered through Brevo webhooks. Bulk operations support Contact imports and batch transactional email, with some processes completing asynchronously. Specific API operations also support CSV imports and transactional attachments. Brevo authenticates requests with API keys and documents OAuth 2.0 for delegated access. Martini can securely consume these APIs, receive webhook callbacks, orchestrate asynchronous workflows, transform payloads, and expose internal APIs that standardize Brevo operations.
Common Brevo integration patterns
Common Brevo data objects used in integrations
Authentication and security considerations
API keys and OAuth
Brevo documents API-key authentication through the api-key header and OAuth 2.0 for delegated application access. Partner-key authentication is also documented for partner or reseller scenarios.
Credential protection
Configure Brevo credentials through Martini secrets and secure environment configuration. Keep keys, OAuth tokens, and client credentials out of workflow mappings, source code, and logs.
Access and data controls
- Use separate credentials for development, test, and production where possible.
- Restrict credentials to the required Brevo account and environment.
- Define consent and unsubscribe ownership before synchronizing Contacts or sending marketing messages.
Operational considerations for Brevo integrations
Rate limits and pagination
Brevo rate limits can vary by endpoint, account, plan, and product. Detect HTTP 429 responses, respect retry guidance where available, use bounded exponential backoff, throttle scheduled jobs, and prefer batch operations where appropriate. Process every page of collection results.
Idempotency and asynchronous processing
Use stable Contact, message, event, or upstream identifiers to prevent duplicates. For bulk operations, persist process identifiers and poll or retrieve completion status when required. Distinguish an unsuccessful request from an accepted request whose response was lost.
Webhooks and schema changes
Validate and deduplicate selected Brevo callbacks, persist or enqueue them before slow downstream work, and verify event coverage for the required use case. Contact attributes, Lists, templates, sender identifiers, and environments should be treated as configurable rather than hard-coded.
Testing and monitoring
Test authentication, consent, pagination, rate limits, template parameters, attachments, duplicate delivery, and failure recovery. Monitor workflow logs, correlation identifiers, retry queues, asynchronous process status, and downstream reconciliation results.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates Brevo API calls, webhook intake, schedules, bulk processing, downstream writes, and reconciliation in reusable workflows rather than scattering logic across scripts.
Controlled transformation
Mappings and business rules provide a maintainable way to normalize Contacts, Lists, event statuses, transactional parameters, consent, and attachments across applications.
Operational reliability
Martini supports environment-specific secrets, validation, error handling, bounded retries, checkpoints, monitoring, and API exposure. This makes it easier to evolve a Brevo integration as attributes, templates, endpoints, and enterprise requirements change.