Skip to content

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)

  1. Go to Settings > Integrations > PagerDuty in the Batida dashboard.
  2. Enter your PagerDuty API key (from PagerDuty > Integrations > API Access Keys).
  3. Enter the PagerDuty service ID where incidents should be created.
  4. Enter the PagerDuty escalation policy ID.
  5. Click Save & Verify.
API Key:           y_NbAkKf_3i...
Service ID:        PB12345
Escalation Policy: PHERO123

PagerDuty to Batida (inbound)

  1. In PagerDuty, go to Services > your service > Integrations.
  2. Add a new Custom Event Transform or Events API V2 integration.
  3. Copy the integration key.
  4. In Batida, paste the integration key under Settings > Integrations > PagerDuty > Inbound Webhook.
  5. Optionally configure alert-to-incident mapping rules (e.g., group by service key).
text
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 fieldPagerDuty field
Incident titleIncident summary
DescriptionIncident details
SeverityPriority (critical = P1, high = P2, ...)
Assigned responderAssigned 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:

  1. PagerDuty triggers an alert.
  2. Batida receives the webhook payload.
  3. The alert is normalized into Batida's incident schema.
  4. A new incident is created (or grouped into an existing one).

Example inbound payload mapping

json
{
  "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_key field is being used correctly.

Built by the Batida team