On-call scheduling and escalation for your team. Only whoever is on call gets woken up.

Plan rotations, overrides and escalation tiers in one place. Uptimeify pages exactly the person on call right now and escalates on its own until someone acknowledges.

Made and Hosted in the

European Union

GDPR-Compliant Hosting

in Germany

GEO-Redundant Replica

across the EU

On-Call Rotation

Schedules that hand themselves over.

Set once who is in the team, when the handoff happens and which time zone the schedule runs in. From then on, the next weeks are covered. No spreadsheet that goes stale after the next vacation, no group chat asking who has the phone tonight.

  • Rotations at your pace: daily, weekly, biweekly, monthly or custom down to the minute, so handoffs happen when your team is at their desks anyway.
  • Business hours and time zones built in: weekly windows such as weekdays 09:00 to 18:00 and a time zone per schedule, so office-hours coverage and distributed teams never need a second schedule.
  • One calendar for the whole team: see who is on call when, overrides included, so gaps show up before an alert falls into one.
Team on-call calendar with a weekly rotation and scheduled overrides
Rotation modes

A schedule has exactly one rotation. rotationMode controls the groups: none puts every member on one continuous shift, auto splits the pool into groups of autoRotationSize, explicit takes your groups in your order. The cadence comes from rotationRepeats (daily, weekly, biweekly, monthly, custom), with custom units from minutes to months. The shortest shift is one minute, and handoffs are minute-precise.

IANA time zones

Every schedule carries an IANA time zone such as Europe/Berlin. 09:00 means 09:00 local time, across daylight saving changes. Sub-day cadences step in absolute time, so a handoff is never doubled or skipped. Up to 50 weekly windows per schedule, an empty list means 24/7. Shifts are precomputed up to 90 days ahead, so finding who is on call at paging time is a timestamp lookup, not a live calculation. GET /api/im/on-call and GET /api/im/teams/:id/on-call-now read the same shift table and return the same result, overrides included.

Docs: Schedules
Escalation Tiers

No response? The next tier is up.

An escalation chain is the honest answer to what happens when the first person does not pick up. You set tiers, attach one or more schedules to each, and decide after how many minutes the incident moves on. No incident sits waiting because someone is out of signal.

  • Tiered escalation with its own wait time: without an acknowledgement, Uptimeify pages the next tier after the set delay, so your response promise never depends on one person.
  • Several schedules per tier: Hamburg by day, Lisbon in the evening, both on the same tier, so follow-the-sun works without special logic.
  • A dry run instead of a test night: walk the chain for a severity and a point in time and see who would be reached, when and on which channel, without a single phone ringing. Warnings flag missing numbers, missing devices or an empty quota before it matters at night.
On-call schedule editor with time zone, weekly handover on Monday at 09:00 and rotation groups
Escalation tiers

Every tier has autoEscalationEnabled (on by default) and autoEscalationAfterMinutes (default 5). autoEscalationStopMode decides whether an acknowledgement stops the chain (acknowledged, default) or only the resolution does (resolved). autoEscalationTimeFilters limits automatic escalation to weekly windows, for example after hours only.

Repeats

repeats re-pages a tier, and at team level escalationRepeats repeats the whole chain. A tier's on-call set is the union of all its schedules. Creating a tier directly with people creates a 24/7 schedule for them. When no tier is left, the organization's fallback channel is paged. From a live incident, "Escalate now" jumps straight to the next tier.

Dry run

POST /api/im/teams/:id/escalation-dry-run walks the tiers the way escalation would for an incident with severity arriving at at, and returns person, channel, delay and warnings per tier. Nothing is sent, nothing is stored, no incident is created and round robin does not advance. Organization admins, editors and team admins may call it.

Docs: Escalation Tiers
Overrides

Vacation, sick days, shift swaps. The schedule stays as it is.

Absences go in as overrides: a window in which someone else takes over. The rotation itself stays untouched. After the vacation it simply carries on, and nobody has to remember who swapped with whom.

  • Overrides instead of rebuilding: put someone on call for a window or take them off, so the schedule continues cleanly after the absence.
  • Give away your own shift: team members hand shifts of up to seven days to a teammate, who gets an email, so not every swap has to go through you.
  • One team or all teams: an absence can apply everywhere the person is scheduled, so nobody on vacation gets paged from a second team.
Team overrides with a vacation window and the covering teammate
Online and offline

online puts a person on call for the window and replaces everyone else currently on call. offline takes them off, and everyone in coveredByUserIds (up to 200) gets exactly the pages that person would have had. With round robin, the coverers replace the covered person one to one. All of them are paged, including on incidents that are already running. An empty list deliberately leaves a gap that escalation fills from another tier.

Precedence

applyScope: all_teams applies the override in every team of the person, escalationTierOrder limits it to one tier. There is no priority field: when overrides overlap, the one created later wins. Team overrides without a schedule are possible. Self-service without admin rights is tightly scoped: exactly one coverer from the same team, at most seven days, within your own shifts, at most ten give-aways per hour.

Docs: Schedule Overrides
Personal Paging

Push first, then SMS, then a call. Acknowledged with 4.

You give your team a default chain, for example push right away, SMS after five minutes, a call after ten. Every new person starts with it and adjusts it if needed. When the phone rings at night, pressing 4 is enough to stop the paging.

  • Rules by urgency: high and low urgency get their own chains of push, SMS, voice call and email, so a sev1 rings differently from a sev4.
  • A default chain for the whole team: new members start with your setup, and the team view shows who has a verified number and matching rules, so nobody is unreachable on their first night.
  • A call that announces itself: it opens with "Uptimeify alert", repeats the message three times and waits for 4. If nobody picks up, it calls back once after a minute, so one missed call is not the end of the chain.
Personal notification rules with push at once, SMS after 5 and a call after 10 minutes
Notification rules

Rules apply per urgency (high for sev1 and sev2, low for sev3 and sev4) as "after delayMinutes, notify via channel X", with a delay from 0 to 1440 minutes. severityChannels blocks channels per severity.

Default chain

GET/PUT /api/im/notification-template defines what new people start with. It is not retroactive: anyone who already has settings keeps them. Organization admins and organization-wide tokens set a person's settings through PUT /api/im/users/{userId}/notification-settings, phone number included. The last write wins, and lastAdminChangeAt shows when an admin last changed them. SMS and call steps for an unverified number are stored and stay inactive until the number is confirmed with a six-digit code. A banner points this out at login.

The call

It opens with "Uptimeify alert", reads the incident text and the prompt three times, then waits about ten seconds for the key. 4 acknowledges the incident, any other key does not. The phone rings for 45 seconds. Not answered, busy or declined means one more call after a minute, and an acknowledgement in the meantime cancels it. If the primary provider fails, a second provider reads the same text but cannot capture the key. In that case you acknowledge through the link in your SMS, email or push. The test page checks the call too: press 4 and the call confirms that the key reaches us.

Quota

SMS and calls draw from the monthly SMS quota, one call counts as one unit. Overage is off by default, and organization admins set a monthly cap themselves. When the quota is used up, push and email keep going and escalation jumps to the next tier at once.

Docs: Personal Notification Settings Docs: Default Notifications Docs: User Notification Settings Docs: Quota & Overage

We don't just monitor. We help you sell.

Every Uptimeify subscription includes access to our Success Kit, a collection of battle-tested resources to turn your monitoring into a profit center.

SLA & Contract Templates

Service Level Agreement templates to define professional boundaries with your clients.

Pricing Calculator

Find the sweet spot for your care plans. Calculate margins based on check frequency and support hours.

White-Label Pitch Decks

Powerpoint Templates that explain 24/7 monitoring to non-technical clients. Close more retainers.

Churn-Proof Reporting Guide

Use automated reports to proactively communicate value, so clients never ask what they're paying for.

Ready to turn monitoring into a profit center?

Claim your Success Kit and start scaling today.

Frequently Asked Questions

For the technical stakeholder

Ready to make on-call predictable?

Create your first team, build the schedule and the escalation chain, and walk it through a dry run before the first night. Your team knows who is on call. Your clients only notice that someone responds.