Webhooks and APIIntegrations

PagerDuty

Receive PagerDuty incident events

PagerDuty signs webhook bodies with HMAC-SHA256 in X-PagerDuty-Signature, hex-encoded and prefixed with v1=. You connect it with the PagerDuty preset, which uses Generic HMAC SHA-256. This mode has no replay protection, because the signature covers the body only and carries no timestamp.

During a PagerDuty secret rotation, the header carries several v1= signatures. Wexio accepts the request if any one of them matches your Signing secret.

Provider docs: Setting up webhooks in PagerDuty

Setup

1. Connect It in Wexio

Go to New connection → Inbound. Under Provider presets, click the PagerDuty chip in HMAC presets. It sets Authentication mode to Generic HMAC SHA-256 and fills in these fields. Check that they match.

FieldValue
Signature header nameX-PagerDuty-Signature
EncodingHex
Header prefix (optional)v1=

Copy the Wexio endpoint URL.

2. Set Up the Provider

In PagerDuty, go to Integrations → Generic Webhooks (v3) → New webhook subscription. Paste the Wexio URL and pick the events (triggered, acknowledged, resolved, escalated, unacknowledged).

PagerDuty generates a signing secret per subscription. Copy it into the Wexio Signing secret field.

3. Resolve Contacts

PagerDuty events don't carry messaging identifiers. Send them through a proxy that adds the chat ID of the on-call contact to the body, and set Contact identifier type to Chat ID.

4. Capture the Schema and Bind a Flow

Capture the schema, then attach a Webhook Received trigger. Branch on {{webhook.event.event_type}} for lifecycle actions.

Example - Incident Triggered to WhatsApp On-Call

  • PagerDuty event: incident.triggered
  • Wexio connection: identifier type Chat ID, pointing at the on-call operator's WhatsApp chat
  • Flow: Webhook Received, then WA Template "incident_alert" with summary, urgency and link

Was this page helpful?

On this page