Notifications
Notifications
Notifications tell you when something needs your attention or has changed — a leave request to approve, an expense that was paid, a certification about to expire. Every notification is delivered in-app, and where applicable also by email, mobile push, and (on Pro and up) Slack or Teams.
Notification types
| Area | Triggers |
|---|---|
| Leave | Submitted, approved, rejected, cancelled, reminder, approval-required, balance-low, carry-over expiring |
| Documents | Uploaded, signed, expires-soon |
| Time | Entry approved, entry rejected, approval-required |
| Expenses | Submitted, approved, rejected, paid, approval-required, payment-reminder |
| Certifications | Added, expiring, expired |
| Visas | Expiring, expired |
| Training | Assigned, reminder, overdue |
| 1:1s | Scheduled, cancelled, reminder |
| Reviews | Review cycle reminder |
| Onboarding | Started, task assigned / due / reminder / completed, onboarding completed |
| People | Employee-note-added, probation review due, birthday greeting (to the person, on their birthday) |
| Other | Domain expiring / expired, system announcements, policy updates |
In-app notifications
The notification bell shows an unread count. From the notifications view you can:
- Mark as read an individual notification
- Mark all read
- Delete a single notification
- Clear all
Email digests and preferences
Open Settings → Notifications to control what reaches your inbox.
| Preference | What it does |
|---|---|
| Product updates | Toggle marketing/product-update emails |
| Daily digest | A once-a-day summary; you choose the hour of day it's sent |
| Weekly digest | A weekly summary; you choose the hour and the day of week |
| Public holidays in digest | Whether public holidays appear in your digest |
| Digest scope | Whose activity the digest covers — self / department / managed / organization |
| Document upload email | Toggle emails when documents are uploaded |
| Document expiry email | Toggle emails when documents are about to expire |
| Birthday greeting | A short greeting on your birthday, in the app and as a push on your phone. On by default |
Digests are sent by a scheduled job, so they arrive at the configured hour rather than instantly.
Birthday greeting
On their birthday, each person receives a short greeting from the organization — in the app and, when they use the mobile app, as a push notification. It is sent once their own local time reaches 9:00, using the timezone on their profile, or the organization's timezone when they have not set one, so everyone is greeted on their own morning. It is sent once a year and never repeated, a 29 February birthday is greeted on 28 February in other years, and nothing is sent to anyone without a date of birth on their profile.
The greeting is signed by BookYourPTO, or by your organization's own name when white-label branding is on. Anyone can turn it off under Settings → Notifications → Birthday greeting.
Channels: Slack, Teams, and push
| Channel | Level | Notes |
|---|---|---|
| Slack (org) | Organization webhook | Per-type allowlist controls which notification types post |
| Teams (org) | Organization webhook | Per-type allowlist controls which notification types post |
| Slack (personal) | Per-user webhook | Your own Slack destination |
| Teams (personal) | Per-user webhook | Your own Teams destination |
| Mobile push | Per-user device | Delivered to the mobile app |
Roles
Notifications are scoped to what each role is responsible for — for example, only approvers receive approval-required notifications, and balance-low goes to the affected employee. There is no separate role gate for receiving your own notifications; channel availability is governed by your plan (Slack/Teams need Pro+) and your verified-email status.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No Slack/Teams messages | Plan doesn't include notification-channels, or no webhook configured | Upgrade to Pro+; add an org or personal webhook |
| Personal channel never fires | Email is unverified | Verify your email address |
| Digest never arrives | Digest not enabled, or wrong hour set | Enable the daily/weekly digest and check the configured hour/day |
| Digest shows less than expected | Scope is capped by org policy or the department-only privacy setting | This is an org-level restriction; an admin controls the max scope |
| Specific type missing from Slack/Teams | That type isn't on the channel's allowlist | An admin adjusts the per-type allowlist for the webhook |
| Public holidays missing from digest | The "public holidays in digest" toggle is off | Enable it in Settings → Notifications |