Brevo (formerly Sendinblue) is an email marketing, CRM, and automation platform. Integrating Brevo with Frontegg lets your application manage contacts and lists, create and send campaigns, and work with templates, senders, and webhooks on behalf of your users — all through Frontegg's integration layer using Brevo's OAuth 2.0 authorization.
Brevo OAuth 2.0 applications are created with the Brevo CLI, not a web dashboard. The CLI generates your Client ID and Client Secret and registers the redirect URL that Brevo returns users to after they authorize access.
Install the CLI using your preferred package manager:
npm install -g @getbrevo/cli
# or: yarn global add @getbrevo/cli
# or: brew install getbrevo/tap/brevoAuthenticate the CLI with your Brevo account. This opens a browser sign-in and saves your credentials to ~/.brevo/credentials.json.
brevo loginRun the guided setup and follow the prompts:
brevo app initWhen prompted, provide:
- App name — A descriptive name, for example
Frontegg Integration. - Distribution type — Choose public if the app will connect multiple Brevo accounts through Frontegg.
- OAuth callback URL — Enter your Frontegg Redirect URL:
https://YOUR_MCP_GATEWAY_URL/integration-callback
New apps are seeded with contacts:read, contacts:write, crm:read, and crm:write. Add the remaining scopes this integration uses — email campaigns, transactional email templates, account senders, and webhooks:
brevo app update \
--scope campaigns.email:read --scope campaigns.email:write \
--scope transactional.email:read \
--scope account:read --scope account:write \
--scope webhooks:read --scope webhooks:writeRun brevo app available-scopes to see every scope you can grant.
The CLI writes your client_id and client_secret to src/oauth/.env.local. Open that file and copy both values.
Keep your Client Secret safe
Keep your Client Secret safe
The .env.local file is gitignored for a reason — never commit it. Store the Client Secret on the server side only and never expose it in client-side code.
Once you have your Client ID and Client Secret, configure the integration in the Frontegg portal:
- Open the Frontegg portal and navigate to [ENVIRONMENT] → Integrations → Brevo.
- Enter the Client ID and Client Secret.
- Select the required scopes:
| Scope | Description |
|---|---|
contacts:read | Read contacts and lists |
contacts:write | Create, update, and delete contacts and lists |
campaigns.email:read | Read email campaigns |
campaigns.email:write | Create, update, and send email campaigns |
transactional.email:read | Read email templates |
account:read | Read account senders |
account:write | Create and manage account senders |
webhooks:read | Read webhooks |
webhooks:write | Create and delete webhooks |
- Click Save.
When a user connects their Brevo account, Brevo shows a consent screen listing these permissions before granting access.
Keep your credentials secure
Keep your credentials secure
Never share or commit your Client Secret to version control.