Sapilon becomes publicly available on 1 December 2026: 42 days to go. The core goes open source the same day →

Brevo integration

In short

Send transactional email and manage contacts and lists. Connect it on the Integrations page; your app then calls Brevo through Sapilon without ever holding a Brevo credential.

Lets your app send transactional email (plain or from templates) through Brevo, create and update contacts, read lists, and list email campaigns.

Connecting

On the Integrations page choose Connect on Brevo and fill in:

  • API key — Brevo → your profile → SMTP & API → API keys → Generate a new API key.

Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.

  • Send only from a sender or domain you verified in Brevo.

What your app can do

Only these requests are available; anything else is refused.

  • POST /smtp/email
  • GET|POST /contacts
  • GET /contacts/lists
  • GET|PUT /contacts/*
  • GET /emailCampaigns

How the agent uses it

Use integrations.request('brevo', …); paths are relative to https://api.brevo.com/v3.

  • POST /smtp/email — Example: { method: 'POST', path: '/smtp/email', body: { sender: { email: 'hello@acme.com', name: 'Acme' }, to: [{ email: 'sara@acme.com' }], subject: 'Welcome', htmlContent: '<p>Hi Sara</p>' } }; with a template: templateId: 3, params: { name: 'Sara' }.
  • GET|POST /contacts — Example: { method: 'POST', path: '/contacts', body: { email: 'sara@acme.com', attributes: { FIRSTNAME: 'Sara' }, listIds: [2], updateEnabled: true } }.
  • GET|PUT /contacts/{email or id} — read or update one contact.
  • GET /contacts/lists — lists and their ids.
  • GET /emailCampaigns — Example: { method: 'GET', path: '/emailCampaigns', query: { status: 'sent', limit: '20' } }.

Only add people who agreed to hear from you. Deleting is not allowed.

More from Brevo: https://developers.brevo.com/reference

Last updated .

Was this page helpful?