31-May-2026 — auto-sync the Brevo recipient list before a campaign send ref #19
Lists are reconciled before sending, not blocked
A campaign sends to whoever is on its Brevo recipient list, so a member who had subscribed locally but was not yet on the Brevo list would be missed, and a member who had unsubscribed but was still on the Brevo list would be emailed.
Rather than detect the mismatch and ask the sender to synchronise by hand, the composer now reconciles the list automatically as part of the send.
- Sync runs at send time
sendCampaign() reloads the group members and runs the existing updateMailLists reconciliation immediately before the campaign is created, so the Brevo list matches local subscriptions when Brevo dispatches it.
- Only the differences are applied
- the reconciliation adds newly subscribed members to the list, removes the unsubscribed, updates mismatched contacts, and does nothing when the list is already in sync.
- Campaign path only
- this covers entire-list branded sends, where Brevo pulls recipients from the list itself. Selected-member and unbranded sends use the transactional batch path, which builds its recipients server-side from local members and does not depend on Brevo list membership.