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

  1. 1
    Open Schedules

    In the sidebar, click Schedules, then New Schedule.

  2. 2
    Set timezone

    Choose the timezone for this schedule (usually your primary work location).

  3. 3
    Add 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)
  4. 4
    Add 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)
  5. 5
    Add overrides

    Use overrides to cover vacations or swaps:

    1. Click Add Override.
    2. Set the date/time range.
    3. Select the engineer covering the shift.

    Overrides take precedence over the rotation layers for their time window.

  6. 6
    Enable and save

    Toggle the schedule Enabled and click Save.

Rotation types

TypeDescription
WeeklyEach engineer covers one full week, then rotates
DailyEngineers rotate every day
CustomSet any shift length (4 hours, 12 hours, etc.)

Using schedules in workflows

In any Notify node, set Recipients to On-call engineer:

  1. In the Workflow Builder, add a Notify node.
  2. Set RecipientsOn-call (from schedule).
  3. Select the schedule.
  4. 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:

  1. Open the schedule in the dashboard.
  2. Copy the iCal URL.
  3. 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:

  1. Logs the notification as no on-call engineer found
  2. 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.