> For the complete documentation index, see [llms.txt](https://docs.apono.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apono.io/docs/webhook-integrations/manual-webhook/itsm/pagerduty.md).

# PagerDuty

Configure incident-based access with Apono and PagerDuty

Incident-based access streamlines granting access while maintaining security. With this solution, after an on-call engineer acknowledges a PagerDuty incident, the same engineer can request resource access.

The workflow follows these steps:

1. The on-call engineer acknowledges a PagerDuty incident.
2. The same engineer requests resource access through Apono (web portal, Slack, CLI, or Teams).
3. A custom webhook in the access flow verifies the PagerDuty acknowledgment.
4. Once verified, Apono grants access to the required resources.
5. Access automatically expires after a set time or can be manually revoked.

This solution helps you ensure that only the right people get access when it’s needed and improves response times while maintaining compliance. It includes two key components:

* [Webhook](#configure-a-webhook) that verifies incident acknowledgment
* [Access flow](#create-a-self-serve-access-flow) that manages resource permissions

***

### Prerequisites

<table><thead><tr><th width="194.546875">Item</th><th>Description</th></tr></thead><tbody><tr><td><strong>Apono Account Permissions</strong></td><td><p>Apono <a href="/docs/user-administration/role-based-access-control-rbac-reference.md#permissions">permissions</a> to configure webhooks and access flows:</p><ul><li><strong>Manage Webhooks</strong>: Admin, Power User, or Deployment</li><li><strong>Manage Access Flows</strong>: Admin or Deployment</li></ul></td></tr><tr><td><strong>PagerDuty Integration</strong></td><td><a href="/docs/additional-integrations/incident-response-integrations/pagerduty.md">Integration</a> between Apono and PagerDuty</td></tr></tbody></table>

***

### Configure a webhook

This webhook verifies that the grantee is the on-call engineer who acknowledged the PagerDuty incident.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdAglsL_MqVgMGei0zzaOYXkSLstx2sdTmivUTQLDvI-_gq69rNQA8pB2GvFEdVowDbKgDBnv4V5YrUmmgFpHjdl9s5ZZ9KxaKS63WSXu0MhtU47Asv2lrFXu7FDRmsRwoc_xnNiA?key=iQONkyvZ1k2xSnFgCxCcIbwi" alt="" width="563"><figcaption><p>Add Webhook page</p></figcaption></figure>

Follow these steps to configure an Apono webhook:

1. On the [**Webhooks**](https://app.apono.io/webhooks) tab, click **Add Webhook**. The **Add Webhook** page appears.
2. Click **Manual**.
3. Enter a unique, alphanumeric, user-friendly **Manual Webhook Name** for identifying this webhook.
4. Click the **Status** toggle to **Active**.
5. From the **Type** dropdown menu, select **Integration Action**.
6. From the **Integration** dropdown menu, select your PagerDuty integration.
7. From the **Actions** dropdown menu, select **list\_pagerduty\_incidents**.
8. In the **Body Template** field, enter the following JSON payload.

```json
{
  "user_email": "{{data.requester.email}}",
  "status": "acknowledged"
}
```

9. Add a response validation:
   1. In the **Response Validators** section, click **+ Add**.
   2. In the **Json Path** field, enter *$.incidents\[0].status*.
   3. In the **Expected Values** field, type *acknowledged* and press Enter.
10. Click **Save Webhook**.

The new webhook appears in the **Webhooks** table. Active webhooks are marked with a green dot. Inactive webhooks are marked with a white dot.

***

### Create a Self Serve access flow

This access flow controls how on-call engineers request and receive temporary access during a PagerDuty incident. It uses the webhook you created to ensure access is granted only to engineers who have acknowledged the incident.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXefEheT-0hBJvewFKkjt3XbphuWEd322Fx3Sfo12PSEdT1LWXJHiaNJw6686pB6GGDFAqwVob-RiG5P3EzOu3KOoLV1jkF1SvJAHSEMo5SuLA61mkCxcmjKj1ot6cepSqOHITvN?key=iQONkyvZ1k2xSnFgCxCcIbwi" alt="" width="563"><figcaption><p>Create Access Flow page</p></figcaption></figure>

Follow these steps to create the Apono Self Serve access flow for PagerDuty:

1. On the **Access Flows** tab, [define who can request resources](/docs/access-flows/creating-access-flows-in-apono/self-serve-access-flows.md#define-permitted-requestors) through a Self Serve access flow.

{% hint style="info" %}
In steps **7-9** of [Define permitted requestors](/docs/access-flows/creating-access-flows-in-apono/self-serve-access-flows.md#define-permitted-requestors), select your PagerDuty group.
{% endhint %}

2. [Define the resource](/docs/access-flows/creating-access-flows-in-apono/self-serve-access-flows.md#define-the-resource) to grant access to.
3. Set the access duration and approval process.

{% hint style="info" %}
In steps **3-5** of [Set up custom approval](/docs/access-flows/creating-access-flows-in-apono/self-serve-access-flows.md#set-up-custom-approval), select **Custom Approval** and the PagerDuty webhook you created in [Configure a webhook](#configure-a-webhook).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apono.io/docs/webhook-integrations/manual-webhook/itsm/pagerduty.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
