Ellipse Gradient for Header

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.

Integration pointSupported by Brevo?Common use casesHow Martini supports it
REST APIsYesManage Contacts and Lists, send transactional email, work with campaigns, templates, events, SMS, conversations, and account configuration.Martini can consume Brevo REST APIs from workflows, map requests and responses, apply business rules, and expose standardized APIs for other applications.
Webhooks / outbound callbacksLimitedReceive selected delivered, opened, clicked, bounced, unsubscribed, spam, Contact, transactional, and conversation events.Martini can expose an HTTP entry point, validate and normalize callback payloads, deduplicate deliveries, and route events to downstream systems.
Bulk / async / batch APIsLimitedImport Contacts, create or update multiple Contacts, and send batches of transactional emails. Some operations may return an asynchronous process identifier.Martini can submit bulk operations, persist process identifiers, poll when required, and route failed processes for retry or review.
File / attachment APIsLimitedImport Contacts from CSV files and attach files to transactional email requests. Brevo is not confirmed as a general-purpose file repository.Martini can map upstream files or attachments into the specific Brevo request format and validate size, type, and required metadata.
AuthenticationYesAuthenticate server-to-server requests with the api-key header or use OAuth 2.0 for delegated access to Brevo accounts; partner-key scenarios are also documented.Martini can configure headers or OAuth credentials through secure secrets and environment configuration, keeping credentials out of mappings and source code.
SDKsLimitedBrevo provides client libraries for several languages, although standard integrations generally use its REST API directly.Martini can consume REST endpoints directly and use custom JVM-compatible logic only when a specific SDK or specialized behavior is necessary.

How Brevo exposes data and business events

Brevo REST APIs

Brevo's versioned REST APIs are the primary integration mechanism for Contacts, Lists, campaigns, transactional email, events, templates, SMS, conversations, and related account functions. API-key authentication is documented, with OAuth 2.0 available for delegated application access.

Martini implementation pattern

Martini implementation pattern: Martini workflows consume the required Brevo endpoints, transform source data into Brevo request models, apply consent and validation rules, and normalize responses for downstream applications or internal APIs.

Implementation sequence

Authenticate with an API key or OAuth credentials
Retrieve or receive the source business data
Map fields to the Brevo resource model
Apply validation, consent, and routing rules
Call the Brevo REST endpoint
Persist identifiers, status, and correlation details

Brevo Webhooks

Brevo supports webhook notifications for selected marketing, transactional, and conversation events, including delivery, opens, clicks, bounces, unsubscribes, spam, and some Contact activity. Coverage is not universal for every object or state change.

Martini implementation pattern

Martini implementation pattern: Martini exposes an HTTP API entry point, validates the callback, persists or queues the event before slow processing, normalizes the payload, and routes it to CRM, support, reporting, or governance systems.

Implementation sequence

Receive the Brevo webhook notification
Validate the request and expected event type
Persist or enqueue the callback for processing
Deduplicate the event using available identifiers
Map the event to the downstream model
Return a prompt response and monitor processing errors

Brevo Bulk and Async Operations

Brevo documents Contact imports and batch transactional email operations. Depending on the operation, the API may return an asynchronous process identifier rather than the final result.

Martini implementation pattern

Martini implementation pattern: Martini submits the bulk request, stores the process identifier and source correlation data, polls or retrieves completion status when necessary, and routes permanent failures for review.

Implementation sequence

Prepare and validate the bulk payload or file
Submit the Brevo bulk operation
Store the returned process identifier
Poll or retrieve completion status when required
Reconcile successful and failed items
Retry only transient failures

Brevo File and Attachment Operations

Brevo supports CSV-based Contact imports and attachments in specific transactional email requests. These capabilities are operation-specific and do not establish a general-purpose Brevo file-storage API.

Martini implementation pattern

Martini implementation pattern: Martini receives an upstream file or attachment, validates its format and metadata, transforms it into the Brevo request structure, and records the resulting import or message status.

Implementation sequence

Receive the source file or attachment
Validate file type, size, and required fields
Transform the content to the Brevo request format
Submit the import or transactional email request
Track asynchronous processing where applicable
Route validation and processing failures

Common Brevo integration patterns

Pattern 1: Synchronize customers to Brevo Contacts

When to use this pattern

Use this pattern when an upstream customer or subscriber system is the source of audience data and Brevo is responsible for segmentation or messaging. It supports scheduled changes, inbound events, and reconciliation.

Integration direction
Salesforce
Martini
Brevo
Example Mapping
Brevo FieldCanonical FieldTarget Field
emailcustomer.emailemail
firstNamecustomer.firstNameattributes.FIRSTNAME
marketingConsentconsent.marketingsubscription status
customerIdcustomer.externalIdattributes.EXTERNAL_ID
Martini implementation pattern

Martini retrieves changes, normalizes email and attribute names, validates consent, and performs idempotent Contact create or update operations. It then manages List membership, records source and Brevo identifiers, and sends validation or transient failures to appropriate retry or review paths.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • error handling

Pattern 2: Orchestrate transactional email

When to use this pattern

Use this pattern when an order, invoice, password, shipment, or support event must trigger a controlled Brevo message using a reusable template and optional attachment.

Integration direction
NetSuite
Martini
Brevo
Example Mapping
Brevo FieldCanonical FieldTarget Field
customerEmailrecipient.emailto.email
invoiceNumbertransaction.numberparams.invoiceNumber
invoiceTotaltransaction.totalparams.total
invoiceFiledocument.attachmentattachment
Martini implementation pattern

A Martini API or workflow validates the incoming event, selects an environment-specific template, maps parameters and supported attachments, and calls the Brevo transactional email API. It returns or stores the message identifier and applies bounded retry rules without duplicating accepted sends.

Martini capabilities used
  • APIs
  • workflows
  • data mapping
  • business rules
  • error handling

Pattern 3: Distribute Brevo engagement events

When to use this pattern

Use this pattern when delivery, bounce, unsubscribe, click, or spam events must update customer systems, trigger alerts, or feed reporting and governance processes.

Integration direction
Brevo
Martini
Salesforce
Example Mapping
Brevo FieldCanonical FieldTarget Field
eventengagement.eventTypeActivity.Type
emailcontact.emailContact.Email
messageIdmessage.externalIdActivity.ExternalId
eventTimeengagement.occurredAtActivity.Timestamp
Martini implementation pattern

Martini receives selected Brevo callbacks, validates and deduplicates them, maps Brevo event types to downstream statuses, and applies rules such as escalating repeated hard bounces. Failed downstream writes are retried or queued without reprocessing the same event.

Martini capabilities used
  • APIs
  • webhook consumption
  • workflows
  • data mapping
  • error handling

Pattern 4: Reconcile campaign and transactional activity

When to use this pattern

Use this pattern when internal reporting, customer data, or operational systems require a complete or corrected view of Brevo activity beyond selected webhook events.

Integration direction
Brevo
Martini
PostgreSQL
Example Mapping
Brevo FieldCanonical FieldTarget Field
messageIdengagement.externalIdbrevo_message_id
eventengagement.statusstatus
emailcontact.emailcontact_email
eventTimeengagement.occurredAtoccurred_at
Martini implementation pattern

A scheduled Martini workflow retrieves activity in pages, maintains a checkpoint, normalizes Brevo statuses, and writes results to a database or reporting API. It deduplicates by stable identifiers, retries transient failures, and supports backfill when webhook coverage is incomplete.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination handling
  • data mapping
  • database integration
  • error handling

Applications commonly integrated with Brevo

Brevo can be integrated with named business applications to synchronize audiences, trigger transactional communications, and distribute engagement events. Exact object coverage, ownership, and event availability should be confirmed for each implementation.

Application Scenario Direction Martini Pattern
Salesforce Synchronize Contacts, consent or subscription status, campaign engagement, and sales-driven email activity. Salesforce → Martini → Brevo Martini retrieves or receives Salesforce changes, maps them to Brevo Contacts and Lists, and routes Brevo engagement or unsubscribe events back to Salesforce with idempotent updates and retry handling.
Shopify Synchronize ecommerce customers and support order-related transactional and marketing messages. Shopify → Martini → Brevo A Martini API or scheduled workflow receives Shopify customer and order events, maps customer attributes and message parameters, and calls Brevo Contact or transactional email APIs.
WooCommerce Synchronize store customers and order-related events with Brevo for marketing and transactional messaging. WooCommerce → Martini → Brevo Martini normalizes WooCommerce customer and order payloads, upserts Contacts, manages List membership, and invokes transactional email workflows while classifying retryable failures.
WordPress Send website subscriber or form-submission data to Brevo Contacts and Lists. WordPress → Martini → Brevo Martini receives or polls WordPress submissions, validates consent and email data, maps configured Brevo attributes, and performs idempotent Contact upserts.
HubSpot Coordinate marketing Contacts and engagement data when Brevo handles a particular messaging or campaign function. HubSpot → Martini → Brevo Martini applies source-of-truth rules, transforms HubSpot contact attributes into Brevo fields, and reconciles selected Brevo events back to HubSpot or a shared data service.
Zendesk Send customer-support notifications through Brevo and synchronize selected communication events. Zendesk → Martini → Brevo A Martini workflow maps Zendesk ticket or customer events to Brevo transactional email requests and optionally routes selected delivery or bounce events to a support or reporting workflow.
NetSuite Send operational customer, invoice, or order notifications and synchronize customer attributes for marketing use. NetSuite → Martini → Brevo Martini receives NetSuite business events, selects a Brevo template, maps transaction data and attachments where required, and records the returned message identifier.
Segment Forward customer and engagement events for centralized customer-data processing or distribute audience data to Brevo. Segment → Martini → Brevo Martini normalizes Segment events or audience payloads, applies consent and deduplication rules, and sends supported Contact or event data to Brevo while preserving correlation identifiers.

How to build a Brevo integration in Martini

Objective

Configure Brevo API-key or OAuth credentials and environment-specific identifiers without embedding secrets in workflow definitions.

Instructions in Martini

  • Create separate development, test, and production configuration where possible.
  • Store API keys, OAuth credentials, List identifiers, template identifiers, and sender identifiers in Martini secrets or secure environment configuration.
  • Use the Brevo REST API as the primary integration interface.

Objective

Select an event, webhook, API request, or schedule that matches the required synchronization or messaging latency.

Instructions in Martini

  • Use a Martini API or workflow entry point for upstream business events.
  • Receive Brevo webhook callbacks for selected supported event types.
  • Use a scheduler for reconciliation, imports, and backfill workflows.

Objective

Acquire Brevo data or upstream business data while accounting for pagination, asynchronous operations, and event-specific coverage.

Instructions in Martini

  • Retrieve all pages from collection endpoints.
  • Persist process identifiers for bulk or asynchronous operations.
  • Use webhook events for selected near-real-time activity and API retrieval for reconciliation.

Objective

Coordinate API calls, validation, routing, polling, persistence, and downstream writes in a maintainable Martini workflow.

Instructions in Martini

  • Validate incoming payloads before calling Brevo.
  • Separate transient failures from authentication, validation, consent, and business-rule failures.
  • Persist correlation identifiers and processing checkpoints.

Objective

Convert source fields, Brevo attributes, message parameters, and event statuses into a stable internal model.

Instructions in Martini

  • Normalize email addresses and configured Contact attribute names.
  • Map List, template, sender, and environment identifiers through configuration.
  • Transform JSON, CSV, attachments, and date or timezone values as required.

Objective

Enforce consent, subscription, routing, deduplication, and message-selection rules before data leaves Martini.

Instructions in Martini

  • Define the system of record for consent and unsubscribe status.
  • Use stable identifiers or email addresses for idempotent Contact operations.
  • Select templates and target systems based on event and business context.

Common Brevo data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ContactsStore individual subscribers or customers with email addresses, attributes, and subscription status.Salesforce, Shopify, WooCommerce, WordPress, HubSpot, databasesMartini validates and normalizes attributes, performs idempotent create or update operations, and persists synchronization results.
ListsOrganize Contacts for segmentation and campaign delivery.Salesforce, HubSpot, customer databases, marketing platformsMartini maps environment-specific List identifiers and adds or removes Contacts according to consent and audience rules.
Email campaignsDefine marketing email content, recipients, scheduling, and delivery status.CRM platforms, reporting stores, data warehousesMartini can create or retrieve campaign-related data, map statuses, and reconcile activity using checkpoints and pagination.
Transactional emailsSend individual or batch operational messages such as order confirmations, account notifications, and invoice notices.Shopify, NetSuite, Zendesk, internal order and billing applicationsMartini validates business events, selects templates, maps parameters and attachments, calls Brevo, and records message identifiers.
EventsRepresent delivery, open, click, bounce, unsubscribe, spam, and related contact activity.Salesforce, HubSpot, reporting databases, event-processing systemsMartini receives selected webhook events or retrieves activity, deduplicates them, maps statuses, and routes them to downstream systems.
TemplatesProvide reusable content for transactional or campaign messages.Order platforms, customer applications, finance systems, support applicationsMartini stores environment-specific template identifiers in configuration and supplies validated parameters to transactional requests.

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.

Frequently asked questions

How can Brevo be integrated with enterprise systems?

Brevo can be integrated primarily through its versioned REST APIs for Contacts, Lists, campaigns, transactional email, events, templates, SMS, and conversations. Selected marketing, transactional, and conversation events can be delivered through webhooks, while Contact imports and batch email operations support bulk processing. API keys and OAuth 2.0 are documented authentication options.

Can Martini integrate with Brevo?

Yes. Martini can consume Brevo REST APIs, receive selected Brevo webhook callbacks, orchestrate Contact, List, campaign, transactional email, and event workflows, and transform data for enterprise applications. No native Martini Brevo connector is documented in the supplied materials.

Do I need a connector to integrate Brevo with Martini?

No. A dedicated Brevo connector is not required. Martini can integrate using Brevo's documented REST APIs, selected webhook callbacks, bulk operations, file or attachment operations, and API-key or OAuth authentication.

Is there any extra Lonti cost to integrate Brevo with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Brevo. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from Brevo, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.

Which Brevo integration methods should an enterprise use?

Use Brevo REST APIs for Contacts, Lists, campaigns, transactional email, templates, events, and related operations. Use webhooks for selected near-real-time event notifications, bulk or asynchronous operations for imports and batch email, and API retrieval for reconciliation or backfill. No official Brevo GraphQL or SOAP API documentation was identified.

Are Brevo webhooks available for event-driven integrations?

Yes, but coverage is limited to selected marketing, transactional, and conversation events. Brevo documents notifications such as delivery, open, click, bounce, unsubscribe, spam, and some Contact activity. The specific event and product coverage should be verified before implementation.

How does Martini synchronize Brevo data?

Martini can combine webhook-driven processing with scheduled API retrieval. Workflows can paginate through collections, maintain checkpoints, use stable Contact or message identifiers for idempotency, map Brevo statuses to internal values, and reconcile activity when webhook coverage is incomplete.

How does Martini handle Brevo mapping, errors, and retries?

Martini maps Brevo attributes, List and template identifiers, event statuses, message parameters, and attachments into canonical models. Workflows can classify authentication, validation, rate-limit, network, and business-rule failures, retry transient errors with bounded backoff, and route permanent failures for correction or review.