Brevo
What Shuttio reads from Brevo, where it lands in Odoo, which permissions it needs and why, and what does not move.
Last updated: 7 Nov 2026
An API key from SMTP & API, API Keys. Shuttio reads that account only, at api.brevo.com, and never writes to Brevo.
Object by object: What objects are supported for Brevo migrations.
What Shuttio reads and moves
The list below describes the move into Odoo. Where Clarify or Odoo differ, the destination's own article says so.
- Lists: As mailing lists. A list whose name an active list already has in Odoo is used as it is, not changed. Two Brevo lists with the same name in different folders arrive as "Name (Folder)".
- Contacts: As Email Marketing contacts with name, email, company and country, and a subscription to each of their lists. One contact per email, however many lists the person is on. No Odoo contact is created. A contact already in the list with the same email is matched and left unchanged.
- Status: A contact on a list is subscribed. A contact who unsubscribed from a list is subscribed to it as opted out, and stays subscribed to its other lists. A contact on Brevo's blacklist is opted out of every list.
- Blacklist: Off unless you tick it: the emails Brevo has blacklisted are also added to Odoo's blacklist, which stops every mailing to them. A contact who left one list only is never blacklisted. Removing the migration removes the entries it added.
- Attributes: FIRSTNAME and LASTNAME (PRENOM and NOM in French accounts) become the contact's name (Odoo 18 and later keep them apart); a company attribute becomes the company. SMS and your own attributes are offered on the field review as columns to send to an Odoo field; an attribute with no match is left out.
Where each thing lands
| Brevo object | In Odoo |
|---|---|
| Lists | Mailing lists (Odoo Email Marketing) |
| Contacts | Email Marketing contacts (no Odoo contact is created) |
Notes, tasks, meetings, calls, files, owners and lists depend on the destination. This is the row for Brevo, generated from the same tables the runner uses:
Into Odoo
| From | Objects | Notes | Tasks | Meetings | Calls | Emails | Files | Owners | Lists |
|---|---|---|---|---|---|---|---|---|---|
| Brevo | Lists, Contacts | No | No | No | No | No | No | No | No |
Each destination's own article says how its data is written: Odoo.
Permissions and why
| What | Why Shuttio needs it |
|---|---|
| An API key | Brevo has no OAuth for this. Get the key in Brevo under your name, SMTP & API, API Keys, Generate a new API key. Shuttio sends the key only to api.brevo.com, checks it against your account before it saves anything, and never writes to Brevo. |
Use a key of a user who can see the contact lists you are moving. If your account restricts API access to listed IP addresses (Security, Authorized IPs), allow all addresses while the migration runs. Brevo limits requests per account; Shuttio reads one request at a time and pauses the run if Brevo asks it to slow down, until you resume it. The key is stored encrypted and deleted 14 days after the migration finishes. You can delete it at any time in Brevo. Brevo moves with your Odoo API key and needs Odoo's Email Marketing app.
Known limits
- Campaigns and their statistics: They are not records in Email Marketing; Odoo keeps its own mailings and statistics.
- Automations, templates, transactional email and SMS: Odoo has no matching object to hold them.
- Folders and tags: A Brevo folder only groups lists and a contact has no tags, so nothing is tagged. A folder name is added to a list's name only when two lists share one.
- Contacts on no list, and contacts with no email: A mailing contact needs a list to belong to and an email to send to. A contact with only a phone number is refused with its reason in the Errors tab.
- Companies, deals and tasks of the Brevo CRM: They are a CRM, not Email Marketing. A Brevo CRM source is a later one.
- A person on two lists: Becomes one Email Marketing contact with a subscription to each list, opted out in the lists where Brevo says so.
- Odoo without the Email Marketing app: The run stops with a sentence before anything is written; install Email Marketing, then start again.
- The Odoo app and the import package: They do not write Email Marketing records yet; Brevo moves with your Odoo API key.
- Rate limits: Brevo limits how many requests an account makes. Shuttio reads one request at a time with a short pause, waits as Brevo asks, and pauses the run if Brevo still pushes back; Resume carries on.
- Emails: Shuttio reads no campaigns or sent emails from Brevo, only lists and their contacts.
Not answered here? Email help@shuttio.com.