Time-off reminder
Sends a heads-up notification to each employee on the last working day before an upcoming time-off period begins.
How it works
The reminder job runs daily and looks two weeks ahead for planned absences:
- Finds upcoming absences — every full-day, closed planned period that starts within the next 14 days
- Merges adjacent periods — consecutive absences separated only by the employee’s own non-working days (weekends, holidays, custom rest days) are merged into a single block. This avoids sending two reminders for “vacation Friday, then sick day Monday”
- Picks the right day — the reminder fires only when the employee’s previous working day equals today. An absence starting on a Monday triggers the reminder on Friday; one starting after a long weekend triggers on the last working day before that weekend
- Sends one notification — an in-app notification plus an email, deduplicated so re-running the job on the same day does not produce duplicates
Open-ended periods, partial-day periods, and periods that have already started are not eligible.
When it runs
The job runs automatically and only triggers on workspaces with at least one planned absence in the lookahead window.
Parameters
This job has no parameters. The run date is the day used to evaluate “the last working day before”.
Job results
| Metric | Description |
|---|---|
reminders_sent | Number of new reminder notifications created |
reminders_no_user | Employees without a linked user account (no notification could be sent) |
reminders_duplicates | Reminders that were already sent for the same absence (dedup hit, expected on re-runs) |
reminder_errors | Failures during processing |
What the employee sees
A single notification covering the full merged block, with the relevant time-off account name when all parts share the same account, or a generic “time off” label when the block mixes different account types. The message also includes the number of working days in the absence.
Troubleshooting
| Issue | Solution |
|---|---|
| Employee did not receive a reminder | Confirm the employee has a linked user account and that the absence is closed, full-day, and starts within the next 14 days |
| Reminder fired on the wrong day | The job uses the employee’s own schedule to compute the previous working day. Custom non-working days or partial-day schedules can shift the day. Check the employee’s work-time policy and any individual schedule overrides |
| Two reminders for the same vacation | The merge logic only joins periods separated by non-working days. A gap that includes one working day will produce two reminders. Verify the period boundaries |