On-Call Schedules
Build rotation schedules so the right engineer is always on-call, and use them in workflow escalations.
What is a schedule?
An on-call schedule defines a rotation of team members using layers, time windows, and overrides. At any given moment, AlertFlow can determine who is on-call and route notifications directly to them.
This means your workflows can say "notify the current on-call engineer" instead of hardcoding a specific person.
Creating a schedule
- 1Open Schedules
In the sidebar, click Schedules, then New Schedule.
- 2Set timezone
Choose the timezone for this schedule (usually your primary work location).
- 3Add a rotation layer
Click Add Layer and configure:
- Name: e.g., "Primary On-call"
- Rotation type: Weekly, Daily, or Custom
- Rotation starts: the date/time the first rotation begins
- Engineers: add team members in rotation order
- Handoff time: when the shift changes (e.g., 09:00 Monday)
- 4Add additional layers (optional)
Layers stack. If the primary layer has no one on-call (e.g., a gap or vacation), AlertFlow falls through to the next layer. This is useful for backup coverage.
Common pattern:
- Layer 1: Primary weekly rotation (front-line engineers)
- Layer 2: Secondary rotation (senior engineers / managers)
- 5Add overrides
Use overrides to cover vacations or swaps:
- Click Add Override.
- Set the date/time range.
- Select the engineer covering the shift.
Overrides take precedence over the rotation layers for their time window.
- 6Enable and save
Toggle the schedule Enabled and click Save.
Rotation types
| Type | Description |
|---|---|
| Weekly | Each engineer covers one full week, then rotates |
| Daily | Engineers rotate every day |
| Custom | Set any shift length (4 hours, 12 hours, etc.) |
Using schedules in workflows
In any Notify node, set Recipients to On-call engineer:
- In the Workflow Builder, add a Notify node.
- Set Recipients → On-call (from schedule).
- Select the schedule.
- Select the layer (Primary, Secondary, or Auto — falls through layers until someone is found).
AlertFlow resolves the current on-call engineer at the time the workflow executes — not when it was configured. If the on-call engineer changes mid-incident, subsequent workflow steps will notify the new person.
Viewing the current on-call engineer
The Overview page shows who is currently on-call with a countdown to the next handoff.
You can also query it via the API:
GET /api/v1/schedules/current-oncall
Authorization: Bearer af_your_api_key
iCal feed
Every schedule has an iCal URL for importing into Google Calendar, Outlook, or any calendar app:
- Open the schedule in the dashboard.
- Copy the iCal URL.
- In Google Calendar: Other calendars → + → From URL → paste the URL.
The iCal feed updates automatically when the schedule changes.
Schedule gaps
If no engineer is on-call at a given time (gap in the rotation), AlertFlow:
- Logs the notification as no on-call engineer found
- Continues to the next workflow step (which may target a fallback)
Prevent gaps by ensuring layers overlap or by assigning a permanent fallback engineer in Layer 2.
Best practices for MSPs
- Weekly rotations work well for teams of 4+ — each person is on-call for 7 days and then has 3 weeks off.
- Always have a Layer 2 (manager or senior engineer) as backup. This prevents "notification black holes" when someone forgets to set an override for vacation.
- Use overrides liberally — they're designed for this. You don't need to restructure the rotation for a one-week vacation.
- Test the schedule before it goes live: use the Test button on a workflow to simulate an alert and confirm the right person gets notified.
- Export to Google Calendar so the on-call engineer's personal calendar shows their shifts — reduces "I didn't know I was on-call" incidents.