PagerDuty
Bidirectional integration with PagerDuty: create PagerDuty incidents from Batida alerts and ingest PagerDuty alerts into Batida incidents via webhook.
Setup
Batida to PagerDuty (outbound)
- Go to Settings > Integrations > PagerDuty in the Batida dashboard.
- Enter your PagerDuty API key (from PagerDuty > Integrations > API Access Keys).
- Enter the PagerDuty service ID where incidents should be created.
- Enter the PagerDuty escalation policy ID.
- Click Save & Verify.
API Key: y_NbAkKf_3i...
Service ID: PB12345
Escalation Policy: PHERO123PagerDuty to Batida (inbound)
- In PagerDuty, go to Services > your service > Integrations.
- Add a new Custom Event Transform or Events API V2 integration.
- Copy the integration key.
- In Batida, paste the integration key under Settings > Integrations > PagerDuty > Inbound Webhook.
- Optionally configure alert-to-incident mapping rules (e.g., group by service key).
Batida webhook URL:
https://app.batida.io/api/webhooks/pagerduty/<integration_key>Bidirectional sync
Enable both directions for a fully unified incident workflow. Batida can be the source of truth while PagerDuty handles on-call scheduling and phone-based alerting.
Outbound: Batida triggers PagerDuty
When an incident is opened in Batida (manually or via an alert webhook), a PagerDuty incident is created with:
| Batida field | PagerDuty field |
|---|---|
| Incident title | Incident summary |
| Description | Incident details |
| Severity | Priority (critical = P1, high = P2, ...) |
| Assigned responder | Assigned to (if user exists in PagerDuty) |
Status transitions (resolve, acknowledge) are synced to PagerDuty.
Inbound: PagerDuty alerts create Batida incidents
When PagerDuty sends an alert to Batida, the payload is normalized and a Batida incident is created:
- PagerDuty triggers an alert.
- Batida receives the webhook payload.
- The alert is normalized into Batida's incident schema.
- A new incident is created (or grouped into an existing one).
Example inbound payload mapping
{
"incident": {
"incident_number": 42,
"title": "CPU usage above 95% on prod-web-01",
"status": "triggered",
"priority": {
"summary": "P1"
},
"service": {
"name": "production-web"
}
}
}Deduplication
When PagerDuty sends multiple alerts for the same service, Batida groups them into a single incident using the PagerDuty incident_key (deduplication key). You can customize the grouping logic under integration settings.
Troubleshooting
- "Invalid API key": Regenerate the API key from PagerDuty and re-enter it in Batida.
- Inbound webhooks not arriving: Check the integration key matches exactly. Verify network firewall rules allow traffic from PagerDuty IPs to Batida.
- Incidents created twice: Review the deduplication key configuration. Ensure the
incident_keyfield is being used correctly.