Fortinet white logo
Fortinet white logo

PagerDuty v2.1.0

About the connector

PagerDuty connects to monitoring systems so that you can collect events, surface what's important, and resolve critical issues to proactively manage your uptime. This Connector a facilitates automated operations to create incident, list notification, list teams, list users, send event, update event get user and notification details

This document provides information about the PagerDuty Connector, which facilitates automated interactions, with a PagerDuty server using FortiSOAR™ playbooks. Add the PagerDuty Connector as a step in FortiSOAR™ playbooks and perform automated operations with PagerDuty.

Version information

Connector Version: 2.1.0

FortiSOAR™ Version Tested on: 7.5.0-4015

PagerDuty Version Tested on: v2

Authored By: Fortinet

Certified: Yes

Release Notes for version 2.1.0

Following enhancements have been made to the PagerDuty Connector in version 2.1.0:

  • Handle health check fails due to pagination.
  • Added the following new operations and playbooks:
    • Get All Incidents List
    • Get Incident Details
    • Get Incident Alerts List
    • Get All Escalation Policies
    • Get All Services List
  • Added new parameters in some operations as follows:
    • Urgency parameter in Create Incident operation.
    • Include parameter in Get User Details and Get User Notification Rules operations.
    • Custom Properties parameter in Send Event operation.

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the following yum command as a root user to install the connector:

yum install cyops-connector-pagerduty

Prerequisites to configuring the connector

  • You must have the credentials of PagerDuty server to which you will connect and perform automated operations.
  • The FortiSOAR™ server should have outbound connectivity to port 443 on the PagerDuty server.

Minimum Permissions Required

  • Not applicable

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In FortiSOAR™, on the Connectors page, click the PagerDuty connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Server URL URL of the PagerDuty server to which you will connect and perform the automated operations.
API Key API key that is configured for your account to access the PagerDuty server.
Integration Key Integration key (service key) that is used to access the PagerDuty API.
Service Name of the service in which you want to create the incident in PagerDuty.
Escalation Policy Name of the Escalation Policy with which you want to bound the incident created in PagerDuty.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks and you can also use the annotations to access operations:

Function Description Annotation and Category
Create Incident Creates an incident in your PagerDuty account based on the input parameters you have specified. create_incident
Investigation
Get All Incidents List Retrieves a list of all incidents or specific incident configured in your PagerDuty account based on the input parameters you have specified. get_incidents
Investigation
Get Incident Details Retrieves details for an existing incident from your PagerDuty account based on the incident ID and other parameters you have specified. get_incident_details
Investigation
Get Incident Alerts List Retrieves a list of all alerts for the specified incident configured in your PagerDuty account based on the incident ID and other input parameters you have specified. get_incident_alerts_list
Investigation
Get All Escalation Policies Retrieves a list of all escalation policies or specific escalation policy configured in your PagerDuty account based on the input parameters you have specified. get_escalation_policies_list
Investigation
Get All Services List Retrieves a list of all services or specific service configured in your PagerDuty account based on the input parameters you have specified. get_services_list
Investigation
List Teams Retrieves a list of all teams or specific teams configured in your PagerDuty account based on the input parameters you have specified. search_team
Investigation
List Notifications Retrieves a list of notifications configured in your PagerDuty account based on the notification type and date range you have specified. get_notification
Investigation
List Users Retrieves a list of all users or specific users configured in your PagerDuty account based on the input parameters you have specified. list_users
Investigation
Get User Details Retrieves details for an existing user from your PagerDuty account based on the user ID you have specified. get_user_info
Investigation
Get User Notification Rules Retrieves details for an existing user's notification rule from your PagerDuty account based on the user ID and notification rule ID you have specified. get_notification
Investigation
Send Event Sends an event from your PagerDuty account as an alert to report a new or ongoing problem. The event is sent based on the input parameters you have specified. send_event
Investigation
Update Event Updates an existing event or alert in your PagerDuty account to report a new or ongoing problem. The event is sent based on the input parameters you have specified. update_event
Investigation

operation: Create Incident

Input parameters

Parameter Description
From Specify the email address of the user who is creating the incident in PagerDuty.
Title Specify the title of the incident to be created in PagerDuty.
Description Specify the description of the incident to be created in PagerDuty.
Priority Select the priority of the incident to be created in PagerDuty. You can choose from the following options:
  • Priority 1
  • Priority 2
  • Priority 3
  • Priority 4
  • Priority 5
Urgency (Optional) Select an urgency of the incident to be created in PagerDuty. You can choose from the following options:
  • Low
  • High
Incident Key (Optional) Specify the unique incident key that identifies an incident. If you do not provide an incident key, a unique incident key is generated.

Output

The output contains the following populated JSON schema:

{
    "incident": {
        "incident_number": "",
        "title": "",
        "description": "",
        "created_at": "",
        "status": "",
        "incident_key": "",
        "service": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "assignments": [
            {
                "at": "",
                "assignee": {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            }
        ],
        "assigned_via": "",
        "last_status_change_at": "",
        "first_trigger_log_entry": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "alert_counts": {
            "all": "",
            "triggered": "",
            "resolved": ""
        },
        "is_mergeable": "",
        "escalation_policy": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "teams": [],
        "impacted_services": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "pending_actions": [],
        "acknowledgements": [],
        "basic_alert_grouping": "",
        "alert_grouping": "",
        "last_status_change_by": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "priority": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "account_id": "",
            "color": "",
            "created_at": "",
            "description": "",
            "name": "",
            "order": "",
            "schema_version": "",
            "updated_at": ""
        },
        "incidents_responders": [],
        "responder_requests": [],
        "subscriber_requests": [],
        "urgency": "",
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": "",
        "body": {
            "details": ""
        }
    }
}

operation: Get All Incidents List

Input parameters

Parameter Description
Since (Optional) Specify the start date and time of the time period from when to retrieve information about the incidents from your PagerDuty account.
Until (Optional) Specify the end date and time of the time period till when to retrieve information about the incidents from your PagerDuty account.
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

User IDs (Optional) Specify an array of user IDs to filter results associated with the specified user IDs.

NOTE: When using this filter, you receive incidents with a status of triggered or acknowledged as resolved incidents are not assigned to any user.

Service IDs (Optional) Specify an array of service IDs to filter results associated with the specified service IDs.
Incident Key (Optional) Specify the incident key to filter incidents whose alerts keys match the specified incident key.

NOTE: Incidents with child alerts do not have an incident key.

Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Acknowledgers
  • Agents
  • Assignees
  • Conference Bridge
  • Escalation Policies
  • First Trigger Log Entries
  • Priorities
  • Services
  • Teams
  • Users
Urgencies (Optional) Select an urgency to filter results associated with the selected urgency. You can choose from the following options:
  • Low
  • high
Statuses (Optional) Select one or more statuses to filter results associated with the selected statuses. You can choose from the following options:
  • Triggered
  • Acknowledged
  • Resolved
Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression incident_number, incident_number:asc sorts the results based on their incident number in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "incidents": [
        {
            "incident_number": "",
            "title": "",
            "description": "",
            "created_at": "",
            "updated_at": "",
            "status": "",
            "incident_key": "",
            "service": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "assignments": [
                {
                    "at": "",
                    "assignee": {
                        "id": "",
                        "type": "",
                        "summary": "",
                        "self": "",
                        "html_url": ""
                    }
                }
            ],
            "assigned_via": "",
            "last_status_change_at": "",
            "resolved_at": "",
            "first_trigger_log_entry": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "alert_counts": {
                "all": "",
                "triggered": "",
                "resolved": ""
            },
            "is_mergeable": "",
            "escalation_policy": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "teams": [],
            "pending_actions": [],
            "acknowledgements": [],
            "basic_alert_grouping": "",
            "alert_grouping": "",
            "last_status_change_by": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "priority": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": "",
                "account_id": "",
                "color": "",
                "created_at": "",
                "description": "",
                "name": "",
                "order": "",
                "schema_version": "",
                "updated_at": ""
            },
            "incidents_responders": [],
            "responder_requests": [],
            "subscriber_requests": [],
            "urgency": "",
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: Get Incident Details

Input parameters

Parameter Description
Incident ID Specify the ID of the incident to retrieve its details from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Acknowledgers
  • Agents
  • Assignees
  • Conference Bridge
  • Escalation Policies
  • First Trigger Log Entries
  • Priorities
  • Services
  • Teams
  • Users

Output

The output contains the following populated JSON schema:

{
    "incident": {
        "incident_number": "",
        "title": "",
        "description": "",
        "created_at": "",
        "updated_at": "",
        "status": "",
        "incident_key": "",
        "service": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "assignments": [
            {
                "at": "",
                "assignee": {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            }
        ],
        "assigned_via": "",
        "last_status_change_at": "",
        "resolved_at": "",
        "first_trigger_log_entry": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "alert_counts": {
            "all": "",
            "triggered": "",
            "resolved": ""
        },
        "is_mergeable": "",
        "escalation_policy": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "teams": [],
        "impacted_services": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "pending_actions": [],
        "acknowledgements": [],
        "basic_alert_grouping": "",
        "alert_grouping": "",
        "last_status_change_by": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "priority": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "account_id": "",
            "color": "",
            "created_at": "",
            "description": "",
            "name": "",
            "order": "",
            "schema_version": "",
            "updated_at": ""
        },
        "incidents_responders": [],
        "responder_requests": [],
        "subscriber_requests": [],
        "urgency": "",
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": ""
    }
}

operation: Get Incident Alerts List

Input parameters

Parameter Description
Incident ID Specify the ID of the incident whose related alerts details you want to retrieve from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Services
  • First Trigger Log Entries
  • Incidents
Statuses (Optional) Select a status to filter results associated with the selected statuses. You can choose from the following options:
  • Triggered
  • Resolved
Alert Key (Optional) Specify the alert key to filter results whose alerts keys match the specified alert key.
Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression created_at, created_at:asc sorts the results based on their creation time in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "alerts": [
        {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "created_at": "",
            "status": "",
            "resolved_at": "",
            "alert_key": "",
            "suppressed": "",
            "service": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "severity": "",
            "incident": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "first_trigger_log_entry": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "body": {
                "contexts": [],
                "details": "",
                "cef_details": {
                    "client": "",
                    "client_url": "",
                    "contexts": "",
                    "creation_time": "",
                    "dedup_key": "",
                    "description": "",
                    "details": "",
                    "event_class": "",
                    "message": "",
                    "mutations": [],
                    "priority": "",
                    "reporter_component": "",
                    "reporter_location": "",
                    "service_group": "",
                    "severity": "",
                    "source_component": "",
                    "source_location": "",
                    "source_origin": "",
                    "urgency": "",
                    "version": ""
                },
                "type": ""
            },
            "integration": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "privilege": ""
        }
    ],
    "limit": "",
    "offset": "",
    "more": "",
    "total": ""
}

operation: Get All Escalation Policies

Input parameters

Parameter Description
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Services
  • Teams
  • Targets
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

User IDs (Optional) Specify an array of user IDs to filter results associated with the specified user IDs.

NOTE: When using this filter, you receive incidents with a status of triggered or acknowledged as resolved incidents are not assigned to any user.

Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression name, name:asc sorts the results based on their names in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "escalation_policies": [
        {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "name": "",
            "escalation_rules": [
                {
                    "id": "",
                    "escalation_delay_in_minutes": "",
                    "targets": [
                        {
                            "id": "",
                            "type": "",
                            "summary": "",
                            "self": "",
                            "html_url": ""
                        }
                    ]
                }
            ],
            "services": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "num_loops": "",
            "teams": [],
            "description": "",
            "on_call_handoff_notifications": "",
            "privilege": ""
        }
    ],
    "limit": "",
    "offset": "",
    "more": "",
    "total": ""
}

operation: Get All Services List

Input parameters

Parameter Description
Service (Optional) Specify the name of the service to filter the results showing only services with the specified name.
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Escalation Policies
  • Teams
  • Integrations
  • Auto Pause Notifications Parameters
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

Time Zone (Optional) Specify the time zone in which to render the results. Default value is account time zone.
Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression name, name:asc sorts the results based on their names in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "services": [
        {
            "id": "",
            "name": "",
            "description": "",
            "created_at": "",
            "updated_at": "",
            "status": "",
            "teams": [],
            "alert_creation": "",
            "addons": [],
            "scheduled_actions": [],
            "support_hours": "",
            "last_incident_timestamp": "",
            "escalation_policy": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "incident_urgency_rule": {
                "type": "",
                "urgency": ""
            },
            "acknowledgement_timeout": "",
            "auto_resolve_timeout": "",
            "alert_grouping": "",
            "alert_grouping_timeout": "",
            "alert_grouping_parameters": {
                "type": "",
                "config": {
                    "time_window": "",
                    "recommended_time_window": ""
                }
            },
            "integrations": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "response_play": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: List Teams

Input parameters

Parameter Description
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "teams": [
        {
            "id": "",
            "name": "",
            "description": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "default_role": "",
            "parent": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: List Notifications

Input parameters

Parameter Description
Since (Optional) Specify the start date and time of the time period from when to retrieve information about the selected notification type from your PagerDuty account.
Until (Optional) Specify the end date and time of the time period till when to retrieve information about the selected notification type from your PagerDuty account.
Notification Type (Optional) Select the notification type to retrieve its details from your PagerDuty account. You can choose from the following options:
  • SMS Notification
  • Email Notification
  • Phone Notification
  • Push Notification
Include (Optional) Select additional models to include in the response of this operation. You can either leave it blank or include users in the results.
Time Zone (Optional) Specify the time zone in which to render the results. Default value is account time zone.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "notifications": [
        {
            "id": "",
            "type": "",
            "user": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "started_at": "",
            "address": ""
        }
    ],
    "limit": "",
    "offset": "",
    "more": "",
    "total": ""
}

operation: List Users

Input parameters

Parameter Description
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Contact Methods
  • Notification Rules
  • Teams
  • Subdomains
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

Output

The output contains the following populated JSON schema:

{
    "users": [
        {
            "name": "",
            "email": "",
            "time_zone": "",
            "color": "",
            "avatar_url": "",
            "billed": "",
            "role": "",
            "description": "",
            "invitation_sent": "",
            "job_title": "",
            "teams": [],
            "contact_methods": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "notification_rules": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "coordinated_incidents": [],
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: Get User Details

Input parameters

Parameter Description
User ID Specify the ID of the user whose details you want to retrieve from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Contact Methods
  • Notification Rules
  • Teams
  • Subdomains

Output

The output contains the following populated JSON schema:

{
    "user": {
        "name": "",
        "email": "",
        "time_zone": "",
        "color": "",
        "avatar_url": "",
        "billed": "",
        "role": "",
        "description": "",
        "invitation_sent": "",
        "job_title": "",
        "teams": [],
        "contact_methods": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "notification_rules": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "coordinated_incidents": [],
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": ""
    }
}

operation: Get User Notification Rules

Input parameters

Parameter Description
User ID The ID of the user whose notification rules you want to retrieve from your PagerDuty account.
Notification Rule ID The ID of the notification rules for which you want to retrieve details from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can either leave it blank or include contact methods in the results.

Output

The output contains the following populated JSON schema:

{
    "notification_rule": {
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": "",
        "start_delay_in_minutes": "",
        "contact_method": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "label": "",
            "address": "",
            "send_short_email": "",
            "send_html_email": ""
        },
        "urgency": ""
    }
}

operation: Send Event

Input parameters

Parameter Description
Summary Specify a summary of the event, which is used to generate the summaries or titles of any associated alerts.
Source Specify the unique location of the affected system, preferably a hostname, FQDN, or the complete link.
Severity Select a perceived severity of the status of the event that is being sent with respect to the affected system. You can choose from the following options:
  • Critical
  • Error
  • Warning
  • Info
Timestamp (Optional) Select a date and time at which the emitting tool detected or generated the event.
Component (Optional) Specify the component of the source machine that is responsible for the event. For example mysql or eth0.
Group (Optional) Specify the group of the component, i.e., the logical grouping of components of a service. For example: app-stack.
Class (Optional) Specify the class or type of the event.
Custom Properties (Optional) Specify additional properties, in JSON format, to send an event in PagerDuty. The additional properties signify additional fields associated with the events.

Output

The output contains the following populated JSON schema:

{
    "status": "",
    "message": "",
    "dedup_key": ""
}

operation: Update Event

Input parameters

Parameter Description
Deduplication Key Specify the deduplication key for correlating triggers and resolves. The maximum allowable length of this parameter is 255 characters.
Event Action Select an action to update the event. You can choose from the following options:
  • Trigger: Select this option to update additional information about the trigger. Specify values in the following fields:
    • Summary: Specify a summary of the event, which is used to generate the summaries or titles of any associated alerts, to update in the event.
    • Source: Specify the unique location of the affected system, preferably a hostname, FQDN, or the complete link to update in the event.
    • Severity: Select a perceived severity of the status of the event being sent with respect to the affected system. You can choose from the following options:
      • Critical
      • Error
      • Warning
      • Info
    • Timestamp: (Optional) Select a date and time at which the emitting tool detected or generated the event.
    • Component: (Optional) Specify the component of the source machine that is responsible for the event. For example mysql or eth0.
    • Group: (Optional) Specify the group of the component, i.e., the logical grouping of components of a service. For example: app-stack.
    • Class: (Optional) Specify the class or type of the event.
  • Acknowledge: Select this option to update the event as acknowledged.
  • Resolve: Select this option to update the event as resolved.

Output

The output contains the following populated JSON schema:

{
    "status": "",
    "message": "",
    "dedup_key": ""
}

Included playbooks

The Sample - PagerDuty - 2.1.0 playbook collection comes bundled with the PagerDuty connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the PagerDuty connector.

  • Create Incident
  • Get All Escalation Policies
  • Get All Incidents List
  • Get All Services List
  • Get Incident Alerts List
  • Get Incident Details
  • Get User Details
  • Get User Notification Rules
  • List Notifications
  • List Teams
  • List Users
  • Send Event
  • Update Event

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Previous
Next

PagerDuty v2.1.0

About the connector

PagerDuty connects to monitoring systems so that you can collect events, surface what's important, and resolve critical issues to proactively manage your uptime. This Connector a facilitates automated operations to create incident, list notification, list teams, list users, send event, update event get user and notification details

This document provides information about the PagerDuty Connector, which facilitates automated interactions, with a PagerDuty server using FortiSOAR™ playbooks. Add the PagerDuty Connector as a step in FortiSOAR™ playbooks and perform automated operations with PagerDuty.

Version information

Connector Version: 2.1.0

FortiSOAR™ Version Tested on: 7.5.0-4015

PagerDuty Version Tested on: v2

Authored By: Fortinet

Certified: Yes

Release Notes for version 2.1.0

Following enhancements have been made to the PagerDuty Connector in version 2.1.0:

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the following yum command as a root user to install the connector:

yum install cyops-connector-pagerduty

Prerequisites to configuring the connector

Minimum Permissions Required

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In FortiSOAR™, on the Connectors page, click the PagerDuty connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Server URL URL of the PagerDuty server to which you will connect and perform the automated operations.
API Key API key that is configured for your account to access the PagerDuty server.
Integration Key Integration key (service key) that is used to access the PagerDuty API.
Service Name of the service in which you want to create the incident in PagerDuty.
Escalation Policy Name of the Escalation Policy with which you want to bound the incident created in PagerDuty.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks and you can also use the annotations to access operations:

Function Description Annotation and Category
Create Incident Creates an incident in your PagerDuty account based on the input parameters you have specified. create_incident
Investigation
Get All Incidents List Retrieves a list of all incidents or specific incident configured in your PagerDuty account based on the input parameters you have specified. get_incidents
Investigation
Get Incident Details Retrieves details for an existing incident from your PagerDuty account based on the incident ID and other parameters you have specified. get_incident_details
Investigation
Get Incident Alerts List Retrieves a list of all alerts for the specified incident configured in your PagerDuty account based on the incident ID and other input parameters you have specified. get_incident_alerts_list
Investigation
Get All Escalation Policies Retrieves a list of all escalation policies or specific escalation policy configured in your PagerDuty account based on the input parameters you have specified. get_escalation_policies_list
Investigation
Get All Services List Retrieves a list of all services or specific service configured in your PagerDuty account based on the input parameters you have specified. get_services_list
Investigation
List Teams Retrieves a list of all teams or specific teams configured in your PagerDuty account based on the input parameters you have specified. search_team
Investigation
List Notifications Retrieves a list of notifications configured in your PagerDuty account based on the notification type and date range you have specified. get_notification
Investigation
List Users Retrieves a list of all users or specific users configured in your PagerDuty account based on the input parameters you have specified. list_users
Investigation
Get User Details Retrieves details for an existing user from your PagerDuty account based on the user ID you have specified. get_user_info
Investigation
Get User Notification Rules Retrieves details for an existing user's notification rule from your PagerDuty account based on the user ID and notification rule ID you have specified. get_notification
Investigation
Send Event Sends an event from your PagerDuty account as an alert to report a new or ongoing problem. The event is sent based on the input parameters you have specified. send_event
Investigation
Update Event Updates an existing event or alert in your PagerDuty account to report a new or ongoing problem. The event is sent based on the input parameters you have specified. update_event
Investigation

operation: Create Incident

Input parameters

Parameter Description
From Specify the email address of the user who is creating the incident in PagerDuty.
Title Specify the title of the incident to be created in PagerDuty.
Description Specify the description of the incident to be created in PagerDuty.
Priority Select the priority of the incident to be created in PagerDuty. You can choose from the following options:
  • Priority 1
  • Priority 2
  • Priority 3
  • Priority 4
  • Priority 5
Urgency (Optional) Select an urgency of the incident to be created in PagerDuty. You can choose from the following options:
  • Low
  • High
Incident Key (Optional) Specify the unique incident key that identifies an incident. If you do not provide an incident key, a unique incident key is generated.

Output

The output contains the following populated JSON schema:

{
    "incident": {
        "incident_number": "",
        "title": "",
        "description": "",
        "created_at": "",
        "status": "",
        "incident_key": "",
        "service": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "assignments": [
            {
                "at": "",
                "assignee": {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            }
        ],
        "assigned_via": "",
        "last_status_change_at": "",
        "first_trigger_log_entry": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "alert_counts": {
            "all": "",
            "triggered": "",
            "resolved": ""
        },
        "is_mergeable": "",
        "escalation_policy": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "teams": [],
        "impacted_services": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "pending_actions": [],
        "acknowledgements": [],
        "basic_alert_grouping": "",
        "alert_grouping": "",
        "last_status_change_by": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "priority": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "account_id": "",
            "color": "",
            "created_at": "",
            "description": "",
            "name": "",
            "order": "",
            "schema_version": "",
            "updated_at": ""
        },
        "incidents_responders": [],
        "responder_requests": [],
        "subscriber_requests": [],
        "urgency": "",
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": "",
        "body": {
            "details": ""
        }
    }
}

operation: Get All Incidents List

Input parameters

Parameter Description
Since (Optional) Specify the start date and time of the time period from when to retrieve information about the incidents from your PagerDuty account.
Until (Optional) Specify the end date and time of the time period till when to retrieve information about the incidents from your PagerDuty account.
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

User IDs (Optional) Specify an array of user IDs to filter results associated with the specified user IDs.

NOTE: When using this filter, you receive incidents with a status of triggered or acknowledged as resolved incidents are not assigned to any user.

Service IDs (Optional) Specify an array of service IDs to filter results associated with the specified service IDs.
Incident Key (Optional) Specify the incident key to filter incidents whose alerts keys match the specified incident key.

NOTE: Incidents with child alerts do not have an incident key.

Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Acknowledgers
  • Agents
  • Assignees
  • Conference Bridge
  • Escalation Policies
  • First Trigger Log Entries
  • Priorities
  • Services
  • Teams
  • Users
Urgencies (Optional) Select an urgency to filter results associated with the selected urgency. You can choose from the following options:
  • Low
  • high
Statuses (Optional) Select one or more statuses to filter results associated with the selected statuses. You can choose from the following options:
  • Triggered
  • Acknowledged
  • Resolved
Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression incident_number, incident_number:asc sorts the results based on their incident number in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "incidents": [
        {
            "incident_number": "",
            "title": "",
            "description": "",
            "created_at": "",
            "updated_at": "",
            "status": "",
            "incident_key": "",
            "service": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "assignments": [
                {
                    "at": "",
                    "assignee": {
                        "id": "",
                        "type": "",
                        "summary": "",
                        "self": "",
                        "html_url": ""
                    }
                }
            ],
            "assigned_via": "",
            "last_status_change_at": "",
            "resolved_at": "",
            "first_trigger_log_entry": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "alert_counts": {
                "all": "",
                "triggered": "",
                "resolved": ""
            },
            "is_mergeable": "",
            "escalation_policy": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "teams": [],
            "pending_actions": [],
            "acknowledgements": [],
            "basic_alert_grouping": "",
            "alert_grouping": "",
            "last_status_change_by": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "priority": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": "",
                "account_id": "",
                "color": "",
                "created_at": "",
                "description": "",
                "name": "",
                "order": "",
                "schema_version": "",
                "updated_at": ""
            },
            "incidents_responders": [],
            "responder_requests": [],
            "subscriber_requests": [],
            "urgency": "",
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: Get Incident Details

Input parameters

Parameter Description
Incident ID Specify the ID of the incident to retrieve its details from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Acknowledgers
  • Agents
  • Assignees
  • Conference Bridge
  • Escalation Policies
  • First Trigger Log Entries
  • Priorities
  • Services
  • Teams
  • Users

Output

The output contains the following populated JSON schema:

{
    "incident": {
        "incident_number": "",
        "title": "",
        "description": "",
        "created_at": "",
        "updated_at": "",
        "status": "",
        "incident_key": "",
        "service": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "assignments": [
            {
                "at": "",
                "assignee": {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            }
        ],
        "assigned_via": "",
        "last_status_change_at": "",
        "resolved_at": "",
        "first_trigger_log_entry": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "alert_counts": {
            "all": "",
            "triggered": "",
            "resolved": ""
        },
        "is_mergeable": "",
        "escalation_policy": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "teams": [],
        "impacted_services": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "pending_actions": [],
        "acknowledgements": [],
        "basic_alert_grouping": "",
        "alert_grouping": "",
        "last_status_change_by": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        },
        "priority": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "account_id": "",
            "color": "",
            "created_at": "",
            "description": "",
            "name": "",
            "order": "",
            "schema_version": "",
            "updated_at": ""
        },
        "incidents_responders": [],
        "responder_requests": [],
        "subscriber_requests": [],
        "urgency": "",
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": ""
    }
}

operation: Get Incident Alerts List

Input parameters

Parameter Description
Incident ID Specify the ID of the incident whose related alerts details you want to retrieve from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Services
  • First Trigger Log Entries
  • Incidents
Statuses (Optional) Select a status to filter results associated with the selected statuses. You can choose from the following options:
  • Triggered
  • Resolved
Alert Key (Optional) Specify the alert key to filter results whose alerts keys match the specified alert key.
Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression created_at, created_at:asc sorts the results based on their creation time in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "alerts": [
        {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "created_at": "",
            "status": "",
            "resolved_at": "",
            "alert_key": "",
            "suppressed": "",
            "service": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "severity": "",
            "incident": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "first_trigger_log_entry": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "body": {
                "contexts": [],
                "details": "",
                "cef_details": {
                    "client": "",
                    "client_url": "",
                    "contexts": "",
                    "creation_time": "",
                    "dedup_key": "",
                    "description": "",
                    "details": "",
                    "event_class": "",
                    "message": "",
                    "mutations": [],
                    "priority": "",
                    "reporter_component": "",
                    "reporter_location": "",
                    "service_group": "",
                    "severity": "",
                    "source_component": "",
                    "source_location": "",
                    "source_origin": "",
                    "urgency": "",
                    "version": ""
                },
                "type": ""
            },
            "integration": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "privilege": ""
        }
    ],
    "limit": "",
    "offset": "",
    "more": "",
    "total": ""
}

operation: Get All Escalation Policies

Input parameters

Parameter Description
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Services
  • Teams
  • Targets
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

User IDs (Optional) Specify an array of user IDs to filter results associated with the specified user IDs.

NOTE: When using this filter, you receive incidents with a status of triggered or acknowledged as resolved incidents are not assigned to any user.

Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression name, name:asc sorts the results based on their names in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "escalation_policies": [
        {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "name": "",
            "escalation_rules": [
                {
                    "id": "",
                    "escalation_delay_in_minutes": "",
                    "targets": [
                        {
                            "id": "",
                            "type": "",
                            "summary": "",
                            "self": "",
                            "html_url": ""
                        }
                    ]
                }
            ],
            "services": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "num_loops": "",
            "teams": [],
            "description": "",
            "on_call_handoff_notifications": "",
            "privilege": ""
        }
    ],
    "limit": "",
    "offset": "",
    "more": "",
    "total": ""
}

operation: Get All Services List

Input parameters

Parameter Description
Service (Optional) Specify the name of the service to filter the results showing only services with the specified name.
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Escalation Policies
  • Teams
  • Integrations
  • Auto Pause Notifications Parameters
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

Time Zone (Optional) Specify the time zone in which to render the results. Default value is account time zone.
Sort By (Optional) Specify a field, as the sorting criteria, and a sorting order to sort the results. For example, the expression name, name:asc sorts the results based on their names in ascending order.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "services": [
        {
            "id": "",
            "name": "",
            "description": "",
            "created_at": "",
            "updated_at": "",
            "status": "",
            "teams": [],
            "alert_creation": "",
            "addons": [],
            "scheduled_actions": [],
            "support_hours": "",
            "last_incident_timestamp": "",
            "escalation_policy": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "incident_urgency_rule": {
                "type": "",
                "urgency": ""
            },
            "acknowledgement_timeout": "",
            "auto_resolve_timeout": "",
            "alert_grouping": "",
            "alert_grouping_timeout": "",
            "alert_grouping_parameters": {
                "type": "",
                "config": {
                    "time_window": "",
                    "recommended_time_window": ""
                }
            },
            "integrations": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "response_play": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: List Teams

Input parameters

Parameter Description
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "teams": [
        {
            "id": "",
            "name": "",
            "description": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "default_role": "",
            "parent": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: List Notifications

Input parameters

Parameter Description
Since (Optional) Specify the start date and time of the time period from when to retrieve information about the selected notification type from your PagerDuty account.
Until (Optional) Specify the end date and time of the time period till when to retrieve information about the selected notification type from your PagerDuty account.
Notification Type (Optional) Select the notification type to retrieve its details from your PagerDuty account. You can choose from the following options:
  • SMS Notification
  • Email Notification
  • Phone Notification
  • Push Notification
Include (Optional) Select additional models to include in the response of this operation. You can either leave it blank or include users in the results.
Time Zone (Optional) Specify the time zone in which to render the results. Default value is account time zone.
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.

Output

The output contains the following populated JSON schema:

{
    "notifications": [
        {
            "id": "",
            "type": "",
            "user": {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            },
            "started_at": "",
            "address": ""
        }
    ],
    "limit": "",
    "offset": "",
    "more": "",
    "total": ""
}

operation: List Users

Input parameters

Parameter Description
Limit (Optional) Specify the maximum number of results this operation should return, per page, in the response.
Offset (Optional) Specify the count of records to skip while retrieving results. This parameter helps get a subset of records. By default, this is set to 0.
Query (Optional) Specify a query to filter the result showing only the tags whose labels match the query.
Total (Optional) Select this option, i.e., set it to true to populate the Total field in the pagination response. By default, this option is cleared, i.e., set to false, i.e., the Total field in pagination response is not populated.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Contact Methods
  • Notification Rules
  • Teams
  • Subdomains
Team IDs (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.

NOTE: Your PagerDuty account must have Teams capabilities to use this filter.

Output

The output contains the following populated JSON schema:

{
    "users": [
        {
            "name": "",
            "email": "",
            "time_zone": "",
            "color": "",
            "avatar_url": "",
            "billed": "",
            "role": "",
            "description": "",
            "invitation_sent": "",
            "job_title": "",
            "teams": [],
            "contact_methods": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "notification_rules": [
                {
                    "id": "",
                    "type": "",
                    "summary": "",
                    "self": "",
                    "html_url": ""
                }
            ],
            "coordinated_incidents": [],
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": ""
        }
    ],
    "limit": "",
    "offset": "",
    "total": "",
    "more": ""
}

operation: Get User Details

Input parameters

Parameter Description
User ID Specify the ID of the user whose details you want to retrieve from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can choose from the following options:
  • Contact Methods
  • Notification Rules
  • Teams
  • Subdomains

Output

The output contains the following populated JSON schema:

{
    "user": {
        "name": "",
        "email": "",
        "time_zone": "",
        "color": "",
        "avatar_url": "",
        "billed": "",
        "role": "",
        "description": "",
        "invitation_sent": "",
        "job_title": "",
        "teams": [],
        "contact_methods": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "notification_rules": [
            {
                "id": "",
                "type": "",
                "summary": "",
                "self": "",
                "html_url": ""
            }
        ],
        "coordinated_incidents": [],
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": ""
    }
}

operation: Get User Notification Rules

Input parameters

Parameter Description
User ID The ID of the user whose notification rules you want to retrieve from your PagerDuty account.
Notification Rule ID The ID of the notification rules for which you want to retrieve details from your PagerDuty account.
Include (Optional) Select additional models to include in the response of this operation. You can either leave it blank or include contact methods in the results.

Output

The output contains the following populated JSON schema:

{
    "notification_rule": {
        "id": "",
        "type": "",
        "summary": "",
        "self": "",
        "html_url": "",
        "start_delay_in_minutes": "",
        "contact_method": {
            "id": "",
            "type": "",
            "summary": "",
            "self": "",
            "html_url": "",
            "label": "",
            "address": "",
            "send_short_email": "",
            "send_html_email": ""
        },
        "urgency": ""
    }
}

operation: Send Event

Input parameters

Parameter Description
Summary Specify a summary of the event, which is used to generate the summaries or titles of any associated alerts.
Source Specify the unique location of the affected system, preferably a hostname, FQDN, or the complete link.
Severity Select a perceived severity of the status of the event that is being sent with respect to the affected system. You can choose from the following options:
  • Critical
  • Error
  • Warning
  • Info
Timestamp (Optional) Select a date and time at which the emitting tool detected or generated the event.
Component (Optional) Specify the component of the source machine that is responsible for the event. For example mysql or eth0.
Group (Optional) Specify the group of the component, i.e., the logical grouping of components of a service. For example: app-stack.
Class (Optional) Specify the class or type of the event.
Custom Properties (Optional) Specify additional properties, in JSON format, to send an event in PagerDuty. The additional properties signify additional fields associated with the events.

Output

The output contains the following populated JSON schema:

{
    "status": "",
    "message": "",
    "dedup_key": ""
}

operation: Update Event

Input parameters

Parameter Description
Deduplication Key Specify the deduplication key for correlating triggers and resolves. The maximum allowable length of this parameter is 255 characters.
Event Action Select an action to update the event. You can choose from the following options:
  • Trigger: Select this option to update additional information about the trigger. Specify values in the following fields:
    • Summary: Specify a summary of the event, which is used to generate the summaries or titles of any associated alerts, to update in the event.
    • Source: Specify the unique location of the affected system, preferably a hostname, FQDN, or the complete link to update in the event.
    • Severity: Select a perceived severity of the status of the event being sent with respect to the affected system. You can choose from the following options:
      • Critical
      • Error
      • Warning
      • Info
    • Timestamp: (Optional) Select a date and time at which the emitting tool detected or generated the event.
    • Component: (Optional) Specify the component of the source machine that is responsible for the event. For example mysql or eth0.
    • Group: (Optional) Specify the group of the component, i.e., the logical grouping of components of a service. For example: app-stack.
    • Class: (Optional) Specify the class or type of the event.
  • Acknowledge: Select this option to update the event as acknowledged.
  • Resolve: Select this option to update the event as resolved.

Output

The output contains the following populated JSON schema:

{
    "status": "",
    "message": "",
    "dedup_key": ""
}

Included playbooks

The Sample - PagerDuty - 2.1.0 playbook collection comes bundled with the PagerDuty connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the PagerDuty connector.

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Previous
Next