How to use Bulk email — staff working this week
Run a weekly bulk send to active workers.
- Open HR / Compliance → Bulk email — staff working this week. Lives in the CRM sidebar (no Admin Portal hop required).
- Window defaults to this Mon → Sun. Adjust the dates if you need a different period. The audience count updates live as you change the dates.

Bulk-send page — audience count for the window email-bulk-this-week_audience.png - Pick a template from the dropdown. Only email-channel templates that apply to placements (entity_type=placement OR null) appear.
- Hit Send to audience. The confirmation modal shows the recipient count again — last chance to bail.

Send-to-audience confirmation modal email-bulk-this-week_confirm.png - The batch runs in chunks of 100. Per-recipient context is built fresh (their placement, person, tenant) and the template renders against it. Each recipient gets their own personalised email.
- Result notification shows "Sent N; failed M". Failed sends are logged to laravel.log with the error — usually a bad email address on the Person record.
- Workers without an email address on their Person record are silently skipped. The audience counter excludes them upfront. Fix the Person record and re-run for those individuals.
- For audiences past about 500, split the batch by date or run as multiple windows. A queued-job follow-up is planned but not in v1.

email-bulk-this-week_2.png