28-May-2026 — Brevo overflow auto-release plus scheduled tasks, Salesforce member sync and Brevo API... #127

build 658commit 6296d44


What's New

Related issue: #127 - Brevo campaign daily allowance overflow

What began as the Brevo daily-allowance overflow work (#127) has grown into a broader mail and membership release. It lets administrators send large mailings without hitting the daily email limit, manage every recurring background job from one page, and import members straight from Salesforce. It also handles members who share a name, keeps the email composer's guidance clear, and stays dependable when our email provider is busy.

At a glance

Sending a mailing that is bigger than today's allowance

  1. Write the mailing in Admin > Email Composer (/admin/email-composer).
  2. Before sending, you will see how much of today's email allowance is left.
  3. If your audience is larger than what is left for today, confirm the warning and send as normal.
  4. The part that fits is sent today, and the rest is held safely and sent automatically over the following days as more allowance becomes available.
  5. In Admin > Mail Settings > Mail API Settings (/admin/mail-settings?tab=mail-api-settings), you can also see today's usage and how much is left.

Keeping an eye on queued mailings

Open Admin > Mail Settings > Campaign Queue (/admin/mail-settings?tab=campaign-queue) to see each mailing's progress, how many recipients are still waiting, and recently finished mailings.

If your Brevo plan does not allow campaign tagging, mailings still send normally - those campaigns simply will not appear in this queue.

Managing scheduled background jobs in one place

Open Admin > System Settings > Scheduled Tasks (/admin/system-settings?tab=scheduled-tasks) to manage every recurring job from one page, including:

For each job you can see whether it is on or paused, when it next runs, a plain-English description of its schedule, and a history of recent runs with how long each took. You can pause and resume a job, change its schedule using simple dropdowns instead of cryptic codes, and run a job immediately when needed. Pausing the release job simply holds the waiting recipients until you turn it back on or cancel the rest.

More reliable when our email provider is busy

When Brevo asks us to slow down at busy times, NGX now waits a moment and tries again by itself, rather than failing partway through. This makes large mailings, contact clean-ups and member deletions more dependable. Every request NGX makes to Brevo now shares a single rate limit and retries this way, so individual screens such as a member's Brevo activity recover quietly instead of showing a "too many requests" error.

Tidier System Settings

Backgrounds, icons, logos and image defaults now live together under a single Media tab in Admin > System Settings, keeping the main settings menu short and easy to scan.

Importing members straight from Salesforce

Member Bulk Load has a new Sync from Salesforce tab as an alternative to uploading the Insight Hub spreadsheet. Pick a quick refresh to pull in recent changes, or a full sync to reload everyone. The tab shows when the last sync ran, lists what happened during it, and reports any problems the same way the spreadsheet upload does. Both routes can be used alongside each other. When a sync finishes you now see a single clear confirmation rather than two overlapping messages.

People who share the same name

Two different people can genuinely have the same name. Imports now keep them as separate members instead of merging them into one person or refusing to add the second. When someone new shares a name with an existing member, NGX adds a small marker so they can be told apart (shown as, for example, "Wendy Williams (2)"), which you can change later if you prefer.

Smoother member bulk delete

Deleting several members at once now shows a progress message while it works and finishes cleanly, so it no longer looks stuck when you remove a large number of members. Each deletion is also recorded in the server logs, so a large clean-up can be followed as it runs.

Opening an email notification from a link

The email composer can now be opened straight from a link to send a notification, for example from an admin page or a saved shortcut, with the template, mailing list and recipient type set in the link itself. The composer opens ready to review and send, rather than showing a "page not found".

How to try it out

  1. In Mail API Settings, check that today's email usage and remaining allowance are shown.
  2. Prepare a test mailing larger than the remaining allowance and confirm the over-limit warning appears in the composer.
  3. Confirm the mailing then appears in the Campaign Queue with its remaining recipients.
  4. On the Scheduled Tasks page, switch between jobs, pause and resume one, and confirm its status updates.
  5. Change a job's schedule with the dropdowns and confirm the plain-English schedule updates; open its history and confirm recent runs show how long they took.
  6. On a test mailing, try Release Now and Cancel before relying on automatic release for real mailings.
  7. On Member Bulk Load, run a Salesforce sync and confirm the results and any messages appear on the tab.

In short

Administrators can send a large mailing even when today's email allowance is too small for everyone, and NGX sends the rest automatically over the following days. All recurring background jobs are managed from one page with friendly schedules and pause, resume and run-now controls. Members can be imported straight from Salesforce, people with the same name are handled gracefully, and large mailings and updates are more reliable when the email provider is busy.