# PagerDuty

### Overview

The Veza integration for PagerDuty connects to the incident management platform to gather authorization for users that are configured in PagerDuty, their base role for the PagerDuty application, and their assigned Teams and Team roles.

### Configuring PagerDuty

To authenticate with PagerDuty, Veza requires an API key for a PagerDuty user. To generate this API key (also referred to as a token):

1. Log in to PagerDuty.
2. Click the **Integrations** menu button in the middle of the PagerDuty screen, then click **API Access Keys**.
   * ![Alt text](/files/DJGWBT34mq2lZtFUeABQ)
3. Click the **Generate new API Key** button to obtain an access token.
   * ![Alt text](/files/gMnWXgjYViChMjIWPm5J)
4. Enter a description, click on **Create Key** and **Save** the API token. Copy the token value to use when configuring Veza.
   * ![Alt text](/files/XLOxWLVs4yflJJtMc22W)

See the [PagerDuty documentation](https://support.pagerduty.com/docs/api-access-keys#section-generate-a-general-access-rest-api-key) for the most up-to-date guidance.

### Configuring PagerDuty on the Veza Platform

1. In Veza, open the **Integrations** page..
2. Click *Add Integration* and pick *PagerDuty* as the type of integration to add.
3. Enter the required information and *Save* the configuration.

| Field           | Notes                                                                     |
| --------------- | ------------------------------------------------------------------------- |
| Insight Point   | Choose whether to use the default data plane or a deployed Insight Point. |
| Name            | A descriptive name to identify the unique integration.                    |
| PagerDuty URL   | URL for PagerDuty API endpoint including protocol (such as `https://`)    |
| PagerDuty Token | The token used to access the PagerDuty API                                |

### Notes and Supported Entities

Veza creates Access Graph nodes to model PagerDuty teams, users, roles, and role permissions:

* PagerDuty Business → PagerDuty Application
* PagerDuty Team → PagerDuty Resource
* PagerDuty Team → PagerDuty Group
* PagerDuty User → PagerDuty User
* PagerDuty User Role → PagerDuty Role
* PagerDuty User Role → PagerDuty Permission

This connector uses the PagerDuty API to extract the identity and authorization information for users. Users are connected by identity based on their email address configured in PagerDuty.

PageDuty Teams are represented both as a local group and a resource. If the User has a Team Role it is represented on the resource. The Local Group can be used for purely membership queries, while role assignments to the resource should be used to audit a user's permission within a PagerDuty Team.

### PagerDuty User

| Attribute    | Description                                         |
| ------------ | --------------------------------------------------- |
| `id`         | PagerDuty User ID                                   |
| `name`       | PagerDuty User name                                 |
| `email`      | The email address configured for the PagerDuty user |
| `is_billed`  | Boolean value if user is a billed user in PagerNow  |
| `full_admin` | True if user is a global admin                      |

### PagerDuty Group

| Attribute      | Description                                     |
| -------------- | ----------------------------------------------- |
| `id`           | PagerDuty Group ID                              |
| `name`         | PagerDuty Group name                            |
| `description`  | Truncated team description                      |
| `default_role` | Default role for new users assigned to the Team |
| `summary`      | Summary value for Team                          |

### PagerDuty Team (as Resource)

| Attribute | Description         |
| --------- | ------------------- |
| `id`      | PagerDuty Team ID   |
| `name`    | PagerDuty Team name |


---

# Agent Instructions: 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:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/integrations/integrations/pagerduty.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
