OdooWiki OCA HUB

Dynamic Mass Mailing Lists

mass_mailing_list_dynamic folder_open OCA/mass-mailing open_in_new
Marketing License: AGPL-3

Without this addon you have to choose between providing a dynamic domain and letting your mass mailings reach all partners that match it.

This addon allows you to create dynamic mailing lists, so you can now benefit from both things.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Create dynamic mailing lists that automatically add (and optionally remove) contacts based on partner criteria, and sync them when you launch a mailing.

This module turns a mailing list into a dynamic list that fills itself from partners matching criteria you define.

On the mailing list form you get a "Dynamic list" section with a Dynamic checkbox, a synchronization method (only add new records, or add and remove records as needed), and a Synchronization criteria field where you build a partner filter. A "Load filter" button opens a small wizard that lets you pick one of your saved partner filters and copy its criteria into the list.

When a list is dynamic, a "Sync now" button appears; it shows a warning icon when there are unsynced changes. The contact count shows "???" until you sync. Syncing searches partners matching the criteria, adds them as contacts, and, in full mode, removes contacts whose partner no longer matches. Contacts left without any list are deleted.

Launching a mass mailing automatically syncs its dynamic lists first. In fully synchronized lists, manual edits to contacts are blocked with an error, and you are told to change the sync method or run a manual sync instead. The module also allows partner writes and merges to keep dynamic lists consistent.

Models and fields (5)
  • res.partner · extends an existing model
  • mailing.list · extends an existing modeldynamic, is_synced, sync_domain (Synchronization criteria), sync_method
  • mailing.contact · extends an existing model
  • mailing.mailing · extends an existing model
  • mailing.load.filter · new modelfilter_id (Filter to load)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/mass-mailing.

terminal Installation and usage

OCA documentation · Odoo 19.0

To create a dynamic mailing list, you need to:

  • Go to Email Marketing \> Configuration \> Settings
  • Check Mass Mailing Campaigns.
  • Go to Email Marketing \> Mailing List \> Mailing List
  • Check the Dynamic box.
  • Choose a Sync method:
  • Leave empty to use as a manual mailing list, the normal behavior.
  • Only add new records to make sure no records disappear from the list when partners stop matching the Synchronization critera.
  • Add and remove records as needed to make the list be fully synchronized with the Synchronization critera, even if that means removing contacts from it.
  • Define a Synchronization criteria that will be used to match the partners that should go into the list as contacts. Only partners with emails will be selected.

You can also load an existing filter over contacts:

  • Click on "Load filter" button below criteria.
  • Select one of the existing filters.
  • Click on "Load filter" and you will have that filter as criteria.

To use this module, you need to:

  • Go to Email Marketing \> Mailings, and create one.
  • Select as recipients a mailing list.
  • On "Select mailing lists:", choose one mailing list with dynamic flag checked.
  • Before sending the mass mailing, the list will be synced for having latest changes.

When you hit the Sync now button or send a mass mailing to this list, its contacts will be automatically updated.

Pay attention to the messages shown to you that tell you about some non-obvious behaviour you could experience if you edit manually contacts from a dynamic list.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.