Detecting downtime is only half the problem. The other half is making sure the right person responds to it, at the right time, through the right channel. That is where PagerDuty comes in. PagerDuty handles on-call schedules, escalation policies, and multi-channel paging -- so when CronAlert detects that your site is down, PagerDuty makes sure the on-call engineer gets woken up at 3 AM if necessary.
CronAlert does not have a native PagerDuty integration, but you do not need one. CronAlert's webhook alert channel can POST directly to PagerDuty's Events API v2, which creates incidents and triggers your escalation policies just like any other PagerDuty integration. The setup takes about ten minutes.
Plan requirement: Webhook alert channels are available on CronAlert's Pro plan ($5/mo) and above. Slack and Discord alerts are available on all plans including free.
How it works
The flow is straightforward: CronAlert monitors your URLs on a schedule. When a check fails, CronAlert fires a webhook -- an HTTP POST with a JSON body -- to the URL you configure. You point that webhook at PagerDuty's Events API v2 endpoint (https://events.pagerduty.com/v2/enqueue), and PagerDuty creates an incident, applies your escalation policy, and pages whoever is on call.
PagerDuty's Events API v2 accepts a JSON payload with a routing key (tied to a specific service), a severity level, and a summary of what happened. CronAlert's webhook sends monitor details like the URL, status code, and error message, which you can map into PagerDuty's expected format.
Step 1: Create a PagerDuty service and get a routing key
First, you need a PagerDuty service that will receive the alerts and a routing key (also called an integration key) to authenticate the events.
Create a new service in PagerDuty
Log in to your PagerDuty account and go to Services in the top navigation. Click New Service. Give it a name like "CronAlert Uptime Monitoring" and assign an escalation policy -- this determines who gets paged and in what order when an incident is created.
Add an Events API v2 integration
On the Integrations step, search for Events API v2 and select it. This is PagerDuty's generic inbound integration for receiving events from any HTTP source. Click Create Service.
Copy the integration key
After the service is created, you will see an Integration Key (a 32-character hex string). Copy it -- you will need it when setting up the webhook in CronAlert. This key acts as a routing key that tells PagerDuty which service should receive the event.
Step 2: Create a webhook alert channel in CronAlert
Now configure CronAlert to send downtime events to PagerDuty.
Open Alert Channels
Log in to CronAlert and navigate to Alert Channels in the sidebar. Click Add Alert Channel.
Select Webhook and configure the endpoint
Choose Webhook as the channel type. Give it a name like "PagerDuty Escalation". Set the URL to:
https://events.pagerduty.com/v2/enqueue CronAlert will POST a JSON payload to this URL every time an assigned monitor goes down or recovers. The payload includes the monitor name, URL, HTTP status code, error message, and event type (down or recovered).
Save the alert channel
Click Save. You can use the Send Test button to verify that the webhook fires correctly. Note that PagerDuty expects a specific payload format for Events API v2, so you may need to configure your PagerDuty service's event rules to parse the incoming CronAlert webhook payload and map it to PagerDuty's fields.
Payload mapping: CronAlert's webhook sends a JSON body with fields like monitor_name, url, status_code, error, and event_type. PagerDuty's Events API v2 expects fields like routing_key, event_action, and payload.summary. Use PagerDuty's Event Orchestration or a lightweight middleware (like a Cloudflare Worker) to transform the payload if needed.
Step 3: Assign the alert channel to your monitors
With the webhook channel created, assign it to the monitors you want to route through PagerDuty.
Go to Monitors in the CronAlert sidebar, click on a monitor, and edit its alert channels. Add the PagerDuty webhook channel you just created. You can assign it alongside other channels -- for example, PagerDuty for on-call escalation plus Slack for team visibility.
Repeat for each monitor you want to page on. Not every monitor needs PagerDuty -- you probably want it on production-critical endpoints but not on staging or internal tools.
What happens when a monitor goes down
When CronAlert detects a failure on a monitor with the PagerDuty webhook assigned, the following happens in sequence:
- CronAlert POSTs a DOWN event to
https://events.pagerduty.com/v2/enqueuewith the monitor details. - PagerDuty receives the event and creates a new incident on the service you configured.
- PagerDuty applies the escalation policy -- the on-call engineer gets paged via push notification, SMS, phone call, or whatever contact methods they have configured.
- When CronAlert detects recovery, it sends a RECOVERED event to the same endpoint.
The entire chain -- from failed health check to engineer getting paged -- typically completes in under a minute on paid plans with 1-minute check intervals. For a deeper look at how CronAlert's monitoring works under the hood, see the uptime monitoring setup guide.
Tips for getting the most out of PagerDuty + CronAlert
Combine PagerDuty with Slack for visibility
PagerDuty is great for waking up the on-call engineer, but the rest of the team often wants to know what is happening too. Assign both a PagerDuty webhook channel and a Slack alert channel to the same monitor. PagerDuty handles escalation while Slack keeps the team informed.
Use PagerDuty escalation policies wisely
PagerDuty's escalation policies let you define what happens if the primary on-call does not acknowledge an incident within a set time. Set up multi-level escalation: primary on-call gets paged first, then a backup after 5 minutes, then the engineering manager after 15 minutes. This is entirely configured on the PagerDuty side -- CronAlert just needs to trigger the initial event.
Pair with maintenance windows
If you have a scheduled deploy or maintenance window, use CronAlert's maintenance windows (available on Pro and above) to pause alerting during that period. This prevents PagerDuty from creating incidents for expected downtime, keeping your incident count clean and your on-call team undisturbed.
Monitor your webhook endpoints too
It is worth monitoring your webhook endpoints separately to make sure the alerting pipeline itself is healthy. If PagerDuty's Events API is unreachable, you want to know about it before an actual outage occurs.
Frequently asked questions
Does CronAlert have a native PagerDuty integration?
Not a dedicated one. CronAlert uses its webhook alert channel to send events directly to PagerDuty's Events API v2. The end result is the same -- downtime triggers a PagerDuty incident and pages your on-call team. The webhook approach is flexible and works with any service that accepts HTTP events, not just PagerDuty.
Which CronAlert plan includes PagerDuty alerts?
PagerDuty alerts require the Pro plan ($5/mo) or above, since they use webhook alert channels. The free plan includes email, Slack, and Discord alerts. If you need PagerDuty escalation, Pro is the minimum tier. See the pricing page for full plan details.
Will PagerDuty auto-resolve incidents when my site recovers?
CronAlert sends both DOWN and RECOVERED webhook events. For PagerDuty to automatically resolve the incident, the recovery event needs to include a resolve action and a dedup_key that matches the original trigger event. You can use PagerDuty's Event Orchestration rules to map CronAlert's recovery events to PagerDuty resolve actions based on the monitor name or URL.
Can I use PagerDuty alerts alongside Slack and email?
Yes. You can assign multiple alert channels to any monitor. CronAlert sends to all assigned channels simultaneously when downtime is detected. A common setup is PagerDuty for on-call escalation, Slack for team-wide visibility, and email as a fallback. Each channel is independent -- if one fails to deliver, the others still fire.
Wrapping up
CronAlert handles the detection. PagerDuty handles the escalation. Together, they close the loop between "your site is down" and "someone is actively working on it." The webhook integration takes about ten minutes to set up, and once it is running, every downtime event routes through your existing on-call schedules and escalation policies.
If you do not have a CronAlert account yet, sign up for free and upgrade to Pro ($5/mo) to unlock webhook alert channels. You will have PagerDuty incidents firing on downtime within minutes of setup.