Send emails from your Base44 app with Brevo

Send transactional email from a Base44 app through Brevo, using a backend function and a stored API key.
View as Markdown

Overview

Base44 has a built-in SendEmail integration and an official Resend integration for external, higher-volume sending. It doesn’t have a dedicated Brevo entry in its integrations catalog. For any provider without a catalog entry, Base44’s documented path is to call the provider’s HTTP API directly from a backend function, storing the API key as a secret. This guide applies that pattern to Brevo.

Prerequisites

  • A Base44 app on the Builder plan or above (backend functions and external API calls require this). On Free or Starter, Secrets and backend functions don’t appear in the app editor’s sidebar at all, so if you can’t find them, check your plan first.
  • A Brevo account and a verified sender

Send email from your Base44 app

1

Create a Brevo API key

  1. In Brevo, click Settings (gear icon) in the left sidebar, then open SMTP & API > API keys & MCP (direct link: app.brevo.com/settings/keys/api).
  2. Click + Generate API key, name it (e.g. Base44 app), and copy it.
2

Store the key as a secret

  1. In your Base44 app’s editor, click Dashboard.
  2. Click Secrets, then Add Secret.
  3. Name it BREVO_API_KEY and paste your API key as the value. (You can also paste the key directly into the AI chat when it asks for one, and Base44 stores it as a Secret for you.)
3

Add a backend function that calls the Brevo API

Ask the Base44 AI chat to create a backend function, for example:

Create a backend function that sends an email through the Brevo transactional email API (https://api.brevo.com/v3/smtp/email), using the BREVO_API_KEY secret in the api-key header, when a new order is created.

The function body calls Brevo directly:

const response = await fetch("https://api.brevo.com/v3/smtp/email", {
method: "POST",
headers: {
"api-key": BREVO_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
sender: { name: "Your App", email: "no-reply@yourdomain.com" },
to: [{ email: recipientEmail }],
subject: "Welcome!",
htmlContent: "<p>Thanks for signing up.</p>",
}),
});
4

Trigger it with an automation (optional)

To send on a schedule or when data changes, wire the function to a data event automation (e.g. on record creation) or a scheduled automation, from the Automations section of your app dashboard.

5

Test it

Trigger the event and confirm the message arrives, then check the send in Brevo > Transactional > Email logs. Failed sends also show up in your Base44 app logs.

Troubleshooting

  • Function can’t find the secret: confirm the secret name matches exactly what the function references, and that it was saved before the function last ran.
  • Emails not delivered: confirm the sender address is verified in Brevo; unverified senders are rejected.
  • Feature unavailable / can’t find Secrets or Code in the sidebar: backend functions and external API calls require the Builder plan or above — on Free/Starter, these items are missing from the editor’s sidebar entirely rather than showing an error.