Brevo.Umbraco 1.1.0

dotnet add package Brevo.Umbraco --version 1.1.0
                    
NuGet\Install-Package Brevo.Umbraco -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Brevo.Umbraco" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Brevo.Umbraco" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Brevo.Umbraco" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Brevo.Umbraco --version 1.1.0
                    
#r "nuget: Brevo.Umbraco, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Brevo.Umbraco@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Brevo.Umbraco&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Brevo.Umbraco&version=1.1.0
                    
Install as a Cake Tool

Brevo for Umbraco Forms

An Umbraco Forms workflow that creates or updates Brevo (formerly Sendinblue) contacts on form submission.

Supports: field attribute mapping · list assignment · multi-value fields · structured logging


Requirements

  • Umbraco 17+
  • Umbraco Forms 17+
  • .NET 10

Installation

dotnet add package Brevo.Umbraco

No Program.cs changes needed — the package auto-registers via Umbraco's composer system when .AddComposers() is present (which is the default in all Umbraco projects).


Configuration

Add your Brevo API key to appsettings.json:

{
  "Brevo": {
    "ApiKey": "xkeysib-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  }
}

Use environment-specific overrides (appsettings.Production.json) or an environment variable to keep the key out of source control:

Brevo__ApiKey=xkeysib-...

Workflow Setup

  1. Open the Umbraco back-office and navigate to Forms
  2. Edit a form and go to the Workflows tab
  3. Click Add workflow → select Send to Brevo
  4. Configure the three settings:
Setting Description
Email Field Alias The alias of the form field that holds the email address. Example: email
Field Mappings One mapping per line (see below)
List IDs Comma-separated Brevo list IDs to subscribe the contact to (optional)

Field Mapping

Map Brevo contact attributes to form field values using the format:

BREVO_ATTRIBUTE:formFieldAlias

Each line is one mapping. Lines that cannot be parsed are skipped with a log warning.

Example:

FIRSTNAME:firstName
LASTNAME:lastName
PHONE:mobileNumber
COMPANY:companyName
  • BREVO_ATTRIBUTE — the Brevo contact attribute name (case-sensitive, as configured in your Brevo account)
  • formFieldAlias — the alias of the Umbraco Forms field

Multi-value fields (checkboxes, multi-select) are joined as a comma-separated string.


List IDs

To add the contact to one or more Brevo lists, enter the numeric list IDs in the List IDs setting:

3
3, 7, 12

List IDs are found in your Brevo account under Contacts → Lists. The workflow uses Brevo's create-or-update endpoint, so existing contacts will have their list membership updated.


Logging

The workflow logs at these levels:

Level Event
Trace Before each API call (email, attribute count, list count)
Information Successful contact creation / update
Warning Missing email field · invalid mapping line · invalid list ID
Error API rejection with status code and Brevo error body

Workflow log entries (warning and error) include the form record ID for traceability. Service-level logs (trace and information) include email, attribute count, and list count.


Versioning

This package follows Semantic Versioning:

Change Version bump
Bug fixes, logging improvements Patch (1.0.x)
New settings, new optional behaviour Minor (1.x.0)
Breaking config or API changes Major (x.0.0)

Umbraco version compatibility is tracked per minor release.


Common Issues

Contact not added to a list Check that List IDs is set in the workflow and that the IDs are numeric and match lists in your Brevo account under Contacts → Lists. Non-numeric values are silently skipped with a log warning.

No contact created after form submission Check that Email Field Alias exactly matches the alias of your email field (visible in the Forms editor under Fields → [field] → Alias). A mismatch produces a Warning log entry with the configured alias and record ID.

Attributes not appearing on the Brevo contact Check that each FieldMapping line follows the format BREVO_ATTRIBUTE:formFieldAlias exactly. The Brevo attribute name is case-sensitive and must match what is configured in Brevo → Contacts → Settings → Contact attributes. Invalid lines produce a Warning log entry showing the offending line.

API returning 400 Check the Umbraco logs for an Error entry — it includes the full Brevo error body (e.g. invalid email format, unknown attribute name, list not found). Resolve the issue indicated there.


License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 172 4/21/2026
1.0.7 112 4/20/2026
1.0.6 124 4/19/2026

1.1.0 — Multi-target support for Umbraco 14–17 (net8.0, net9.0, net10.0).
     1.0.7 — Updated package owner name to Jebastin Jeyaraj.
     1.0.6 — Removed author attribution from README license section.
     1.0.5 — Added umbraco-marketplace.json, fixed repository URLs, added NeutralLanguage and Owners metadata.
     1.0.4 — Added startup guard for missing API key; icon changed to icon-paper-plane.
     1.0.3 — Removed unsupported View from FieldMapping setting.
     1.0.2 — Fixed FieldMapping View alias for Umbraco 17 backoffice.
     1.0.1 — Fixed workflow discovery: composer now registers IBrevoService before workflow collection.
     1.0.0 — Initial release.