Skip to content

guides

Intended Documentation

PagerDuty Connector Setup (Beta)

Connect Intended to PagerDuty. Obtain a REST API token and an Events v2 routing key, paste them into the console connect dialog, and run Test connection. Host-pinned to api.pagerduty.com and events.pagerduty.com. Beta until validated against your live PagerDuty account.

PartialSource: codeValidated: 2026-07-09

PagerDuty Connector Setup (Beta)#

Connect Intended to PagerDuty so approved intents can trigger and resolve incidents through the real PagerDuty adapter (packages/execution-engine/src/adapters/pagerduty.ts). Every write is verified against an Authority Decision Token and ESCALATEs for approval under the starter policy — nothing auto-executes.

This connector is Beta

The adapter is real and covered by hermetic (mocked-HTTP) tests that pass in CI with no live tenant. What is not yet done is live proof against your real PagerDuty account. Treat PagerDuty as Beta — do not represent it as generally available. See the Capability Truth Matrix.

What the adapter does#

PropertyValue
Actionspagerduty.incident.trigger, pagerduty.incident.resolve
AuthREST API token (Authorization: Token token=<apiToken>); Events API v2 uses the routingKey in the request body
Pinned hostsapi.pagerduty.com (REST), events.pagerduty.com (Events v2)
Test connectionGET https://api.pagerduty.com/users?limit=1

Requests are built from those two pinned constants — a stored baseUrl is validated against the pin and never used to construct the request. Incidents are triggered/resolved via POST https://events.pagerduty.com/v2/enqueue.

Provider-side steps#

1. REST API token (apiToken, required)#

The REST token authorizes the credential probe (Test connection) and REST reads.

  1. In PagerDuty, go to Integrations → API Access Keys.
  2. Choose Create New API Key.
  3. For least privilege, create a read-only key if you only need connection testing; a full-access key is required only if you later drive REST writes that need it. The two shipped actions (trigger/resolve) go through the Events API, not REST writes — so a read-only REST key plus the routing key below is sufficient.
  4. Copy the token once — PagerDuty shows it a single time.

2. Events v2 routing key (routingKey, required to trigger/resolve)#

The routing key is what actually enqueues trigger/resolve events on Events API v2. It is optional at connect time, but incident trigger/resolve will be rejected (PAGERDUTY_ROUTING_KEY_REQUIRED) without it.

  1. Open the PagerDuty service you want incidents raised against.
  2. Go to Integrations → Add an integration.
  3. Add an Events API v2 integration.
  4. Copy the Integration Key — this is your routingKey.

3. From email (fromEmail, optional)#

Some REST writes require a From header naming a valid PagerDuty user email. Supply it only if you use REST actions that need it. It is sent as the From: <fromEmail> header.

Least-privilege scope guidance#

  • Matrix scopes for this connector: incidents.read, incidents.write.
  • For the shipped actions, an Events API v2 routing key scoped to the single target service plus a read-only REST key is the minimal footprint.
  • Do not use an account-wide full-access REST key unless a REST write action you enable actually requires it.

Fields to paste into the connect dialog#

In the console, open Connectors → Connect a system → PagerDuty → Configure auth, then fill:

Field labelKeyRequiredValue
REST API TokenapiTokenYesYour PagerDuty REST API token
Events v2 Routing KeyroutingKeyOptional (required to trigger/resolve)The Events API v2 integration key
From EmailfromEmailOptionalon-call@your-org.com (for REST writes needing a From header)

Credentials are stored per-tenant, AES-256-GCM-encrypted, and never displayed back.

Run Test connection#

  1. Finish the connect wizard to store the credential.
  2. On the connector's card in the Connectors view, click Test connection.
  3. The adapter performs GET https://api.pagerduty.com/users?limit=1. A green result means the REST token is valid and the host pin resolved. A failure surfaces the exact reason (bad token, host mismatch).

Next steps#

PagerDuty Connector Setup (Beta) | Intended