On-call scheduling that respects your engineers' time
Time-window rotations, layered escalation chains, and self-service overrides — without paying per user or sending your schedule data to a third party. Self-hosted on Kubernetes, free and open source.
The problem isn't the alert volume
Most teams think their on-call problem is too many alerts. It's not. It's that every alert — regardless of severity, regardless of time — hits the same person the same way. 3am page for a low-priority metric that can wait until morning. Weekend call for an issue that has no customer impact.
The engineers who burn out on on-call aren't burning out because incidents are hard. They're burning out because the policy has no nuance. Everything is equally urgent. There's no difference between "wake someone up now" and "let this wait until business hours."
Wachd gives you the controls to build that policy — time windows, rotation layers, escalation rules — without needing a platform admin for every change.
What the scheduling engine does
Time-window rotations
Each rotation can be restricted to specific hours and days. Business hours only (Mon–Fri 08:00–20:00). Nights only (20:00–08:00). Weekends only. Always on. Configure what makes sense for each rotation — not just who is on call, but when they should be reachable.
Multiple rotation layers
Primary, secondary, database on-call, security on-call — each fires independently. Alerts route to all matching layers simultaneously. You decide which layer is notified first and when escalation kicks in.
Escalation chains
If the primary on-call doesn't acknowledge within N minutes, notify the secondary layer. Still no ack — notify team admins. Configure the timeout per layer. The chain repeats up to a set number of times before stopping.
Self-service overrides
Any responder or admin on the team can create an override — no platform admin required. Set the date range, pick the replacement, optionally add a reason (vacation, sick, swap). Overrides show on the schedule timeline for the next 30 days.
Per-user notification preferences
Each engineer sets how they want to be reached and in what order. Email immediately. SMS at the same time. Voice call after 10 minutes if unacknowledged. What works for one person doesn't work for everyone.
Why self-hosted matters for scheduling
Your on-call schedule contains your engineers' phone numbers, working hours, and availability patterns. Most teams don't think of this as sensitive data until they consider what it reveals: who is reachable when, who is on leave, how your team is structured.
Who it's for
Teams migrating off OpsGenie or PagerDuty
All the scheduling flexibility you had — time windows, rotation layers, escalation chains, overrides — without the SaaS bill or the vendor lock-in.
Teams where on-call is burning people out
If engineers are getting paged at 3am for things that can wait, the problem is policy not tooling. Wachd gives you the controls to fix the policy.
Regulated environments
On-call data stays inside your cluster. No third-party processor. No data residency concerns.
Small teams with no dedicated ops function
Team members configure their own schedules and overrides. No admin bottleneck for every rotation change.
Deploy in under 30 minutes
Single Helm chart. Runs on any Kubernetes cluster. Postgres and Redis included or bring your own. Apache 2.0, no account required.
Questions? sales@wachd.io or join the Discord.