Alerts & Notifications4 min read

    On-Call Schedules

    By Amir— Reliability & Network Engineering
    Share

    What Is an On-Call Schedule?

    A schedule answers one question: who is on call right now? You can then send incidents to the schedule instead of to a fixed person, and they reach whoever holds the shift.

    On-call schedules are available on Business plans. Everyone on the account can view schedules. Teammates need permission to manage on-call schedules to change them.

    Build a Rotation

    Give the schedule a name and a time zone, then add one or more layers. Each layer has:

    • Rotation: daily, weekly, or custom. A custom rotation hands off every 1 to 720 hours.
    • Handoff time and start date: when the first shift begins. Daily and weekly handoffs stay at the same local time in the schedule's time zone, including across daylight saving changes. Custom rotations count real hours.
    • Members: the people in the rotation, in order, up to 50. A member can be the account owner or a teammate.
    • Restrictions (optional): the days and hours this layer applies. A window that ends at or before its start time runs past midnight.

    How Xitoring Decides Who Is On Call

    1. An override wins. If overrides overlap, the newest one applies.
    2. Layers are checked from the top down. The first layer with someone on call at that moment decides.
    3. Otherwise, nobody is on call. A schedule with nobody on call adds nobody to a notification, so check for gaps if the schedule is your only target.

    Restrictions and layers together give you patterns like follow-the-sun: one layer limited to working hours in Europe, another limited to working hours in the US, and a weekly layer below them to catch the rest.

    Overrides

    An override puts one person on call for a set window, ending at most a year ahead. Use it for vacations and one-off swaps. Deleting an override returns the window to the layers.

    Cover Requests

    If you are on call and need someone to take over, request cover for a window of up to 31 days. You have to be on call for the whole window.

    Every other member of the schedule's layers is notified by email and push, and by Slack if they have linked it. The first person to accept gets an override for that window. If everyone declines, the request closes and you are told. You can withdraw a request while it is open, and it expires once the window has passed.

    Holidays

    Add a holiday to a schedule by date and name. For that whole day in the schedule's time zone, the top layer is skipped and the next layer covers. If there is no other layer, nobody is on call. Overrides still apply.

    Send Incidents to the Schedule

    • Notification roles: add the schedule as a recipient for email, SMS, phone call, or push. The role then notifies whoever is on call when the alert goes out.
    • Escalation policies: use the schedule as a target in any step.

    Shift Reminders

    You are reminded by email and push 30 minutes before a shift starts, and told when it ends. You can change the lead time to anything up to 1440 minutes, or set it to 0 to turn start reminders off.

    Subscribe in Your Calendar

    You can create two kinds of iCal feed:

    • Your shifts: your own shifts across all schedules.
    • A schedule: everyone's shifts on one schedule.

    A feed covers 7 days back to 60 days ahead. Add its URL to a calendar app that can subscribe to iCal URLs.

    The feed is read-only, so changes you make in your calendar don't come back to Xitoring. The URL is secret and shown only once. Creating a new one replaces your old one, and you can revoke it at any time.

    API and AI Agents

    GET /api/v2/oncall/now returns who is on call on every schedule, and GET /api/v2/oncall/schedules/{id}/shifts returns the timeline for up to 93 days. Schedules, layers, overrides, holidays, cover requests, and feeds are all under /api/v2/oncall. The MCP server has tools to see who is on call, read schedules, and create overrides.