on-call · escalation policies · paging
Build the rotation once and it keeps turning. Everyone can see whose week it is, overrides and swaps cover holidays and dentist appointments, the rota subscribes into your own calendar, and the escalation policy pages the person the roster names - not the whole channel.
This is the page for teams replacing a pager. AlertKick does the on-call job of PagerDuty or Opsgenie - rosters, escalation policies, and paging over mobile push, SMS, WhatsApp, Telegram, Slack, and email - on top of the alerts you already have, priced per server instead of per engineer. Compare it with PagerDuty or Opsgenie, or import your schedules and policies from either.
primary
backup
Thu-Fri backup is an override - the underlying rotation is untouched and resumes on Saturday.
Incident fires -> on-call roster consulted -> escalation chain paged until ACKed -> incident closed.
Rotate daily or weekly, and set how many days or weeks one shift lasts - anything from a single day up to 52 weeks. Set the members, the order, and the handover time, and the rota keeps turning without anyone re-typing a spreadsheet. Everyone takes their fair share, the schedule is always visible, and your team knows exactly who's on call and when their turn comes around.
People take holidays. People get sick. People swap shifts because they have a dentist appointment on Tuesday. Overrides let you handle all of it without breaking the underlying rotation - a one-time override for a specific date range, after which the original schedule resumes exactly where it would have been. A shift swap is booked as a pair, so cancelling one half cancels both and nobody is left covering a shift they never agreed to.
Overrides are an overlay rather than an edit, so everything that asks who is on call reads the same answer: the escalation policy, the on-call indicator, the timeline, and the calendar feed.
Platform, database, and application on-call rarely belong to the same people. Create as many rosters as you need, each with its own members and cadence, and let escalation policies pick the one that fits the alert. Handover times are timezone-aware, so a distributed team hands over at the right local hour.
If the on-call engineer doesn't respond in five minutes, escalate to the next person. Then the next. Different channels at each step - a push notification first, then SMS and WhatsApp. Every incident gets handled, even if someone's phone is on silent or they slept through the notification. Acknowledge to stop escalation, or let it keep climbing to the catch-all so nothing ever ends in silence.
Every roster publishes a read-only calendar feed, and each person gets one covering their own shifts across every rota they are in. Subscribe from Google Calendar, Apple Calendar, or Outlook and on-call weeks sit alongside everything else that decides whether you book a weekend away. The feed follows overrides, so it shows who is actually covering rather than the raw rotation.
Off-duty should mean off-duty. Each person sets their own quiet hours and timezone, and during that window the personal channels aimed at them - mobile push and Telegram - are held back rather than delivered. Critical alerts can be allowed through, so it stays quiet for warnings and loud for outages. Suppressed pages are recorded rather than dropped, so "why did nobody get me" always has an answer.
Planned work produces the same alerts as an outage. Open a maintenance window over the whole account, specific integrations, or specific monitors, and alerts raised inside it are still recorded and still visible - they just stop notifying and stop escalating. The window has an end time, so unlike a paused monitor it closes itself, and the record of what happened during the work survives.
Not every alert deserves the pager. A round-robin escalation level hands one alert to one member of a roster and moves on to the next member for the alert after that, so a stream of low-severity work is shared out instead of landing on whoever happens to be on call. The pick is recorded per alert, so follow-ups and repeats reach the same person.
"The phone rings" hides a lot. Here is what each channel really does, so you can build a ladder you trust and know where it ends.
| Channel | What happens | Plan |
|---|---|---|
| Mobile push | The AlertKick app on iOS and Android. Critical pages use a dedicated channel that bypasses Do Not Disturb on Android; on iOS they arrive as high-priority notifications and follow your Focus settings. Acknowledge or resolve from the notification. | Free |
| SMS | Sent over Twilio to UK and international numbers. Retried with backoff for up to 15 minutes if a carrier fails, and every message is logged with its delivery status. 5p per message. | Professional |
| Twilio's WhatsApp Business API with an approved alert template, so pages arrive even outside a 24-hour conversation window. Same retry and delivery log as SMS. Not metered. | Professional | |
| Telegram | A personal ping from the AlertKick bot. Held back during your quiet hours unless the alert is critical and you allow those through. | Free |
| Slack | A thread per alert in the channel your team already watches, with trigger, acknowledge, and resolve updates in the thread. Usually the first, visible knock before anyone is paged personally. | Free |
| Any address, no account needed. The paper trail, and the right first step for warnings. | Free | |
| Webhook | A JSON POST to any URL for bridges, tickets, and lights. | Free |
| Voice call | Not available. AlertKick does not place automated phone calls yet; SMS plus critical push is the loudest step today. | - |
Pages reach Slack, Telegram, WhatsApp, SMS, email, and the mobile app. Acknowledge from the mobile app, the web app, or your AI assistant over MCP, and the escalation stops everywhere at once - nobody further up the chain gets woken for an incident that is already being handled.
You do not have to change monitoring to fix on-call. Prometheus Alertmanager, Grafana, Datadog, AWS CloudWatch, Azure Monitor, Google Cloud Monitoring, Sentry, Zabbix, Nagios, Icinga 2, and a generic webhook post straight in - 28 sources in total, plus email ingestion for anything older. Every source is deduplicated on its own key, so a repeat increments the open alert instead of paging again, and the source's recovery signal resolves the alert on your behalf. Payloads, dedupe keys, and the recovery rules per source are in the inbound integrations reference.
Paste a read-only API key and AlertKick fetches your users, on-call schedules, and escalation policies, shows exactly what will be created and what cannot map one-to-one, and only then imports. Nothing is rebuilt by hand and the key is never stored. Opsgenie support ends on 5 April 2027; the exit is ready whenever you are. See what imports, exactly, or read the honest comparisons: AlertKick vs PagerDuty and AlertKick vs Opsgenie.
Per-seat on-call tools charge you for every engineer you add to the rotation, which is exactly the wrong incentive - it pushes teams to keep the rota short and burn the same two people out. AlertKick's bill tracks your infrastructure instead. On-call, escalation policies, and alert sources are on every plan including Free, each plan carries a user allowance (2, 5, or 25) rather than a seat price, and adding someone to the rota never changes the invoice. See on-call and paging by plan.
AlertKick's own availability, including the alert ingest endpoints, is published on status.alertkick.com - the same status pages you can run for your own services. Every notification is logged with its delivery status, so "did the page go out" is a lookup, not a guess. AlertKick is not SOC 2 or ISO 27001 certified yet; the data processing agreement and sub-processor list are published, and the code that runs on your servers is open on GitHub.
Install one agent. Get security monitoring, infrastructure alerts, and on-call management - all included with every host.