PHPackages                             studiomitte/brevo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. studiomitte/brevo

ActiveTypo3-cms-extension[API Development](/categories/api)

studiomitte/brevo
=================

Integration of newsletter SaaS solution brevo.com (formally known as sendinblue) into TYPO3 CMS

2.0.2(1y ago)1211.7k↓50%9[4 PRs](https://github.com/studiomitte/brevo/pulls)GPL-2.0-or-laterPHP

Since Jan 25Pushed 1y ago3 watchersCompare

[ Source](https://github.com/studiomitte/brevo)[ Packagist](https://packagist.org/packages/studiomitte/brevo)[ Docs](https://studiomitte.com)[ RSS](/packages/studiomitte-brevo/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (5)Versions (6)Used By (0)

TYPO3 Extension `brevo` (formally known as sendinblue)
======================================================

[](#typo3-extension-brevo-formally-known-as-sendinblue)

This extension integrates the newsletter SaaS  into TYPO3. Currently this extension supports *only* the form framework of the core but it would be easy to add finishers to powermail.

Installation &amp; Configuration
--------------------------------

[](#installation--configuration)

Currently this extension requires a composer based installation. Use `composer req studiomitte/brevo` to install it.

Head over to the extension configuration and provide all settings you need:

[![Extension Configuration.png](Resources/Public/Screenshot/ExtensionConfiguration.png)](Resources/Public/Screenshot/ExtensionConfiguration.png)

- **Basic**
    - *API-Key*: Add your API key which you can retrieve from .
    - *Partner Key*: currently not in use
    - Default Lists\*: Add IDs of brevo contact lists which are added to every contact
- **DOI**
    - *Enable double optin*: Please always use double opt in!
    - *Page ID for redirect*: Page which a user is sent to after confirming double opt in
    - *DOI Template*: Id of brevo template which is used for DOI mails.
- **Attributes**
    - *Attribute for first name*: Name of attribute used for the first name
    - *Attribute for last name*: Name of attribute used for the last name
    - *Attribute for tracking information*: Name of attribute used for the tracking information

Usage
-----

[](#usage)

A new finisher *Brevo Finisher* intercepts the data of the form and adds the contact.

> **Example configuration** can be found at `EXT:brevo/Resources/Private/Example/brevo-example.form.yaml`.

[![Finisher for EXT:form](Resources/Public/Screenshot/Finisher.png)](Resources/Public/Screenshot/Finisher.png)

As the fields can be different for any form, you need to provide the mapping information for all important fields:

- *Checkbox to enable*: Newsletter subscription must be optional. Therefore provide the checkbox which asks the user if a newsletter should be sent.
- *Field of email address*: Provide the field information which holds the email address
- *Field of First/Last name*: Provide the field information which holds information about the name.
- *Additional list ids*: Either provide the field information or a static comma separated list of contact lists a user should be added to.
- *Additional tracking information*: This string is added to the contact and can be used just as information or by using this in the automation process to process the contact.

Additional hints
----------------

[](#additional-hints)

### Getting started

[](#getting-started)

It is a bit tricky to get everything started. For sending mails the account needs to be validated. This is documented at

In short you need

1. At least **11** contacts. You can create any contact
2. One campaign ready

### (DOI) Double Opt-In Mails

[](#doi-double-opt-in-mails)

Getting started with that is also a bit tricky for the 1st time. This is documented at  but still misses some important things:

1. The DOI template needs to be tagged with `optin`.
2. The button in the DOI template for triggering the confirmation must have as link value `{{ doubleoptin }}`.

### Override global configuration per form

[](#override-global-configuration-per-form)

The following configurations can be used to override the global settings

```
  -
    options:
       doiTemplateId: '14'
       defaultListIds: '12,34'
    identifier: Brevo
```

Author
------

[](#author)

This extension has been created by [StudioMitte](https://studiomitte.com)

[![StudioMitte](Resources/Public/Screenshot/studiomitte_logo.png)](Resources/Public/Screenshot/studiomitte_logo.png)

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 56.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~303 days

Total

5

Last Release

726d ago

Major Versions

1.1.0 → 2.0.02023-09-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/1d08c176686c8914d32c70d4af388887d738930fdfdf07c7ca9c841ad10ed683?d=identicon)[georgringer](/maintainers/georgringer)

---

Top Contributors

[![georgringer](https://avatars.githubusercontent.com/u/1905663?v=4)](https://github.com/georgringer "georgringer (17 commits)")[![h3nn3s](https://avatars.githubusercontent.com/u/342046?v=4)](https://github.com/h3nn3s "h3nn3s (9 commits)")[![bnf](https://avatars.githubusercontent.com/u/473155?v=4)](https://github.com/bnf "bnf (3 commits)")[![80Quattro](https://avatars.githubusercontent.com/u/24212368?v=4)](https://github.com/80Quattro "80Quattro (1 commits)")

---

Tags

sendinbluetypo3typo3-cms-extension

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/studiomitte-brevo/health.svg)

```
[![Health](https://phpackages.com/badges/studiomitte-brevo/health.svg)](https://phpackages.com/packages/studiomitte-brevo)
```

###  Alternatives

[sinso/app-routes

Easy way to route rest-like URLs to your code

23110.0k1](/packages/sinso-app-routes)[hofmannsven/laravel-brevo

Laravel wrapper for Brevo's API v3 PHP library.

3450.2k](/packages/hofmannsven-laravel-brevo)[hn/typo3-mcp-server

TYPO3 extension that provides a Model Context Protocol (MCP) server for interacting with TYPO3 pages and records

708.9k](/packages/hn-typo3-mcp-server)[kitodo/presentation

Base plugins, modules, services and API of the Digital Library Framework. It is part of the community-based Kitodo Digitization Suite.

436.1k5](/packages/kitodo-presentation)[friendsoftypo3/interest

REST and CLI API for adding, updating, and deleting records in TYPO3. Tracks relations so records can be inserted in any order. Uses remote ID mapping so you don't have to keep track of what UID a record has gotten after import. Data is inserted using backend APIs as if a real human did it, so you can can inspect the record history and undo actions.

111.3k1](/packages/friendsoftypo3-interest)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
