Skip to content

Send with Brevo

How-to guide
For:
Workspace admins
Needs permission:
providers:managesensitive, domains:managesensitive
In the app:
Sending providers, then Providers

A Brevo API newsletter from ReputeCast goes out through Brevo’s transactional email API, one call per message. You connect an API v3 key; ReputeCast registers a transactional webhook, authenticates your sending domain and pulls Brevo’s blocked contacts into the shared suppression list. Two Brevo behaviors matter before you send: Brevo adds its own unsubscribe header, and it tracks opens and clicks in a way ReputeCast can’t turn off.

KindAPI
Bulk marketingAllowed
Event webhooksRegistered by ReputeCast; bearer token (Brevo doesn't sign)
Domain setupAPI
Suppression syncPull only
Batch size1
NotesBrevo tracks opens and clicks in transactional mail, and ReputeCast can't turn that off over its API. Suppressions are pulled from Brevo but not pushed to it.
  • A Brevo API key from Brevo › SMTP & API › API keys. It starts with xkeysib-. Brevo also issues SMTP keys for its SMTP relay; those don’t work here (Brevo: Create and manage your API keys, checked October 2026).
  • An account that can send. While Brevo is validating a new account, or when it has run out of credits, the key check fails.
  • Permissions. Connecting needs providers:manage; adding a new sending domain needs domains:manage.
  • A public HTTPS address for the webhook: <public URL>/hooks/brevo/<token>.

Three Brevo behaviors matter before you route mail to it:

  • Brevo’s unsubscribe header. Brevo adds its own List-Unsubscribe header and has no API to change it, so ReputeCast leaves its own header out of mail sent through Brevo. One-click unsubscribes from mailbox providers go to Brevo, which reports them through the webhook, and the address joins the shared suppression list. The unsubscribe link in your footer still goes to ReputeCast.
  • Brevo’s open and click tracking. Brevo tracks opens and clicks in transactional email by default and has no API or per-message switch to stop it; in its settings you can only anonymize that tracking (Brevo: Can I anonymize the tracking of opens and clicks for my emails?, checked October 2026). Brevo adds its own open pixel and rewrites links on top of ReputeCast’s tracking; its numbers never reach ReputeCast’s reports. The Provider-side tracking check can’t read Brevo’s setting and Send Readiness doesn’t warn about it, so review Brevo’s tracking settings yourself.
  • Pull-only suppressions. ReputeCast imports Brevo’s blocked contacts (hard bounces, spam complaints and unsubscribes) every 15 minutes but doesn’t push its list to Brevo, whose API blocks contacts only one at a time per sender. ReputeCast checks the shared list before it hands any message to Brevo, so suppressed addresses never reach it.
  1. Open Sending providers, choose Add provider and pick Brevo in the catalog. Connect a sending provider explains the steps every provider shares.

  2. Paste the API key. If your plan is a monthly allowance, enter your Plan · emails per month under the extra Brevo settings for the quota bar.

  3. Choose Connect. ReputeCast reads your account with the key and stores it encrypted. The card shows your company name, the plan and the emails or credits left.

  4. In 2. Webhooks, ReputeCast tests its own public URL, then creates (or updates) a transactional webhook named “ReputeCast” for delivered, hard and soft bounces, deferred, blocked, invalid, spam and unsubscribed events. Brevo doesn’t sign webhooks, so ReputeCast gives it a bearer token to send with each request. Webhooks for your Brevo marketing campaigns aren’t touched.

  5. Choose Continue to domain verification and enter your sending domain. ReputeCast adds it in Brevo, asks Brevo to authenticate it, and lists Brevo’s records: the brevo-code verification TXT record, DKIM, SPF when Brevo gives one, and DMARC.

  6. In Test send, send a test and watch the delivered event arrive.

  7. In Streams and Contacts, pick the streams and keep the option to pull Brevo’s existing blocked contacts ticked.

  • The Brevo card on Sending providers, then Providers shows Healthy and what is left on your plan.
  • In Brevo, the transactional webhooks list a “ReputeCast” webhook that points at /hooks/brevo/….
  • Deliveries and bounces appear under Sending providers, then Events & sync.
  • “Brevo rejected this key.” Use an API v3 key (it starts with xkeysib-), not an SMTP key.
  • “Brevo didn’t answer the check” with a key you know is right. Brevo refuses while the account is under validation or out of credits. Finish Brevo’s account validation or top up, then try again.
  • The domain step fails with “Brevo didn’t add …”. Brevo refused the domain; its reason follows the message. Fix it in Brevo, then run the step again.
  • Unsubscribe counts in ReputeCast look low. One-click unsubscribes from Gmail or Yahoo go to Brevo first and arrive through the webhook. Check that the webhook is still registered in Brevo.
  • The catalog shows a “Sandbox mode” badge. ReputeCast never sends through a Brevo sandbox: every message it hands over is delivered.
  • You disconnected Brevo. ReputeCast deletes the transactional webhooks that point at its URL. The domain stays in Brevo.