# PagerDuty and incident.io Alert Channels


You can now deliver RudderStack's [Configurable Alerts]({{< ref "monitor/alerts.md" >}}) directly into **PagerDuty** and **incident.io** — the two tools engineering teams use to run on-call and incident response — alongside the existing Slack, Microsoft Teams, email, and webhook channels. When a pipeline breaks, the alert lands where your on-call attention already lives instead of getting buried in a channel or inbox.

This adds two new delivery destinations for the alerts RudderStack already detects. It does not change what RudderStack monitors or how alert thresholds work — only where those alerts can be sent.

{{< info >}}
**Not to be confused with the PagerDuty destination** 

This feature sends RudderStack's operational health signals out to your incident tooling. It is different to the [PagerDuty destination]({{< ref "destinations/streaming-destinations/pagerduty.md" >}}), which sends your event data into PagerDuty.
{{< /info >}}

## Why route alerts to your incident tools?

A broken pipeline is a business-critical failure, not a cosmetic one. It can silently drop or corrupt the data feeding your analytics, ML models, and downstream marketing and product decisions — and the damage is often invisible until someone notices the numbers are wrong days later.

The problem is that a Slack message or an email is easy to miss. A page is not.

- **PagerDuty** guarantees the right on-call human is actually notified — loudly, via phone, SMS, or push — and auto-escalates if nobody acknowledges.
- **incident.io** coordinates the response once people are aware, spinning up an incident channel, assigning roles, and auto-capturing a timeline that becomes the postmortem.

Meeting your team where its on-call attention already lives turns a RudderStack failure from a buried notification into a real page. For a platform whose promise is data reliability, that closes a direct trust gap.

## What you can route

RudderStack's existing alert engine already detects the failures that matter most (this set is unchanged):

- A destination starts rejecting or failing to receive events (bad credentials, downtime, network errors)
- A warehouse sync aborts, or pre-sync processing fails
- A transformation starts erroring and dropping events
- Event volume drops suspiciously versus the same hour last week
- A source violates its Tracking Plan (data arriving in the wrong shape)
- A Reverse ETL sync fails partially or fatally
- A Profiles run fails

Any of these can now land as a **PagerDuty incident** (with escalation policies, on-call schedules, and phone/SMS/push paging) or as an **incident.io alert** (which can trigger an incident channel, role assignment, and an auto-built postmortem timeline).

## Key features

- **PagerDuty routing with real paging and escalation**: Route any RudderStack alert into a PagerDuty service so the right on-call engineer is paged and alerts auto-escalate if unacknowledged.
- **incident.io routing with response coordination**: Deliver alerts into incident.io to kick off an incident channel, assign roles, and capture a timeline for the postmortem.
- **Setup in minutes**: Configuration is minimal — for PagerDuty, create a service with an Events API v2 integration and paste the 32-character integration/routing key. For incident.io, create an HTTP alert source and paste the secret API key plus the (non-secret) alert source config ID.
- **The same guardrails as every channel**: Only org admins can configure workspace-level channels; alerts are de-duplicated (at most one notification per resource, per alert type, per channel every 24 hours, so on-call isn't spammed); you can't disable your last remaining production channel, so you're never flying blind; and a **test alert** button confirms the wiring before you rely on it.

## Get started

PagerDuty and incident.io alert channels are available on the RudderStack [Growth](https://rudderstack.com/pricing) and [Enterprise](https://rudderstack.com/enterprise-quote) plans and are configured at the workspace level from your RudderStack dashboard:

1. Go to **Data Governance** > **Alerts** in your RudderStack dashboard.
2. Choose the **PagerDuty** or **incident.io** channel.
3. For PagerDuty, paste your 32-character Events API v2 integration key. For incident.io, paste your HTTP alert source API key and alert source config ID.
4. Click the **test alert** button to confirm the connection, then save.

See the [Configurable Alerts]({{< ref "monitor/alerts.md" >}}) guide for full setup instructions for both channels.

For vendor-side context, see PagerDuty's own [Events API v2](https://developer.pagerduty.com/docs/events-api-v2-overview) documentation and incident.io's [Custom HTTP alert source](https://docs.incident.io/alerts/custom-http-sources#custom-http-alert-sources) documentation.
