Title here
Summary here
Bi-directional synchronization between Incidents and PagerDuty enables real-time incident updates across both systems. Changes made in either system automatically propagate to the other within seconds.
The bi-directional sync provides:
Use the CLI:
im integration configure \
--name "Production PagerDuty" \
--type pagerduty \
--org acme-corp \
--base-url "https://api.pagerduty.com" \
--direction bidirectional \
--token "your_pagerduty_api_token"Or use the API:
curl -X POST http://localhost:8080/api/v1/integrations \
-H "Content-Type: application/json" \
-d '{
"organization_id": "acme-corp",
"integration_type": "pagerduty",
"name": "Production PagerDuty",
"base_url": "https://api.pagerduty.com",
"credentials": {
"token": "your_pagerduty_api_token"
},
"sync_direction": "bidirectional",
"enabled": true
}'Go to Integrations > Generic Webhooks (v3) in PagerDuty
Click + New Webhook
Configure:
https://your-incidents-server/api/v1/webhooks/{integration_id}Copy the Signing Secret for webhook validation
# Platform owns title and description
im integration field-ownership set prod-pd title --owner platform --priority 10
im integration field-ownership set prod-pd description --owner platform --priority 10
# PagerDuty owns escalation and assignment
im integration field-ownership set prod-pd escalation_policy --owner external --priority 5
im integration field-ownership set prod-pd assigned_to --owner external --priority 5| Incidents Field | PagerDuty Field | Default Owner |
|---|---|---|
title |
title |
Platform |
description |
description |
Platform |
severity |
urgency |
Platform |
status |
status |
Platform |
assigned_to |
assignments[0].assignee |
External |
escalation_policy |
escalation_policy |
External |
| Incidents Severity | PagerDuty Urgency |
|---|---|
SEV-1 |
High |
SEV-2 |
High |
SEV-3 |
Low |
SEV-4 |
Low |
| Incidents Status | PagerDuty Status |
|---|---|
open |
Triggered |
mitigated |
Acknowledged |
resolved |
Resolved |
closed |
Resolved |
The sync handles all PagerDuty incident lifecycle events:
| Event | Direction | Action |
|---|---|---|
incident.triggered |
Inbound | Create incident |
incident.acknowledged |
Both | Update status to mitigated |
incident.resolved |
Both | Update status to resolved |
incident.reassigned |
Inbound | Update assigned_to |
incident.escalated |
Inbound | Log escalation event |
incident.priority_changed |
Both | Update severity |
# Last write wins
im integration configure prod-pd --conflict-strategy last-write-wins
# Ownership priority
im integration configure prod-pd --conflict-strategy ownership-priorityim integration configure prod-pd --conflict-strategy manual-review
im conflict list --integration prod-pdSync escalation policy information:
# Enable escalation sync
im integration configure prod-pd --sync-escalations true
# Map services to incident types
im integration service-mapping add prod-pd \
--pd-service "P123ABC" \
--incident-type "infrastructure"Access current on-call information:
# Get current on-call for a schedule
im integration oncall prod-pd --schedule-id "PABC123"# Check sync status
im integration sync-status prod-pd
# View linked incidents
im integration links prod-pd
# View dead letter queue
im integration dlq prod-pdPagerDuty enforces rate limits:
Configure rate limiting:
im integration configure prod-pd \
--rate-limit 100 \
--backoff-multiplier 2# Test API connectivity
im integration test prod-pd
# Verify webhook signature validation
curl -X POST https://your-server/api/v1/webhooks/{id}/test