Weekly supervisor digest
Better Comply automatically sends a weekly HTML email to each supervisor summarising their team's training status. There is nothing to configure in the application - the digest runs on a scheduled cron job triggered by your operator.
Team leads receive the digest. Administrators can view the delivery ledger to confirm sends. Configuring the schedule is an operator task covered under Operations: email setup.
What the digest contains
Each supervisor receives one email per week. The email shows:
- A headline count of overdue assignments, due-soon assignments, and trainings passed in the last seven days.
- A table with one row per direct report, showing their name, overdue count, due-soon count, and recently-passed count.
- A link back to Better Comply when the deployment's base URL is configured.
- An "all clear" message in place of the table when the entire team is on track with nothing overdue or due soon.
The digest language matches the most common training language among the supervisor's team assignments. The copy is produced in Spanish, English, Portuguese, and German.
Overdue and due soon definitions
The digest uses the same overdue rule as the rest of Better Comply:
- Overdue: the assignment is not completed AND the current date is past the due date plus the training's grace period (boundary exclusive).
- Due soon: the assignment is not completed, not yet overdue, and due within the next 14 days.
- Passed recently: the assignment was completed in the previous seven days.
These match the figures shown in the in-app Reports page and in the learner's own My trainings view, so numbers are consistent across all surfaces.
Per-supervisor scoping
Each digest covers only the supervisor's own direct reports. A team lead receives data only for people where that supervisor is recorded as their manager (manager_id) or line lead (line_lead_id). If a person has both a manager and a line lead, that person's data appears in both supervisors' digests.
Supervisors with no team members whose data is actionable that week (no overdue, due soon, or recently passed) receive no digest - the send is skipped and logged.
Skipped recipients
A digest is skipped without error in two situations:
| Reason | Logged as |
|---|---|
| The supervisor has no email address (shop-floor / emailless account) | skipped_no_email |
| The supervisor's entire team has nothing overdue, due soon, or recently passed | skipped_no_data |
Skips are recorded in the delivery ledger the same as successful sends.
Delivery ledger
Every send attempt - sent, skipped, or failed - is written to an append-only report_deliveries table. This ledger is the durable audit artefact for digest activity.
Each ledger row captures:
- Supervisor ID and recipient email address
- Digest type and language
- Team size and overdue/due-soon/passed counts
- Outcome status (
sent,skipped_no_email,skipped_no_data,failed) - Email provider and provider message ID (when available)
- Error message (when the send failed)
Delivery records cannot be deleted. This is intentional: the ledger provides traceability for when notifications were sent and to whom.
Send behaviour and failure handling
The digest scan reads the report data in a single query (this step fails loud - an error here stops the scan entirely). Each supervisor's email is sent and recorded independently. If one recipient's send fails - for example, because of a temporary email provider error - that failure is logged and the scan continues to the next supervisor. One bad recipient never prevents the rest of the team from receiving their digest.
The send_supervisor_report action is logged as a best-effort operational event, similar to login. The report_deliveries ledger row is the durable record. This is different from regulated training actions (like approving a document or signing evidence), which are always fail-loud.
Checking delivery status
Administrators can query the report_deliveries table via the Audit log or directly in the database. Contact your operator if you need to verify whether a specific supervisor received their digest - see Operations: email setup.
Scheduling the digest
The weekly cron schedule is an operator configuration. The scan is triggered by a call to POST /v1/supervisor-report-scan with the x-internal-secret header. See Operations: email setup for setup instructions.
Related pages
- Reports overview - Role access and visibility
- Evaluation dashboards - Same data in the in-app UI
- Email settings - Configure email templates and sender
- Operations: email setup - Operator setup for email provider and cron schedule
- Scheduling settings - Due-date offsets and grace periods