> Documentation index for AI agents: https://docs.pagerduty.com/llms.txt

# List Triggers

`GET https://api.pagerduty.com/incident_workflows/triggers`

List existing Incident Workflow Triggers

Scoped OAuth requires: `incident_workflows.read`

## Authorization

- **api_key** (apiKey) — `Authorization` header. The API Key with format `Token token=<API_KEY>`

## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `workflow_id` | string |  | If provided, only show triggers configured to start the given workflow. Useful for listing all services associated with the given workflow. |
| `incident_id` | string |  | If provided, only show triggers configured on the service of the given incident. Useful for finding manual triggers that are configured on the service for a specific incident. Cannot be specified if `service_id` is provided. |
| `service_id` | string |  | If provided, only show triggers configured for incidents in the given service. Useful for listing all workflows associated with the given service. Cannot be specified if `incident_id` is provided. |
| `trigger_type` | string |  | If provided, only show triggers of the given type. For example “manual” to search for manual triggers. One of: `manual`, `conditional`, `incident_type`. |
| `workflow_name_contains` | string |  | If provided, only show triggers configured to start workflows whose name contain the provided value. |
| `is_disabled` | boolean |  | **Deprecated.** If provided, filters between disabled and enabled Triggers. This query parameter is deprecated, and will be removed in a future version of this API. |
| `sort_by` | string |  | If provided, returns triggers sorted by the specified property. One of: `workflow_id`, `workflow_id asc`, `workflow_id desc`, `workflow_name`, `workflow_name asc`, `workflow_name desc`. |
| `limit` | integer |  | The minimum of the `limit` parameter used in the request or the maximum request size of the API. |
| `cursor` | string |  | Optional parameter used to request the "next" set of results from an API. The value provided here is most commonly obtained from the `next_cursor` field of the previous request. When no value is provided, the request starts at the beginning of the result set. |

## Header parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `Accept` | string | yes | The `Accept` header is used as a versioning header. Default: `application/vnd.pagerduty+json;version=2`. |

## Response 200

A paginated array of Incident Workflow Triggers

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `limit` | integer | yes | The minimum of the `limit` parameter used in the request or the maximum request size of the API. Read-only. |
| `next_cursor` | string \| null | yes | An opaque string than will deliver the next set of results when provided as the `cursor` parameter in a subsequent request. A `null` value for this field indicates that there are no additional results. Read-only. |
| `more` | boolean |  | Indicates if there are additional records to return. Read-only. |
| `triggers` | array of object |  |  |
| `triggers[].id` | string |  | Read-only. |
| `triggers[].summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. Read-only. |
| `triggers[].type` | string |  | One of: `workflow_trigger`. |
| `triggers[].self` | string \| null (url) |  | the API show URL at which the object is accessible. Read-only. |
| `triggers[].html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. Read-only. |
| `triggers[].trigger_type_name` | string |  | Human readable name for the trigger type. |
| `triggers[].trigger_type` | string |  | One of: `conditional`, `manual`, `incident_type`. |
| `triggers[].condition` | string |  | A PCL condition string. If specified, the trigger will execute when the condition is met on an incident. If unspecified, the trigger will execute on incident creation. Required if trigger_type is “conditional”, not allowed for other trigger types. |
| `triggers[].trigger_url` | string (url) |  |  |
| `triggers[].incident_types` | array of string |  | An optional array of Incident Types associated with the trigger when it is of type `incident_type`. |
| `triggers[].workflow` | object |  | Workflow to start when this trigger is invoked. |
| `triggers[].workflow.id` | string |  |  |
| `triggers[].workflow.type` | string |  | A string that determines the schema of the object. This must be the standard name for the entity, suffixed by `_reference` if the object is a reference. One of: `workflow_reference`. |
| `triggers[].workflow.name` | string |  | A descriptive name for the Incident Workflow. |
| `triggers[].workflow.self` | string \| null (url) |  | the API show URL at which the object is accessible. |
| `triggers[].workflow.html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. |
| `triggers[].services` | array of object |  | An optional array of Services associated with this workflow. Incidents in any of the listed Services are eligible to fire this Trigger. |
| `triggers[].services[].id` | string |  |  |
| `triggers[].services[].summary` | string \| null |  | A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier. |
| `triggers[].services[].type` | string |  | A string that determines the schema of the object. This must be the standard name for the entity, suffixed by `_reference` if the object is a reference. One of: `service`. |
| `triggers[].services[].self` | string \| null (url) |  | the API show URL at which the object is accessible. |
| `triggers[].services[].html_url` | string \| null (url) |  | a URL at which the entity is uniquely displayed in the Web app. |
| `triggers[].is_subscribed_to_all_services` | boolean |  | Indicates that the Trigger should be associated with All Services. |
| `triggers[].permissions` | object |  | An object detailing who can start this Trigger. Applicable only to manual Triggers. |
| `triggers[].permissions.restricted` | boolean |  | If true, indicates that the Trigger can only be started by authorized Users. If false, any user can start this Trigger. Applicable only to manual Triggers. |
| `triggers[].permissions.team_id` | string |  | The ID of the team whose members can manually start this Trigger. Required and allowed if and only if permissions.restricted is true. |
| `triggers[].is_disabled` | boolean |  | Indicates whether the Trigger is disabled or not. Inherited from the "is_enabled" property on the workflow to which this trigger belongs. This attribute is deprecated, and will be removed in a future version of this API. **Deprecated.** |

Example: Response Example

```json
{
  "triggers": [
    {
      "id": "4ad696eb-bb48-422a-8bd0-6efad6befa29",
      "type": "workflow_trigger",
      "trigger_type_name": "Conditional Trigger",
      "trigger_type": "conditional",
      "condition": "incident.priority matches 'P1'",
      "trigger_url": "https://api.pagerduty.com/incident_workflows/triggers/4ad696eb-bb48-422a-8bd0-6efad6befa29/start",
      "self": "https://api.pagerduty.com/incident_workflows/triggers/4ad696eb-bb48-422a-8bd0-6efad6befa29",
      "workflow_id": "PSFEVL7",
      "workflow_name": "Example Incident Workflow",
      "is_subscribed_to_all_services": true,
      "services": [],
      "workflow": {
        "id": "PSFEVL7",
        "name": "Example Incident Workflow",
        "description": "This Incident Workflow is an example",
        "type": "incident_workflow",
        "created_at": "2022-12-13T19:55:01.171Z",
        "self": "https://api.pagerduty.com/incident_workflows/PSFEVL7",
        "html_url": "https://pdt-flex-actions.pagerduty.com/flex-workflows/workflows/PSFEVL7"
      },
      "permissions": {
        "restricted": false
      }
    }
  ],
  "limit": 1,
  "next_cursor": "N2E3YzkzNjMtYzBkMC00NjFmLTg1OTEtMGZjMjcwODUzODNl",
  "more": true
}
```

## Response 400

Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 401

Caller did not supply credentials or did not provide the correct credentials.
If you are using an API key, it may be invalid or your Authorization header may be malformed.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 402

Account does not have the abilities to perform the action. Please review the response for the required abilities.
You can also use the [Abilities API](#resource_Abilities) to determine what features are available to your account.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 403

Caller is not authorized to view the requested resource.
While your authentication is valid, the authenticated user or token does not have permission to perform this action.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 429

Too many requests have been made, the rate limit has been reached.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Developer Agreement

Your access to and use of the PagerDuty Developer Services is governed by the [PagerDuty Developer Agreement](https://docs.pagerduty.com/developer/pagerduty-developer-agreement).
