Skip to main content
Skip table of contents

PagerDuty

LAST UPDATED: 04/12/2024

Overview

PagerDuty's Platform for Real-Time Operations integrates machine data & human intelligence to improve visibility & agility across organizations.

D3 SOAR is providing REST operations to function with PagerDuty.

PagerDuty integration is available for use in:

D3 SOAR

V.14.5.131.0 +

Category

SIEM

Deployment Options

Option II, Option IV

Known Limitations

Limits

REST API

Events API v2

Size Limits

-

Events API payloads are limited to 512 KB

Rate Limits

900 events/min across an entire organization

approximately 120 calls/minute per integration key

For more information about API limitation, please refer to PagerDuty REST API Rate Limiting and Events API Limits.

Connection

To connect PagerDuty from D3 SOAR, please follow this part to collect the required information below:

Parameter

Description

Example

Server URL

The REST API base URL.

https://api.pagerduty.com

Event URL

The base URL for events API.

https://events.pagerduty.com

API Key

The API key to provide when making API calls.

u+Do************bgRQ

Integration Key

The integration key is used to determine which service an event should be routed to. If you need to execute event-related commands (such as Create Event, Resolve Event, and Acknowledge Event) using the Events API V2 integration, you must input a valid integration key. Refer to https://support.pagerduty.com/docs/services-and-integrations#add-integrations-to-an-existing-service to add the Events API V2 integration to your service and obtain the integration key. Alternatively, you can visit https://support.pagerduty.com/docs/services-and-integrations#generate-a-new-integration-key to generate a new integration key.

34be7512****************3c3534ca

API Version

The Version of API. The defult value is v2.

v2

Permission Requirement

As PagerDuty is using role-based access control (RBAC), the API access key and integration key are generated based on a specific user account and the application. Therefore, the command permissions are inherited from the user account’s role. Users need to configure their user profile from the PagerDuty console for each command in this integration.

PagerDuty has two tiers of user roles depending on your account's plan. To determine which tier your role belongs to, navigate to User Icon My Profile. If you see a tab that says Permissions & Teams, please visit our article on Advanced Permissions. If you only see the User Settings tab, your account has basic user roles and you should continue to use User Roles for reference.

Configuring PagerDuty to Work with D3 SOAR

Creating API Key

  1. Login to PagerDuty (https://app.pagerduty.com/) with your email and password.

  1. After signing in, hover your mouse to the Integrations tab, and click API Access Keys under the Developer Tools section.

  1. Click + Create New API Key button to create a new API key.

4. Enter the description for the API Key, then click the Create Key button.

  1. Copy and Save API Key for API authorization.

READER NOTE

This API key will not be visible again, so please store it in a safe place. If you lose it, you can create a new one.

Obtaining an Integration Key (Optional)

The integration key is used to determine which service an event should be routed to. If you need to execute event-related commands (such as Create Event, Resolve Event, and Acknowledge Event) using the Events API V2 integration, you must input a valid integration key.

  1. API keys for the Events API are associated with a service-level integration, and are listed on the Service’s Integrations tab. Read more about configuring integration keys for the Events API in the Services and Integrations article.

  1. Navigate to the Integrations tab. Click the arrow to expand the integration menu. From there you can Copy and Save the Integration key to use for connecting to D3 SOAR.

If this is your first time using the integration key, please refer to the steps below to create one.

  1. Login to PagerDuty. Hover over the Services tab to select Service Directory.

  1. Click on the + New Service button.

  1. Enter a Name and Description for your service, then click Next.

  1. To assign an escalation policy, you can Generate a new Escalation Policy or Select an existing Escalation Policy, then click Next.

  2. To reduce noise, you can combine similar alerts. There are four options to choose from; Intelligent is recommended. Then, click Next.

  1. Check the Events API V2 for your integration. Then click Create Service.

  1. Copy and Save the Integration Key to use in the D3 VSOC connection.

Configuring D3 SOAR to Work with PagerDuty

  1. Log in to D3 SOAR.

  2. Find the PagerDuty integration.

    1. Navigate to Configuration on the top header menu.

    2. Click on the Integration icon on the left sidebar.

    3. Type PagerDuty in the search box to find the integration, then click it to select it.

    4. Click New Connection, on the right side of the Connections section. A new connection window will appear.

  3. Configure the following fields to create a connection to PagerDuty.

    1. Connection Name: The desired name for the connection.

    2. Site: Specifies the site to use the integration connection. Use the drop-down menu to select the site. The Share to Internal Sites option enables all sites defined as internal sites to use the connection. Selecting a specific site will only enable that site to use the connection.

    3. Recipient site for events from connections Shared to Internal Sites: This field appears if you selected Share to Internal Sites for Site to let you select the internal site to deploy the integration connection.

    4. Agent Name (Optional): Specifies the proxy agent required to build the connection. Use the dropdown menu to select the proxy agent from a list of previously configured proxy agents.

    5. Description (Optional): Add your desired description for the connection.

    6. Tenant (Optional): When configuring the connection from a master tenant site, you have the option to choose the specific tenant sites you want to share the connection with. Once you enable this setting, you can filter and select the desired tenant sites from the dropdowns to share the connection.

    7. Configure User Permissions: Defines which users have access to the connection.

    8. Active: Check the tick-box to ensure the connection is available for use.

    9. System: This section contains the parameters defined specifically for the integration. These parameters must be configured to create the integration connection.

      1. Input the Server URL. The default value is http://api.pagerduty.com.
      2. Input the Event URL. The default value is http://events.pagerduty.com.
      3. Input the API Key from the PagerDuty platform. Please refer to step 5 of Configuring PagerDuty to Work with D3 SOAR for more details.
      4. Input the Integration Key. Please refer to Obtaining an Integration Key for more details.
      5. Input the API Version. The default value is v2.

    10. Enable Password Vault: An optional feature that allows users to take the stored credentials from their own password vault. Please refer to the password vault connection guide if needed.

    11. Connection Health Check: Updates the connection status you have created. A connection health check is done by scheduling the Test Connection command of this integration. This can only be done when the connection is active. To set up a connection health check, check the Connection Health Check tick box. You can customize the interval (minutes) for scheduling the health check. An email notification can be set up after a specified number of failed connection attempts.

  4. Test the connection.

    1. Click Test Connection to verify the account credentials and network connection. If the Test Connection Passed alert window appears, the test connection is successful. You will see Passed with a green checkmark appear beside the Test Connection button. If the test connection fails, please check your connection parameters and try again.

    2. Click OK to close the alert window.

    3. Click + Add to create and add the configured connection.

Commands

PagerDuty includes the following executable commands for users to set up schedules or create playbook workflows. With the Test Command, you can execute these commands independently for playbook troubleshooting.

Integration API Note

For more information about the PagerDuty API, please refer to the PagerDuty API reference.

Note for Time-related parameters

The input format of time-related parameters may vary based on your account settings. As a result, the sample data provided in our commands is different from what you see. To set your preferred time format, follow these steps:

  1. Navigate to Configuration > Application Settings. Select Date/Time Format.

  1. Choose your desired date and time format.

After that, you will be able to view your preferred time format when configuring the DateTime input parameters for commands.

Acknowledge Event

Changes the status of the specified event to resolve.

READER NOTE

Dedup Key is a required parameter to run this command.

  • Run the Create Event or Get Incident Alerts commands to obtain Dedup Key. Dedup Keys can be found in the returned raw data of the Create Event command at the path $.dedup_key. Or in the returned raw data of the Get Incident Alerts command at the path $.alerts[*].body.cef_details.dedup_key.

  • For more information about Dedup Key, please refer to Event Management.

Input

Input Parameter

Required/Optional

Description

Example

Dedup Key

Required

The key to identifying events. The Dedup key can be obtained using the Create Event or Get Incident Alerts commands.

*****

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "success",
    "message": "Event processed",
    "dedup_key": "b20**************************0ae"
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "Status": ["success"],
  "Message": ["Event processed"],
  "Dedup_Key": [ "b20**************************0ae" ]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

status

success

message

Event processed

dedup_key

b20**************************0ae

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Acknowledge Event failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2100.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Incident ID Not Found.

Error Sample Data

Acknowledge Event failed.

Status Code: 2100.

Message: Incident ID Not Found.

Create Event

Sends a trigger event to report a new problem, or to update an ongoing problem, depending on the event type.

Input

Input Parameter

Required/Optional

Description

Example

Summary

Required

The brief text summary of the event is used to generate the summaries or titles of any associated alerts.

Example alert on 2021101500a

Severity

Required

The perceived severity of the status the event is describing, with respect to the affected system. The options are Value, Critical, Warning, Error, Info.

Info

Source

Required

The unique location of the affected system, preferably a hostname or FQDN.

prod-********03.example.com

Component

Optional

The component of the source machine that is responsible for the event.

Postgres

Group

Optional

The logical grouping of components of a service.

Prod-datapipe

Class

Optional

The class/type of the event.

Deploy

Custom Details

Optional

Additional details about the event and the affected system.

{"ping time":"1500ms","load avg":0.75}

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "success",
    "message": "Event processed",
    "dedup_key": "c88**************************00e"
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "Status": ["success"],
  "Message": ["Event processed"],
  "Dedup_Key": [ "c88**************************00e" ]
}
Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

status

success

message

Event processed

dedup_key

c88**************************00e

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Create Event failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2001.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Custom Details) is invalid.

Error Sample Data

Create Event failed.

Status Code: 2001.

Message: The value for parameter (Custom Details) is invalid.

Fetch Incident

Returns existing incident(s) from the platform based on specified criteria.

Input

Input Parameter

Required/Optional

Description

Example

Start Time

Required

The Start Time of the time range for fetching incident(s) in UTC time. The maximum time range is 6 months.

2022-01-10 00:00

End Time

Required

The End Time of the time range for fetching incident(s) in UTC time. The maximum time range is 6 months.

2022-01-11 00:00

Top Recent Incident Number

Optional

The maximum number of incidents to return is specified. The default value is 20.

20

Search Condition

Optional

The queries in JSON format to filter results. The supported keys in the JSON include[], time_zone, urgencies[], and statuses[]. The allowed values include[]: users, services, first_trigger_log_entries, escalation_policies, teams, assignees, acknowledges, priorities, conference_bridge; The allowed values for urgencies[]: high, low, suppressed; The allowed values for statuses[]: triggered, acknowledged, resolved.

{

"include[]": "first_trigger_log_entries",

"time_zone": "UTC",

"urgencies[]": "high",

"statuses[]": "triggered"

}

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "incidents": [
        {
            "incident_number": 2,
            "title": "Urgent customer call 20220110",
            "description": "Urgent customer call 20220110",
            "created_at": "2022-01-10T23:42:57Z",
            "status": "triggered",
            "incident_key": "d30**************************314",
            "service": {
                "id": "PN***69",
                "type": "service_reference",
                "summary": "D****y",
                "self": "https://api.pagerduty.com/********/PN***69",
                "html_url": "https://*****.pagerduty.com/*******-*********/PN***69"
            },
            "assignments": [
                {
                    "at": "2022-01-10T23:42:57Z",
                    "assignee": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/*****/*****"
                    }
                }
            ],
            "assigned_via": "escalation_policy",
            "last_status_change_at": "2022-01-10T23:51:23Z",
            "first_trigger_log_entry": {
                "id": "R9Y**********************66U",
                "type": "trigger_log_entry",
                "summary": "Triggered through the website",
                "self": "https://api.pagerduty.com/***_*******/R9Y**********************66U",
                "html_url": "https://*****.pagerduty.com/*********/Q0P********QV8/log_entries/R9Y**********************66U",
                "created_at": "2022-01-10T23:42:57Z",
                "agent": {
                    "id": "*****",
                    "type": "user_reference",
                    "summary": "T*** F*",
                    "self": "https://api.pagerduty.com/*****/*****",
                    "html_url": "https://*****.pagerduty.com/users/*****"
                },
                "channel": {
                    "type": "web_trigger",
                    "summary": "Urgent customer call 20220110",
                    "subject": "Urgent customer call 20220110",
                    "details": "**** inc desc ***"
                },
                "service": {
                    "id": "PN***69",
                    "type": "service_reference",
                    "summary": "D****y",
                    "self": "https://api.pagerduty.com/********/PN***69",
                    "html_url": "https://*****.pagerduty.com/*******-*********/PN***69"
                },
                "incident": {
                    "id": "Q0P********QV8",
                    "type": "incident_reference",
                    "summary": "[#2] Urgent customer call 20220110",
                    "self": "https://api.pagerduty.com/*********/Q0P********QV8",
                    "html_url": "https://*****.pagerduty.com/*********/Q0P********QV8"
                },
                "teams": [],
                "contexts": [],
                "event_details": {
                    "description": "Urgent customer call 20220110"
                }
            },
            "alert_counts": {
                "all": 0,
                "triggered": 0,
                "resolved": 0
            },
            "is_mergeable": true,
            "escalation_policy": {
                "id": "PI***ZB",
                "type": "escalation_policy_reference",
                "summary": "Default",
                "self": "https://api.pagerduty.com/escalation_policies/PI***ZB",
                "html_url": "https://*****.pagerduty.com/escalation_policies/PI***ZB"
            },
            "teams": [],
            "pending_actions": [],
            "acknowledgements": [],
            "basic_alert_grouping": null,
            "alert_grouping": null,
            "last_status_change_by": {
                "id": "PN***69",
                "type": "service_reference",
                "summary": "D****y",
                "self": "https://api.pagerduty.com/********/PN***69",
                "html_url": "https://*****.pagerduty.com/*******-*********/PN***69"
            },
            "priority": null,
            "incidents_responders": [
                {
                    "state": "joined",
                    "user": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/users/*****",
                        "avatar_url": "https://*******.gravatar.com/avatar/******************************",
                        "job_title": null
                    },
                    "incident": {
                        "id": "Q0P********QV8",
                        "type": "incident_reference",
                        "summary": "[#2] Urgent customer call 20220110",
                        "self": "https://api.pagerduty.com/*********/Q0P********QV8",
                        "html_url": "https://*****.pagerduty.com/*********/Q0P********QV8"
                    },
                    "updated_at": "2022-01-10T23:50:33Z",
                    "message": "Please help with \"[#2] Urgent customer call 20220110\"",
                    "requester": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/users/*****",
                        "avatar_url": "https://*******.gravatar.com/avatar/******************************",
                        "job_title": null
                    },
                    "requested_at": "2022-01-10T23:42:57Z"
                }
            ],
            "responder_requests": [
                {
                    "incident": {
                        "id": "Q0P********QV8",
                        "type": "incident_reference",
                        "summary": "[#2] Urgent customer call 20220110",
                        "self": "https://api.pagerduty.com/*********/Q0P********QV8",
                        "html_url": "https://*****.pagerduty.com/*********/Q0P********QV8"
                    },
                    "requester": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/users/*****"
                    },
                    "requested_at": "2022-01-10T23:42:57Z",
                    "message": "Please help with \"[#2] Urgent customer call 20220110\"",
                    "responder_request_targets": [
                        {
                            "responder_request_target": {
                                "type": "user",
                                "id": "*****",
                                "summary": null,
                                "incidents_responders": [
                                    {
                                        "state": "joined",
                                        "user": {
                                            "id": "*****",
                                            "type": "user_reference",
                                            "summary": "T*** F*",
                                            "self": "https://api.pagerduty.com/*****/*****",
                                            "html_url": "https://*****.pagerduty.com/users/*****",
                                            "avatar_url": "https://*******.gravatar.com/avatar/******************************",
                                            "job_title": null
                                        },
                                        "incident": {
                                            "id": "Q0P********QV8",
                                            "type": "incident_reference",
                                            "summary": "[#2] Urgent customer call 20220110",
                                            "self": "https://api.pagerduty.com/*********/Q0P********QV8",
                                            "html_url": "https://*****.pagerduty.com/*********/Q0P********QV8"
                                        },
                                        "updated_at": "2022-01-10T23:50:33Z",
                                        "message": "Please help with \"[#2] Urgent customer call 20220110\"",
                                        "requester": {
                                            "id": "*****",
                                            "type": "user_reference",
                                            "summary": "T*** F*",
                                            "self": "https://api.pagerduty.com/*****/*****",
                                            "html_url": "https://*****.pagerduty.com/users/*****",
                                            "avatar_url": "https://*******.gravatar.com/avatar/******************************",
                                            "job_title": null
                                        },
                                        "requested_at": "2022-01-10T23:42:57Z"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ],
            "subscriber_requests": [],
            "urgency": "high",
            "id": "Q0P********QV8",
            "type": "incident",
            "summary": "[#2] Urgent customer call 20220110",
            "self": "https://api.pagerduty.com/*********/Q0P********QV8",
            "html_url": "https://*****.pagerduty.com/*********/Q0P********QV8"
        }
    ],
    "limit": 10,
    "offset": 0,
    "total": null,
    "more": false
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "Incident_IDs": ["Q39********GHD"],
  "Incident_Keys": ["7b45************e9fb9"],
  "Incident_Numbers": ["10"],
  "Titles": [ "Example alert on 2021101400a" ]
  "Statuses": ["acknowledged"],
  "Priorities": ["null"],
  "Urgencies": ["high"]
}
Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

incident_number

title

description

created_at

status

incident_key

service

assignments

assigned_via

last_status_change_at

first_trigger_log_entry

alert_counts

is_mergeable

escalation_policy

teams

pending_actions

acknowledgements

basic_alert_grouping

alert_grouping

last_status_change_by

priority

incidents_responders

responder_requests

subscriber_requests

urgency

id

type

summary

self

html_url

2

Urgent customer call 20220110

Urgent customer call 20220110

2022-01-10T23:42:57Z

triggered

d30**************************314

{'id': 'PN***69', 'type': 'service_reference', 'summary': 'D****y', 'self': 'https://api.pagerduty.com/********/PN***69', 'html_url': 'https://*****.pagerduty.com/*******-*********/PN***69'}

[{'at': '2022-01-10T23:42:57Z', 'assignee': {'id': 'P235V70', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/P235V70', 'html_url': 'https://*****.pagerduty.com/users/P235V70'}}]

escalation_policy

2022-01-10T23:51:23Z

{'id': 'R9Y**********************66U', 'type': 'trigger_log_entry', 'summary': 'Triggered through the website', 'self': 'https://api.pagerduty.com/***_*******/R9Y**********************66U', 'html_url': 'https://*****.pagerduty.com/*********/Q0P********QV8/log_entries/R9Y**********************66U', 'created_at': '2022-01-10T23:42:57Z', 'agent': {'id': 'P235V70', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/P235V70', 'html_url': 'https://*****.pagerduty.com/users/P235V70'}, 'channel': {'type': 'web_trigger', 'summary': 'Urgent customer call 20220110', 'subject': 'Urgent customer call 20220110', 'details': 'test inc desc 002'}, 'service': {'id': 'PN***69', 'type': 'service_reference', 'summary': 'D****y', 'self': 'https://api.pagerduty.com/********/PN***69', 'html_url': 'https://*****.pagerduty.com/*******-*********/PN***69'}, 'incident': {'id': 'Q0P********QV8', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/Q0P********QV8', 'html_url': 'https://*****.pagerduty.com/*********/Q0P********QV8'}, 'teams': [], 'contexts': [], 'event_details': {'description': 'Urgent customer call 20220110'}}

{'all': 0, 'triggered': 0, 'resolved': 0}

True

{'id': 'PI***ZB', 'type': 'escalation_policy_reference', 'summary': 'Default', 'self': 'https://api.pagerduty.com/escalation_policies/PI***ZB', 'html_url': 'https://*****.pagerduty.com/escalation_policies/PI***ZB'}

[]

[]

[]

None

None

{'id': 'PN***69', 'type': 'service_reference', 'summary': 'D****y', 'self': 'https://api.pagerduty.com/********/PN***69', 'html_url': 'https://*****.pagerduty.com/*******-*********/PN***69'}

None

[{'state': 'joined', 'user': {'id': 'P235V70', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/P235V70', 'html_url': 'https://*****.pagerduty.com/users/P235V70', 'avatar_url': 'https://*******.gravatar.com/avatar/******************************', 'job_title': None}, 'incident': {'id': 'Q0P********QV8', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/Q0P********QV8', 'html_url': 'https://*****.pagerduty.com/*********/Q0P********QV8'}, 'updated_at': '2022-01-10T23:50:33Z', 'message': 'Please help with "[#2] Urgent customer call 20220110"', 'requester': {'id': 'P235V70', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/P235V70', 'html_url': 'https://*****.pagerduty.com/users/P235V70', 'avatar_url': 'https://*******.gravatar.com/avatar/******************************', 'job_title': None}, 'requested_at': '2022-01-10T23:42:57Z'}]

[{'incident': {'id': 'Q0P********QV8', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/Q0P********QV8', 'html_url': 'https://*****.pagerduty.com/*********/Q0P********QV8'}, 'requester': {'id': 'P235V70', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/P235V70', 'html_url': 'https://*****.pagerduty.com/users/P235V70'}, 'requested_at': '2022-01-10T23:42:57Z', 'message': 'Please help with "[#2] Urgent customer call 20220110"', 'responder_request_targets': [{'responder_request_target': {'type': 'user', 'id': 'P235V70', 'summary': None, 'incidents_responders': [{'state': 'joined', 'user': {'id': 'P235V70', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/P235V70', 'html_url': 'https://*****.pagerduty.com/users/P235V70', 'avatar_url': 'https://*******.gravatar.com/avatar/******************************', 'job_title': None}, 'incident': {'id': 'Q0P********QV8', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/Q0P********QV8', 'html_url': 'https://*****.pagerduty.com/*********/Q0P********QV8'}, 'updated_at': '2022-01-10T23:50:33Z', 'message': 'Please help with "[#2] Urgent customer call 20220110"', 'requester': {'id': 'P235V70', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/P235V70', 'html_url': 'https://*****.pagerduty.com/users/P235V70', 'avatar_url': 'https://*******.gravatar.com/avatar/******************************', 'job_title': None}, 'requested_at': '2022-01-10T23:42:57Z'}]}}]}]

[]

high

Q0P********QV8

incident

[#2] Urgent customer call 20220110

https://api.pagerduty.com/*********/Q0P********QV8

https://*****.pagerduty.com/*********/Q0P********QV8

status

success

message

Event processed

dedup_key

c88**************************00e

Incident Field Mapping

For this integration, the default incident fields in D3 SOAR are fixed with no built-in source fields. Users can specify the source fields as needed.

Event and Incident Intake Field Mapping

Please note that incident and event intake commands require both Event Field and Incident Field Mapping. These field mappings are the default event/incident field mappings for D3 system integrations. You can edit the provided mappings or create custom mappings as needed. Please refer to Event and Incident Intake Field Mapping for more details.

Incident Main JSON Path: $.incidents

Field Name

Source Field

Title

User to define

Description

User to define

Severity

User to define, default is “Low”

Incident Type *

User to define, default is the first Incident form in D3 SOAR system

Incident Creator

User to define

Incident Owner

User to define

Incident Playbook

User to define

Due In Date

User to define

Unique Key

User to define

Tactics

User to define

Techniques

User to define

Event Field Mapping

Main Event JSON Path

  • $

Please refer to the table below for Event Field Mapping:

Field Name

Source Field

Unique Event Key

.id

Start Time

.created_at

Event Type

.type

Description

.description

Status

.status

Urgency

.urgency

Priority

.priority

Title

.title

IncidentNumber

.incident_number

IncidentKey

.incident_key

AlertCounts

.alert_counts.all

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Fetch Incident failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2001.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Number of Incident(s) Fetched) is invalid.

Error Sample Data

Fetch Incident failed.

Status Code: 2001.

Message: The value for parameter (Number of Incident(s) Fetched) is invalid.

Get All Schedules

Retrieves the on-call schedules.

Input

N/A

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "schedules": [
        {
            "id": "*****",
            "type": "schedule",
            "summary": "schedule 2022q1",
            "self": "https://api.pagerduty.com/schedules/*****",
            "html_url": "https://*****.pagerduty.com/schedules/*****",
            "name": "schedule 2022q1",
            "time_zone": "Etc/UTC",
            "description": "test schedule 2022q1",
            "users": [
                {
                    "id": "*****",
                    "type": "user_reference",
                    "summary": "T*** F*",
                    "self": "https://api.pagerduty.com/*****/*****",
                    "html_url": "https://*****.pagerduty.com/users/*****"
                }
            ],
            "escalation_policies": [],
            "teams": []
        }
    ],
    "limit": 25,
    "offset": 0,
    "total": null,
    "more": false
}
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

D3 customizes the Context Data by extracting the data from path $.schedules in API returned JSON.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
No Sample Data
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "IDs": ["*****"],
  "Types": ["schedule"],
  "Names": [ "schedule 2022q1" ]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

id

type

summary

self

html_url

name

time_zone

description

users

escalation_policies

teams

*****

schedule

schedule 2022q1

https://api.pagerduty.com/schedules/*****

https://*****.pagerduty.com/schedules/*****

schedule 2022q1

Etc/UTC

test schedule 2022q1

[{'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****'}]

[]

[]

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Get All Schedules failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2010.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Access Denied.

Error Sample Data

Get All Schedules failed.

Status Code: 2010.

Message: Access Denied.

Get Incident Alerts

Retrieves all alerts related to the specified incident.

READER NOTE

The parameter Incident IDs is required to run this command.

  • Run the Fetch Incident command to obtain Incident IDs. Incident IDs can be found in the returned raw data at the path $.incidents[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Incident IDs

Required

The ID to identify an incident. Incident IDs can be obtained using the Fetch Incident command.

["Q25********0BF"]

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "alerts": [
            {
                "id": "Q0C********WG3",
                "type": "alert",
                "summary": "Example alert on 2022011000f",
                "self": "https://api.pagerduty.com/******/Q0C********WG3",
                "html_url": "https://*****.pagerduty.com/******/Q0C********WG3",
                "created_at": "2022-01-11T00:14:44Z",
                "status": "resolved",
                "resolved_at": "2022-01-11T23:03:35Z",
                "alert_key": "488****************196",
                "suppressed": false,
                "service": {
                    "id": "PN***69",
                    "type": "service_reference",
                    "summary": "D****y",
                    "self": "https://api.pagerduty.com/********/PN***69",
                    "html_url": "https://*****.pagerduty.com/*******-*********/PN***69"
                },
                "severity": "warning",
                "incident": {
                    "id": "Q25********0BF",
                    "type": "incident_reference",
                    "summary": "[#4] Example alert on 2022011000f",
                    "self": "https://api.pagerduty.com/*********/Q25********0BF",
                    "html_url": "https://*****.pagerduty.com/*********/Q25********0BF"
                },
                "first_trigger_log_entry": {
                    "id": "R0V1RAHJR901MNO4TSSDIZYPRO",
                    "type": "trigger_log_entry_reference",
                    "summary": "Triggered through the API",
                    "self": "https://api.pagerduty.com/***_*******/R0V1RAHJR901MNO4TSSDIZYPRO",
                    "html_url": "https://*****.pagerduty.com/******/Q0C********WG3/log_entries/R0V1RAHJR901MNO4TSSDIZYPRO"
                },
                "body": {
                    "contexts": [],
                    "details": {
                        "load avg": 0.75,
                        "ping time": "1500ms"
                    },
                    "cef_details": {
                        "contexts": [],
                        "dedup_key": "488****************196",
                        "description": "Example alert on 2022011000f",
                        "details": {
                            "load avg": 0.75,
                            "ping time": "1500ms"
                        },
                        "event_class": "deploy",
                        "message": "Example alert on 2022011000f",
                        "mutations": [],
                        "service_group": "prod-datapipe",
                        "severity": "warning",
                        "source_component": "postgres",
                        "source_origin": "******.example.com",
                        "version": "1.0"
                    },
                    "type": "alert_body"
                },
                "integration": {
                    "id": "PX***FC",
                    "type": "events_api_v2_*******_**********_*******",
                    "summary": "Events API V2",
                    "self": "https://api.pagerduty.com/********/PN***69/integrations/PX***FC",
                    "html_url": "https://*****.pagerduty.com/********/PN***69/integrations/PX***FC"
                },
                "privilege": null
            }
        ],
        "limit": 1000,
        "offset": 0,
        "more": false,
        "total": null
    }
]
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

D3 customizes the Context Data by extracting the data from path $.alerts in API returned JSON.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "id": "Q3B********LLF",
        "type": "alert",
        "summary": "Test Send Alert Event 101*******Cef",
        "self": "https://api.pagerduty.com/******/Q3B********LLF",
        "html_url": "https://***********.pagerduty.com/******/Q3B********LLF",
        "created_at": "2021-10-14T17:33:19-07:00",
        "status": "resolved",
        "resolved_at": "2021-10-15T09:52:23-07:00",
        "alert_key": "3f5**************38a",
        "suppressed": false,
        "service": {
            "id": "PK***13",
            "type": "service_reference",
            "summary": "testService",
            "self": "https://api.pagerduty.com/********/PK***13",
            "html_url": "https://***********.pagerduty.com/*******-*********/PK***13"
        },
        "severity": "info",
        "incident": {
            "id": "Q3S*********341",
            "type": "incident_reference",
            "summary": "[#15] Test Send Alert Event 101*******Cdd",
            "self": "https://api.pagerduty.com/*********/Q3S*********341",
            "html_url": "https://***********.pagerduty.com/*********/Q3S*********341"
        },
        "first_trigger_log_entry": {
            "id": "RS0***********9FR",
            "type": "trigger_log_entry_reference",
            "summary": "Triggered through the API",
            "self": "https://api.pagerduty.com/***_*******/RS0***********9FR",
            "html_url": "https://***********.pagerduty.com/******/Q3B********LLF/log_entries/RS0***********9FR"
        },
        "body": {
            "contexts": [],
            "details": {
                "client": "Sample Monitoring Service",
                "priority": "High"
            },
            "cef_details": {
                "contexts": [],
                "dedup_key": "3f5**************38a",
                "description": "Test Send Alert Event 101*******Cef",
                "details": {
                    "client": "Sample Monitoring Service",
                    "priority": "High"
                },
                "event_class": "deploy",
                "message": "Test Send Alert Event 101*******Cef",
                "mutations": [],
                "service_group": "prod-datapipe",
                "severity": "info",
                "source_component": "postgres2",
                "source_origin": "monitoringtool:**********:central-region-dc-02",
                "version": "1.0"
            },
            "type": "alert_body"
        },
        "integration": {
            "id": "PQ***1R",
            "type": "events_api_v2_*******_**********_*******",
            "summary": "Events API v2",
            "self": "https://api.pagerduty.com/********/PK***13/integrations/PQ***1R",
            "html_url": "https://***********.pagerduty.com/********/PK***13/integrations/PQ***1R"
        },
        "privilege": null
    },
    {
        "id": "Q2N*******WER",
        "type": "alert",
        "summary": "Test Send Alert Event 101*******Cef",
        "self": "https://api.pagerduty.com/******/Q2N*******WER",
        "html_url": "https://***********.pagerduty.com/******/Q2N*******WER",
        "created_at": "2021-10-14T17:33:04-07:00",
        "status": "resolved",
        "resolved_at": "2021-10-15T09:52:23-07:00",
        "alert_key": "3e9************cd1",
        "suppressed": false,
        "service": {
            "id": "PK***13",
            "type": "service_reference",
            "summary": "testService",
            "self": "https://api.pagerduty.com/********/PK***13",
            "html_url": "https://***********.pagerduty.com/*******-*********/PK***13"
        },
        "severity": "info",
        "incident": {
            "id": "Q3S*********341",
            "type": "incident_reference",
            "summary": "[#15] Test Send Alert Event 101*******Cdd",
            "self": "https://api.pagerduty.com/*********/Q3S*********341",
            "html_url": "https://***********.pagerduty.com/*********/Q3S*********341"
        },
        "first_trigger_log_entry": {
            "id": "R9P***********6GV",
            "type": "trigger_log_entry_reference",
            "summary": "Triggered through the API",
            "self": "https://api.pagerduty.com/***_*******/R9P***********6GV",
            "html_url": "https://***********.pagerduty.com/******/Q2N*******WER/log_entries/R9P***********6GV"
        },
        "body": {
            "contexts": [],
            "details": {
                "client": "Sample Monitoring Service",
                "priority": "High"
            },
            "cef_details": {
                "contexts": [],
                "dedup_key": "3e9************cd1",
                "description": "Test Send Alert Event 101*******Cef",
                "details": {
                    "client": "Sample Monitoring Service",
                    "priority": "High"
                },
                "event_class": "deploy",
                "message": "Test Send Alert Event 101*******Cef",
                "mutations": [],
                "service_group": "prod-datapipe",
                "severity": "info",
                "source_component": "postgres2",
                "source_origin": "monitoringtool:***********:central-region-dc-02",
                "version": "1.0"
            },
            "type": "alert_body"
        },
        "integration": {
            "id": "PQ***1R",
            "type": "events_api_v2_*******_**********_*******",
            "summary": "Events API v2",
            "self": "https://api.pagerduty.com/********/PK***13/integrations/PQ***1R",
            "html_url": "https://***********.pagerduty.com/********/PK***13/integrations/PQ***1R"
        },
        "privilege": null
    },
    {
        "id": "Q0S********P4N",
        "type": "alert",
        "summary": "Test Send Alert Event 101*******Cef",
        "self": "https://api.pagerduty.com/******/Q0S********P4N",
        "html_url": "https://***********.pagerduty.com/******/Q0S********P4N",
        "created_at": "2021-10-14T17:32:50-07:00",
        "status": "resolved",
        "resolved_at": "2021-10-15T09:52:23-07:00",
        "alert_key": "348**************359",
        "suppressed": false,
        "service": {
            "id": "PK***13",
            "type": "service_reference",
            "summary": "testService",
            "self": "https://api.pagerduty.com/********/PK***13",
            "html_url": "https://***********.pagerduty.com/*******-*********/PK***13"
        },
        "severity": "info",
        "incident": {
            "id": "Q3S*********341",
            "type": "incident_reference",
            "summary": "[#15] Test Send Alert Event 101*******Cdd",
            "self": "https://api.pagerduty.com/*********/Q3S*********341",
            "html_url": "https://***********.pagerduty.com/*********/Q3S*********341"
        },
        "first_trigger_log_entry": {
            "id": "R9I************ID3",
            "type": "trigger_log_entry_reference",
            "summary": "Triggered through the API",
            "self": "https://api.pagerduty.com/***_*******/R9I************ID3",
            "html_url": "https://***********.pagerduty.com/******/Q0S********P4N/log_entries/R9I************ID3"
        },
        "body": {
            "contexts": [],
            "details": {
                "client": "Sample Monitoring Service",
                "priority": "High"
            },
            "cef_details": {
                "contexts": [],
                "dedup_key": "348**************359",
                "description": "Test Send Alert Event 101*******Cef",
                "details": {
                    "client": "Sample Monitoring Service",
                    "priority": "High"
                },
                "event_class": "deploy",
                "message": "Test Send Alert Event 101*******Cef",
                "mutations": [],
                "service_group": "prod-datapipe",
                "severity": "info",
                "source_component": "postgres",
                "source_origin": "monitoringtool:***********:central-region-dc-02",
                "version": "1.0"
            },
            "type": "alert_body"
        },
        "integration": {
            "id": "PQ***1R",
            "type": "events_api_v2_*******_**********_*******",
            "summary": "Events API v2",
            "self": "https://api.pagerduty.com/********/PK***13/integrations/PQ***1R",
            "html_url": "https://***********.pagerduty.com/********/PK***13/integrations/PQ***1R"
        },
        "privilege": null
    },
    {
        "id": "Q2I******3PU",
        "type": "alert",
        "summary": "Test Send Alert Event 101*******Cef",
        "self": "https://api.pagerduty.com/******/Q2I******3PU",
        "html_url": "https://***********.pagerduty.com/******/Q2I******3PU",
        "created_at": "2021-10-14T17:32:29-07:00",
        "status": "resolved",
        "resolved_at": "2021-10-15T09:52:23-07:00",
        "alert_key": "e06**************243",
        "suppressed": false,
        "service": {
            "id": "PK***13",
            "type": "service_reference",
            "summary": "testService",
            "self": "https://api.pagerduty.com/********/PK***13",
            "html_url": "https://***********.pagerduty.com/*******-*********/PK***13"
        },
        "severity": "info",
        "incident": {
            "id": "Q3S*********341",
            "type": "incident_reference",
            "summary": "[#15] Test Send Alert Event 101*******Cdd",
            "self": "https://api.pagerduty.com/*********/Q3S*********341",
            "html_url": "https://***********.pagerduty.com/*********/Q3S*********341"
        },
        "first_trigger_log_entry": {
            "id": "RNI**************T34",
            "type": "trigger_log_entry_reference",
            "summary": "Triggered through the API",
            "self": "https://api.pagerduty.com/***_*******/RNI**************T34",
            "html_url": "https://***********.pagerduty.com/******/Q2I******3PU/log_entries/RNI**************T34"
        },
        "body": {
            "contexts": [],
            "details": {
                "client": "Sample Monitoring Service",
                "priority": "High"
            },
            "cef_details": {
                "contexts": [],
                "dedup_key": "e06**************243",
                "description": "Test Send Alert Event 101*******Cef",
                "details": {
                    "client": "Sample Monitoring Service",
                    "priority": "High"
                },
                "event_class": "deploy",
                "message": "Test Send Alert Event 101*******Cef",
                "mutations": [],
                "service_group": "prod-datapipe",
                "severity": "info",
                "source_component": "post******",
                "source_origin": "monitoringtool:***********:central-region-dc-01",
                "version": "1.0"
            },
            "type": "alert_body"
        },
        "integration": {
            "id": "PQ***1R",
            "type": "events_api_v2_*******_**********_*******",
            "summary": "Events API v2",
            "self": "https://api.pagerduty.com/********/PK***13/integrations/PQ***1R",
            "html_url": "https://***********.pagerduty.com/********/PK***13/integrations/PQ***1R"
        },
        "privilege": null
    },
    {
        "id": "Q08********BUH",
        "type": "alert",
        "summary": "Test Send Alert Event 101******Cee",
        "self": "https://api.pagerduty.com/******/Q08********BUH",
        "html_url": "https://***********.pagerduty.com/******/Q08********BUH",
        "created_at": "2021-10-14T17:32:09-07:00",
        "status": "resolved",
        "resolved_at": "2021-10-15T09:52:23-07:00",
        "alert_key": "ca0************5a7",
        "suppressed": false,
        "service": {
            "id": "PK***13",
            "type": "service_reference",
            "summary": "testService",
            "self": "https://api.pagerduty.com/********/PK***13",
            "html_url": "https://***********.pagerduty.com/*******-*********/PK***13"
        },
        "severity": "error",
        "incident": {
            "id": "Q3S*********341",
            "type": "incident_reference",
            "summary": "[#15] Test Send Alert Event 101*******Cdd",
            "self": "https://api.pagerduty.com/*********/Q3S*********341",
            "html_url": "https://***********.pagerduty.com/*********/Q3S*********341"
        },
        "first_trigger_log_entry": {
            "id": "RNM***********NSW",
            "type": "trigger_log_entry_reference",
            "summary": "Triggered through the API",
            "self": "https://api.pagerduty.com/***_*******/RNM***********NSW",
            "html_url": "https://***********.pagerduty.com/******/Q08********BUH/log_entries/RNM***********NSW"
        },
        "body": {
            "contexts": [],
            "details": {
                "client": "Sample Monitoring Service",
                "priority": "High"
            },
            "cef_details": {
                "contexts": [],
                "dedup_key": "ca0************5a7",
                "description": "Test Send Alert Event 101******Cee",
                "details": {
                    "client": "Sample Monitoring Service",
                    "priority": "High"
                },
                "event_class": "deploy",
                "message": "Test Send Alert Event 101******Cee",
                "mutations": [],
                "service_group": "prod-datapipe",
                "severity": "error",
                "source_component": "post******",
                "source_origin": "monitoringtool:***********:central-region-dc-01",
                "version": "1.0"
            },
            "type": "alert_body"
        },
        "integration": {
            "id": "PQ***1R",
            "type": "events_api_v2_*******_**********_*******",
            "summary": "Events API v2",
            "self": "https://api.pagerduty.com/********/PK***13/integrations/PQ***1R",
            "html_url": "https://***********.pagerduty.com/********/PK***13/integrations/PQ***1R"
        },
        "privilege": null
    },
    {
        "id": "Q39*********AMT",
        "type": "alert",
        "summary": "Test Send Alert Event 101*******Cdd",
        "self": "https://api.pagerduty.com/******/Q39*********AMT",
        "html_url": "https://***********.pagerduty.com/******/Q39*********AMT",
        "created_at": "2021-10-14T17:31:25-07:00",
        "status": "resolved",
        "resolved_at": "2021-10-15T09:52:23-07:00",
        "alert_key": "4e0***************69f",
        "suppressed": false,
        "service": {
            "id": "PK***13",
            "type": "service_reference",
            "summary": "testService",
            "self": "https://api.pagerduty.com/********/PK***13",
            "html_url": "https://***********.pagerduty.com/*******-*********/PK***13"
        },
        "severity": "error",
        "incident": {
            "id": "Q3S*********341",
            "type": "incident_reference",
            "summary": "[#15] Test Send Alert Event 101*******Cdd",
            "self": "https://api.pagerduty.com/*********/Q3S*********341",
            "html_url": "https://***********.pagerduty.com/*********/Q3S*********341"
        },
        "first_trigger_log_entry": {
            "id": "ROD***************JDP",
            "type": "trigger_log_entry_reference",
            "summary": "Triggered through the API",
            "self": "https://api.pagerduty.com/***_*******/ROD***************JDP",
            "html_url": "https://***********.pagerduty.com/******/Q39*********AMT/log_entries/ROD***************JDP"
        },
        "body": {
            "contexts": [],
            "details": {
                "client": "Sample Monitoring Service",
                "priority": "High"
            },
            "cef_details": {
                "contexts": [],
                "dedup_key": "4e0***************69f",
                "description": "Test Send Alert Event 101*******Cdd",
                "details": {
                    "client": "Sample Monitoring Service",
                    "priority": "High"
                },
                "event_class": "deploy",
                "message": "Test Send Alert Event 101*******Cdd",
                "mutations": [],
                "service_group": "prod-datapipe",
                "severity": "error",
                "source_component": "post******",
                "source_origin": "monitoringtool:***********:central-region-dc-01",
                "version": "1.0"
            },
            "type": "alert_body"
        },
        "integration": {
            "id": "PQ***1R",
            "type": "events_api_v2_*******_**********_*******",
            "summary": "Events API v2",
            "self": "https://api.pagerduty.com/********/PK***13/integrations/PQ***1R",
            "html_url": "https://***********.pagerduty.com/********/PK***13/integrations/PQ***1R"
        },
        "privilege": null
    },
    {
        "id": "Q26********4NB",
        "type": "alert",
        "summary": "Test Send Alert Event 101*******Cdd",
        "self": "https://api.pagerduty.com/******/Q26********4NB",
        "html_url": "https://***********.pagerduty.com/******/Q26********4NB",
        "created_at": "2021-10-14T17:30:38-07:00",
        "status": "resolved",
        "resolved_at": "2021-10-15T09:52:23-07:00",
        "alert_key": "c46***************2df",
        "suppressed": false,
        "service": {
            "id": "PK***13",
            "type": "service_reference",
            "summary": "testService",
            "self": "https://api.pagerduty.com/********/PK***13",
            "html_url": "https://***********.pagerduty.com/*******-*********/PK***13"
        },
        "severity": "warning",
        "incident": {
            "id": "Q3S*********341",
            "type": "incident_reference",
            "summary": "[#15] Test Send Alert Event 101*******Cdd",
            "self": "https://api.pagerduty.com/*********/Q3S*********341",
            "html_url": "https://***********.pagerduty.com/*********/Q3S*********341"
        },
        "first_trigger_log_entry": {
            "id": "R2D*******************X28",
            "type": "trigger_log_entry_reference",
            "summary": "Triggered through the API",
            "self": "https://api.pagerduty.com/***_*******/R2D*******************X28",
            "html_url": "https://***********.pagerduty.com/******/Q26********4NB/log_entries/R2D*******************X28"
        },
        "body": {
            "contexts": [],
            "details": {
                "client": "Sample Monitoring Service",
                "priority": "High"
            },
            "cef_details": {
                "contexts": [],
                "dedup_key": "c46***************2df",
                "description": "Test Send Alert Event 101*******Cdd",
                "details": {
                    "client": "Sample Monitoring Service",
                    "priority": "High"
                },
                "event_class": "deploy",
                "message": "Test Send Alert Event 101*******Cdd",
                "mutations": [],
                "service_group": "prod-datapipe",
                "severity": "warning",
                "source_component": "postgres",
                "source_origin": "monitoringtool:***********:central-region-dc-01:852559987:cluster/api-stats-prod-003",
                "version": "1.0"
            },
            "type": "alert_body"
        },
        "integration": {
            "id": "PQ***1R",
            "type": "events_api_v2_*******_**********_*******",
            "summary": "Events API v2",
            "self": "https://api.pagerduty.com/********/PK***13/integrations/PQ***1R",
            "html_url": "https://***********.pagerduty.com/********/PK***13/integrations/PQ***1R"
        },
        "privilege": null
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "Statuses": ["resolved"],
  "Alert_Keys": ["488****************196"],
  "Severities": [ "warning" ]
}
Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

id

type

summary

self

html_url

created_at

status

resolved_at

alert_key

suppressed

service

severity

incident

first_trigger_log_entry

body

integration

privilege

Q0C********WG3

alert

Example alert on 2022011000f

https://api.pagerduty.com/******/Q0C********WG3

https://*****.pagerduty.com/******/Q0C********WG3

2022-01-11T00:14:44Z

resolved

2022-01-11T23:03:35Z

488****************196

False

{'id': 'PN***69', 'type': 'service_reference', 'summary': 'D****y', 'self': 'https://api.pagerduty.com/********/PN***69', 'html_url': 'https://*****.pagerduty.com/*******-*********/PN***69'}

warning

{'id': 'Q25********0BF', 'type': 'incident_reference', 'summary': '[#4] Example alert on 2022011000f', 'self': 'https://api.pagerduty.com/*********/Q25********0BF', 'html_url': 'https://*****.pagerduty.com/*********/Q25********0BF'}

{'id': 'R0V1RAHJR901MNO4TSSDIZYPRO', 'type': 'trigger_log_entry_reference', 'summary': 'Triggered through the API', 'self': 'https://api.pagerduty.com/***_*******/R0V1RAHJR901MNO4TSSDIZYPRO', 'html_url': 'https://*****.pagerduty.com/******/Q0C********WG3/log_entries/R0V1RAHJR901MNO4TSSDIZYPRO'}

{'contexts': [], 'details': {'load avg': 0.75, 'ping time': '1500ms'}, 'cef_details': {'contexts': [], 'dedup_key': '488****************196', 'description': 'Example alert on 2022011000f', 'details': {'load avg': 0.75, 'ping time': '1500ms'}, 'event_class': 'deploy', 'message': 'Example alert on 2022011000f', 'mutations': [], 'service_group': 'prod-datapipe', 'severity': 'warning', 'source_component': 'postgres', 'source_origin': 'devops.example.com', 'version': '1.0'}, 'type': 'alert_body'}

{'id': 'PX***FC', 'type': 'events_api_v2_*******_**********_*******', 'summary': 'Events API V2', 'self': 'https://api.pagerduty.com/********/PN***69/integrations/PX***FC', 'html_url': 'https://*****.pagerduty.com/********/PN***69/integrations/PX***FC'}

None

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Get Incident Alerts failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2100.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Not Found.

Error Sample Data

Get Incident Alerts failed.

Status Code: 2100.

Message: Not Found.

Get User Contact Methods

Retrieves contact methods of the specified user.

READER NOTE

The parameter User IDs is required to run this command.

  • Run the List Users command to obtain User IDs. User IDs can be found in the returned raw data at the path $.users[*].id.

Input

Input Parameter

Required/Optional

Description

Example

User IDs

Required

The IDs of the users to get contact methods. The user IDs can be obtained using the List Users command.

["*****"]

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "contact_methods": [
            {
                "id": "*****",
                "type": "email_contact_method",
                "summary": "Default",
                "self": "https://api.pagerduty.com/*****/*****/contact_methods/*****",
                "html_url": null,
                "label": "Default",
                "address": "*****@*****.***",
                "send_short_email": false,
                "send_html_email": true
            }
        ],
        "total": 1
    }
]
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

D3 customizes the Context Data by extracting the data from path $.contact_methods in API returned JSON.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "id": "*****",
        "type": "email_contact_method",
        "summary": "Default",
        "self": "https://api.pagerduty.com/*****/*****/contact_methods/*****",
        "html_url": null,
        "label": "Default",
        "address": "*****@*****.***",
        "send_short_email": false,
        "send_html_email": true
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "IDs": ["*****"],
  "Types": ["email_contact_method"],
  "Summaries": ["Default"],
  "Labels": ["Default"],
  "Addresses":  ["*****@*****.***"]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

id

type

summary

self

html_url

label

address

send_short_email

send_html_email

*****

email_contact_method

Default

https://api.pagerduty.com/*****/*****/contact_methods/*****

None

Default

*****@*****.***

False

True

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Get User Contact Methods failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2100.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: User ID not found.

Error Sample Data

Get User Contact Methods failed.

Status Code: 2100.

Message: User ID not found.

List Users

Lists users of your PagerDuty account.

Input

Input Parameter

Required/Optional

Description

Example

Query

Optional

The query string filters results, for example, filtering username or email.

sysint@d3security.com

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "users": [
        {
            "name": "T*** F*",
            "email": "*****@*****.***",
            "time_zone": "Etc/UTC",
            "color": "purple",
            "avatar_url": "https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG",
            "billed": true,
            "role": "owner",
            "description": null,
            "invitation_sent": false,
            "job_title": null,
            "teams": [],
            "contact_methods": [
                {
                    "id": "*****",
                    "type": "email_contact_method_reference",
                    "summary": "Default",
                    "self": "https://api.pagerduty.com/*****/*****/contact_methods/*****",
                    "html_url": null
                }
            ],
            "notification_rules": [
                {
                    "id": "*****",
                    "type": "assignment_notification_rule_reference",
                    "summary": "0 minutes: channel *****",
                    "self": "https://api.pagerduty.com/*****/*****/notification_rules/*****",
                    "html_url": null
                },
                {
                    "id": "*****",
                    "type": "assignment_notification_rule_reference",
                    "summary": "0 minutes: channel *****",
                    "self": "https://api.pagerduty.com/*****/*****/notification_rules/*****",
                    "html_url": null
                }
            ],
            "coordinated_incidents": [
                {
                    "incident": {
                        "id": "*****",
                        "type": "incident_reference",
                        "summary": "[#2] Urgent customer call 20220110",
                        "self": "https://api.pagerduty.com/*********/*****",
                        "html_url": "https://*****.pagerduty.com/*********/*****"
                    },
                    "requester": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/users/*****"
                    },
                    "message": "Please help with \"[#2] Urgent customer call 20220110\"",
                    "state": "joined",
                    "requested_at": "2022-01-10T23:42:57Z"
                }
            ],
            "id": "*****",
            "type": "user",
            "summary": "T*** F*",
            "self": "https://api.pagerduty.com/*****/*****",
            "html_url": "https://*****.pagerduty.com/users/*****"
        }
    ],
    "query": "*****@*****.***",
    "limit": 25,
    "offset": 0,
    "total": null,
    "more": false
}
Context Data

The data extracted from Raw Data converted into JSON format. Context Data may be identical to Raw Data in some cases.

D3 customizes the Context Data by extracting the data from path $.users in API returned JSON.

It is recommended to refer to the Raw Data instead of Context Data, since it contains the complete API response data. D3 will deprecate Context Data in the future, and playbook tasks using Context Data will be replaced with Raw Data.

SAMPLE DATA

CODE
[
    {
        "name": "sysint",
        "email": "sysint@d3security.com",
        "time_zone": "America/Los_Angeles",
        "color": "red",
        "avatar_url": "https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG",
        "billed": true,
        "role": "admin",
        "description": null,
        "invitation_sent": false,
        "job_title": null,
        "teams": [],
        "contact_methods": [
            {
                "id": "*****",
                "type": "email_contact_method_reference",
                "summary": "Default",
                "self": "https://api.pagerduty.com/*****/*****/contact_methods/*****",
                "html_url": null
            },
            {
                "id": "*****",
                "type": "phone_contact_method_reference",
                "summary": "Mobile",
                "self": "https://api.pagerduty.com/*****/*****/contact_methods/*****",
                "html_url": null
            },
            {
                "id": "*****",
                "type": "sms_contact_method_reference",
                "summary": "Mobile",
                "self": "https://api.pagerduty.com/*****/*****/contact_methods/*****",
                "html_url": null
            }
        ],
        "notification_rules": [
            {
                "id": "*****",
                "type": "assignment_notification_rule_reference",
                "summary": "0 minutes: channel *****",
                "self": "https://api.pagerduty.com/*****/*****/notification_rules/*****",
                "html_url": null
            },
            {
                "id": "*****",
                "type": "assignment_notification_rule_reference",
                "summary": "0 minutes: channel *****",
                "self": "https://api.pagerduty.com/*****/*****/notification_rules/*****",
                "html_url": null
            },
            {
                "id": "*****",
                "type": "assignment_notification_rule_reference",
                "summary": "0 minutes: channel *****",
                "self": "https://api.pagerduty.com/*****/*****/notification_rules/*****",
                "html_url": null
            },
            {
                "id": "*****",
                "type": "assignment_notification_rule_reference",
                "summary": "0 minutes: channel *****",
                "self": "https://api.pagerduty.com/*****/*****/notification_rules/*****",
                "html_url": null
            }
        ],
        "coordinated_incidents": [],
        "id": "*****",
        "type": "user",
        "summary": "sysint",
        "self": "https://api.pagerduty.com/*****/*****",
        "html_url": "https://***********.pagerduty.com/users/*****"
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "Names":  [ "T*** F*" ],
  "Emails": ["*****@*****.***"],
  "Roles": ["owner"],
  "IDs": ["*****"],
  "Types": ["user"]
}
Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

name

email

time_zone

color

avatar_url

billed

role

description

invitation_sent

job_title

teams

contact_methods

notification_rules

coordinated_incidents

id

type

summary

self

html_url

T*** F*

*****@*****.***

Etc/UTC

purple

https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG

True

owner

None

False

None

[]

[{'id': '*****', 'type': 'email_contact_method_reference', 'summary': 'Default', 'self': 'https://api.pagerduty.com/*****/*****/contact_methods/*****', 'html_url': None}]

[{'id': '*****', 'type': 'assignment_notification_rule_reference', 'summary': '0 minutes: channel *****', 'self': 'https://api.pagerduty.com/*****/*****/notification_rules/*****', 'html_url': None}, {'id': '*****', 'type': 'assignment_notification_rule_reference', 'summary': '0 minutes: channel *****', 'self': 'https://api.pagerduty.com/*****/*****/notification_rules/*****', 'html_url': None}]

[{'incident': {'id': '*****', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/*****', 'html_url': 'https://*****.pagerduty.com/*********/*****'}, 'requester': {'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****'}, 'message': 'Please help with "[#2] Urgent customer call 20220110"', 'state': 'joined', 'requested_at': '2022-01-10T23:42:57Z'}]

*****

user

T*** F*

https://api.pagerduty.com/*****/*****

https://*****.pagerduty.com/users/*****

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Users failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2100.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Not Found.

Error Sample Data

List Users failed.

Status Code: 2100.

Message: Not Found.

Resolve Event

Changes the status of the specified event to resolve.

READER NOTE

Dedup Key is a required parameter to run this command.

  • Run the Create Event or Get Incident Alerts commands to obtain Dedup Key. Dedup Keys can be found in the returned raw data of the Create Event command at the path $.dedup_key. Or in the returned raw data of the Get Incident Alerts command at the path $.alerts[*].body.cef_details.dedup_key.

  • For more information about Dedup Key, please refer to Event Management.

Input

Input Parameter

Required/Optional

Description

Example

Dedup Key

Required

The key to identifying events. The Dedup key can be obtained using the Create Event or Get Incident Alerts commands.

*****

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
{
    "status": "success",
    "message": "Event processed",
    "dedup_key": "*****"
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "Status": "success",
  "Message": "Event processed",
  "Dedup_Key": *****
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

status

success

message

Event processed

dedup_key

*****

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Resolve Event failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2100.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Not Found.

Error Sample Data

Resolve Event failed.

Status Code: 2100.

Message: Not Found.

Resolve Incidents

Resolves the specified incident by incident IDs, including all alerts of the incident.

READER NOTE

The parameter Incident IDs is required to run this command.

  • Run the Fetch Incident command to obtain Incident IDs. Incident IDs can be found in the returned raw data at the path $.incidents[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Incident IDs

Required

The ID to identify an incident. Incident ID can be obtained using the Fetch Incident command.

["*****"]

From

Required

The email address of a valid user associated with the account to resolve the incident.

admin@d3security.com

Output

Raw Data

The primary response data from the API request.

SAMPLE DATA

JSON
[
    {
        "incident": {
            "incident_number": 2,
            "title": "Urgent customer call 20220110",
            "description": "Urgent customer call 20220110",
            "created_at": "2022-01-10T23:42:57Z",
            "status": "resolved",
            "incident_key": "*****",
            "service": {
                "id": "*****",
                "type": "service_reference",
                "summary": "D****y",
                "self": "https://api.pagerduty.com/********/*****",
                "html_url": "https://*****.pagerduty.com/*******-*********/*****"
            },
            "assignments": [],
            "assigned_via": "escalation_policy",
            "last_status_change_at": "2022-01-12T22:25:41Z",
            "first_trigger_log_entry": {
                "id": "*****",
                "type": "trigger_log_entry_reference",
                "summary": "Triggered through the website",
                "self": "https://api.pagerduty.com/***_*******/*****",
                "html_url": "https://*****.pagerduty.com/*********/*****/log_entries/*****"
            },
            "alert_counts": {
                "all": 0,
                "triggered": 0,
                "resolved": 0
            },
            "is_mergeable": true,
            "escalation_policy": {
                "id": "*****",
                "type": "escalation_policy_reference",
                "summary": "Default",
                "self": "https://api.pagerduty.com/escalation_policies/*****",
                "html_url": "https://*****.pagerduty.com/escalation_policies/*****"
            },
            "teams": [],
            "impacted_services": [
                {
                    "id": "*****",
                    "type": "service_reference",
                    "summary": "D****y",
                    "self": "https://api.pagerduty.com/********/*****",
                    "html_url": "https://*****.pagerduty.com/*******-*********/*****"
                }
            ],
            "pending_actions": [],
            "acknowledgements": [],
            "basic_alert_grouping": null,
            "alert_grouping": null,
            "last_status_change_by": {
                "id": "*****",
                "type": "user_reference",
                "summary": "T*** F*",
                "self": "https://api.pagerduty.com/*****/*****",
                "html_url": "https://*****.pagerduty.com/users/*****"
            },
            "priority": null,
            "resolve_reason": null,
            "incidents_responders": [
                {
                    "state": "joined",
                    "user": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/users/*****",
                        "avatar_url": "https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG",
                        "job_title": null
                    },
                    "incident": {
                        "id": "*****",
                        "type": "incident_reference",
                        "summary": "[#2] Urgent customer call 20220110",
                        "self": "https://api.pagerduty.com/*********/*****",
                        "html_url": "https://*****.pagerduty.com/*********/*****"
                    },
                    "updated_at": "2022-01-10T23:50:33Z",
                    "message": "Please help with \"[#2] Urgent customer call 20220110\"",
                    "requester": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/users/*****",
                        "avatar_url": "https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG",
                        "job_title": null
                    },
                    "requested_at": "2022-01-10T23:42:57Z"
                }
            ],
            "responder_requests": [
                {
                    "incident": {
                        "id": "*****",
                        "type": "incident_reference",
                        "summary": "[#2] Urgent customer call 20220110",
                        "self": "https://api.pagerduty.com/*********/*****",
                        "html_url": "https://*****.pagerduty.com/*********/*****"
                    },
                    "requester": {
                        "id": "*****",
                        "type": "user_reference",
                        "summary": "T*** F*",
                        "self": "https://api.pagerduty.com/*****/*****",
                        "html_url": "https://*****.pagerduty.com/users/*****"
                    },
                    "requested_at": "2022-01-10T23:42:57Z",
                    "message": "Please help with \"[#2] Urgent customer call 20220110\"",
                    "responder_request_targets": [
                        {
                            "responder_request_target": {
                                "type": "user",
                                "id": "*****",
                                "summary": null,
                                "incidents_responders": [
                                    {
                                        "state": "joined",
                                        "user": {
                                            "id": "*****",
                                            "type": "user_reference",
                                            "summary": "T*** F*",
                                            "self": "https://api.pagerduty.com/*****/*****",
                                            "html_url": "https://*****.pagerduty.com/users/*****",
                                            "avatar_url": "https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG",
                                            "job_title": null
                                        },
                                        "incident": {
                                            "id": "*****",
                                            "type": "incident_reference",
                                            "summary": "[#2] Urgent customer call 20220110",
                                            "self": "https://api.pagerduty.com/*********/*****",
                                            "html_url": "https://*****.pagerduty.com/*********/*****"
                                        },
                                        "updated_at": "2022-01-10T23:50:33Z",
                                        "message": "Please help with \"[#2] Urgent customer call 20220110\"",
                                        "requester": {
                                            "id": "*****",
                                            "type": "user_reference",
                                            "summary": "T*** F*",
                                            "self": "https://api.pagerduty.com/*****/*****",
                                            "html_url": "https://*****.pagerduty.com/users/*****",
                                            "avatar_url": "https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG",
                                            "job_title": null
                                        },
                                        "requested_at": "2022-01-10T23:42:57Z"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ],
            "subscriber_requests": [],
            "urgency": "high",
            "id": "*****",
            "type": "incident",
            "summary": "[#2] Urgent customer call 20220110",
            "self": "https://api.pagerduty.com/*********/*****",
            "html_url": "https://*****.pagerduty.com/*********/*****"
        }
    }
]
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
  "Incident_IDs":["*****"],
  "Statuses":  ["resolved"]
}
Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

incident_number

title

description

created_at

status

incident_key

service

assignments

assigned_via

last_status_change_at

first_trigger_log_entry

alert_counts

is_mergeable

escalation_policy

teams

impacted_services

pending_actions

acknowledgements

basic_alert_grouping

alert_grouping

last_status_change_by

priority

resolve_reason

incidents_responders

responder_requests

subscriber_requests

urgency

id

type

summary

self

html_url

2

Urgent customer call 20220110

Urgent customer call 20220110

2022-01-10T23:42:57Z

resolved

*****

{'id': '*****', 'type': 'service_reference', 'summary': 'D****y', 'self': 'https://api.pagerduty.com/********/*****', 'html_url': 'https://*****.pagerduty.com/*******-*********/*****'}

[]

escalation_policy

2022-01-12T22:25:41Z

{'id': '*****', 'type': 'trigger_log_entry_reference', 'summary': 'Triggered through the website', 'self': 'https://api.pagerduty.com/***_*******/*****', 'html_url': 'https://*****.pagerduty.com/*********/*****/log_entries/*****'}

{'all': 0, 'triggered': 0, 'resolved': 0}

True

{'id': '*****', 'type': 'escalation_policy_reference', 'summary': 'Default', 'self': 'https://api.pagerduty.com/escalation_policies/*****', 'html_url': 'https://*****.pagerduty.com/escalation_policies/*****'}

[]

[{'id': '*****', 'type': 'service_reference', 'summary': 'D****y', 'self': 'https://api.pagerduty.com/********/*****', 'html_url': 'https://*****.pagerduty.com/*******-*********/*****'}]

[]

[]

None

None

{'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****'}

None

None

[{'state': 'joined', 'user': {'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****', 'avatar_url': 'https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG', 'job_title': None}, 'incident': {'id': '*****', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/*****', 'html_url': 'https://*****.pagerduty.com/*********/*****'}, 'updated_at': '2022-01-10T23:50:33Z', 'message': 'Please help with "[#2] Urgent customer call 20220110"', 'requester': {'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****', 'avatar_url': 'https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG', 'job_title': None}, 'requested_at': '2022-01-10T23:42:57Z'}]

[{'incident': {'id': '*****', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/*****', 'html_url': 'https://*****.pagerduty.com/*********/*****'}, 'requester': {'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****'}, 'requested_at': '2022-01-10T23:42:57Z', 'message': 'Please help with "[#2] Urgent customer call 20220110"', 'responder_request_targets': [{'responder_request_target': {'type': 'user', 'id': '*****', 'summary': None, 'incidents_responders': [{'state': 'joined', 'user': {'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****', 'avatar_url': 'https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG', 'job_title': None}, 'incident': {'id': '*****', 'type': 'incident_reference', 'summary': '[#2] Urgent customer call 20220110', 'self': 'https://api.pagerduty.com/*********/*****', 'html_url': 'https://*****.pagerduty.com/*********/*****'}, 'updated_at': '2022-01-10T23:50:33Z', 'message': 'Please help with "[#2] Urgent customer call 20220110"', 'requester': {'id': '*****', 'type': 'user_reference', 'summary': 'T*** F*', 'self': 'https://api.pagerduty.com/*****/*****', 'html_url': 'https://*****.pagerduty.com/users/*****', 'avatar_url': 'https://secure.gravatar.com/avatar/*****.png?d=mm&r=PG', 'job_title': None}, 'requested_at': '2022-01-10T23:42:57Z'}]}}]}]

[]

high

*****

incident

[#2] Urgent customer call 20220110

https://api.pagerduty.com/*********/*****

https://*****.pagerduty.com/*********/*****

Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Resolve Incidents failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2100.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Incident Not Found.

Error Sample Data

Resolve Incidents failed.

Status Code: 2100.

Message: Incident Not Found.

Test Connection

Allows you to perform a health check on an integration connection. You can schedule a periodic health check by selecting Connection Health Check when editing an integration connection.

Input

N/A

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

SAMPLE DATA

CODE
Successful

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Test Connection failed. Failed to check the connector.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the PagerDuty portal. Refer to the PagerDuty Error Codes for details.

Status Code: 2010.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Access Denied.

Error Sample Data

Test Connection failed. Failed to check the connector.

Status Code: 2010.

Message: Access Denied.

FAQ

What is PagerDuty?

Through its SaaS-based platform, PagerDuty empowers developers, DevOps, IT operations and business leaders to prevent and resolve business-impacting incidents for an exceptional customer experience. When revenue and brand reputation depend on customer satisfaction, PagerDuty arms organizations with the insight to proactively manage events that may impact customers across their IT environments. With hundreds of native integrations, on-call scheduling and escalations, machine learning, business-wide response orchestration, analytics, and much more. PagerDuty gets the right data in the hands of the right people in real-time, every time.

When you see 429 - Request Limit Exceeded, what should you do?

Simply retrying the request a moment later can help alleviate rate limits. We suggest retrying 3 times with each request being 30 seconds apart.

What if the rate limit of the integration key is exceeded?

An easy solution is to increase the number of integration keys used on a service (fanning out).


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.