> ## Documentation Index
> Fetch the complete documentation index at: https://zite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrate with Brevo

> Send transactional email and SMS, and manage contacts from your Zite app with your own Brevo API key.

## How it works

Connect your Zite app to [Brevo](https://www.brevo.com) to send transactional email and SMS, run email and SMS campaigns, and manage contacts. You connect with **your own Brevo API key**. Zite does not provide a shared or platform-managed Brevo key, and there is no OAuth sign-in.

Once connected, Zite shows **Brevo Connected**. Your app can then send email and SMS through Brevo. App visitors don't need their own Brevo accounts—your app uses the key you paste.

By connecting Brevo, you can:

* Send transactional email
* Send transactional SMS
* Send email campaigns
* Send SMS campaigns
* Create or update contacts, including adding them to lists
* Read senders and lists (including unique subscriber counts)

<Note>
  Brevo requires your own API key from [Brevo API keys](https://app.brevo.com/settings/keys/api). Keys start with `xkeysib-`. Usage is billed through your Brevo account.
</Note>

## How to integrate Brevo into your app

<Steps>
  <Step title="Get your Brevo API key">
    If you don't have a Brevo account yet, sign up at [brevo.com](https://www.brevo.com). Then, create an API key from [Brevo's API keys page](https://app.brevo.com/settings/keys/api).

    <Note>
      Brevo API keys start with `xkeysib-`. Keep your key secure and never share it publicly. Zite stores it as a secret for your app.
    </Note>
  </Step>

  <Step title="Connect to Brevo">
    In the chat box, ask Zite to connect your app to Brevo, or click the `plus icon` **+** to open Integrations and choose Brevo. Then, paste your Brevo API key when prompted.

    Zite authenticates to Brevo with the `api-key` header (not a Bearer token). You don't install a Brevo npm SDK—paste the key, and Zite calls Brevo's HTTP API.
  </Step>

  <Step title="Enter your use case">
    Tell Zite how you want to use Brevo in your app. Be specific about transactional messages, campaigns, or contacts. For example:

    ```text theme={null}
    When a user books an appointment, send them a confirmation email through Brevo.
    ```

    Or for SMS:

    ```text theme={null}
    When a form is submitted, add or update that person as a contact on our Brevo list, then send them a confirmation SMS.
    ```

    Or for a campaign:

    ```text theme={null}
    Let the team send an email campaign to a Brevo list from this app.
    ```
  </Step>

  <Step title="Test and publish">
    Use your app to test the Brevo integration. Send a transactional email or SMS to an address or number you control. If your app creates or updates contacts, confirm the contact shows up on the right list.

    <Tip>
      Email campaigns need an **authenticated domain** in Brevo, not only a verified sender. Unlike [Resend](/help/integrations/resend), Brevo has no shared sandbox sending domain in Zite—use senders and domains from your own Brevo account.
    </Tip>

    Click `Publish` in the upper right corner to make your app live with the Brevo integration.
  </Step>
</Steps>

## Common use cases

With a Brevo connection, you can create apps like:

* **Booking Confirmations:** Send a transactional email when someone books or submits a form
* **Order and Status Updates:** Email or text customers about order, appointment, or account changes
* **List Signups:** Add or update contacts on a Brevo list when users opt in
* **Email Campaigns:** Send an email campaign to a Brevo list from your app (requires an authenticated domain)
* **SMS Alerts:** Send one-to-one transactional SMS, or an SMS campaign to a list
* **Internal Messaging Tools:** Let a team send transactional email and SMS from a Zite app using the connected Brevo account

## Important notes

* **Your own API key:** You paste a Brevo API key that starts with `xkeysib-`. Zite does not provide a platform-managed or shared Brevo key.
* **`api-key` header, not Bearer:** Zite sends your key in the `api-key` header. Do not use a Bearer token.
* **No npm SDK:** You don't install a Brevo package in Zite. The app calls Brevo's HTTP API with your key.
* **Transactional email and SMS:** Use transactional email for one-to-one messages such as confirmations. For one-to-one SMS, send transactional SMS rather than an SMS campaign.
* **Campaigns need an authenticated domain:** A verified sender is not enough for email campaigns. Authenticate the sending domain in Brevo first. A strict DMARC policy can block campaign creation when the sending domain is not authenticated. Resolve the domain setup in Brevo rather than retrying with another address on the same domain.
* **SMS sender setup:** Configure an approved SMS sender in Brevo for your destination countries. Zite's integration guidance calls for a sender ID of 3–11 letters and digits, or 12–15 digits, without spaces or special characters. A correctly formatted sender ID may still need registration and approval in Brevo.
* **No shared sandbox domain:** Unlike Resend, Zite does not give you a shared Brevo sending domain for testing. Use senders and domains from your own Brevo account.
* **Create or update contacts:** When adding contacts, Zite can update an existing email instead of rejecting it as a duplicate.
* **List IDs are numbers:** Use the numeric list ID, not the list name, when adding contacts to a list.
* **Unique subscribers:** Use the list's `uniqueSubscribers` field for contact counts. Zite's integration guidance warns that the deprecated `totalSubscribers` field returns zero, even for populated lists.

## Need help?

If you run into issues with Brevo:

* Check your API key is correct, starts with `xkeysib-`, and is still active in [Brevo API keys](https://app.brevo.com/settings/keys/api)
* For email campaigns, confirm the sending domain is authenticated in Brevo (not only that a sender is verified)
* If a campaign fails with a DMARC error, authenticate the sending domain in Brevo before retrying
* If SMS fails, check the sender ID's format and its approval status for the destination country in Brevo
* Confirm you are sending transactional SMS for one-to-one texts, and using a numeric list ID for contact updates

<Info>
  For Zite-specific support, contact us at [support@zite.com](mailto:support@zite.com).
</Info>
