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.
Connector Version: 2.1.0
FortiSOAR™ Version Tested on: 7.5.0-4015
PagerDuty Version Tested on: v2
Authored By: Fortinet
Certified: Yes
Following enhancements have been made to the PagerDuty Connector in version 2.1.0:
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.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
For the procedure to configure a connector, click here
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. |
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 |
| 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:
|
| Urgency | (Optional) Select an urgency of the incident to be created in PagerDuty. You can choose from the following options:
|
| 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. |
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": ""
}
}
}
| 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 |
| 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:
|
| Urgencies | (Optional) Select an urgency to filter results associated with the selected urgency. You can choose from the following options:
|
| Statuses | (Optional) Select one or more statuses to filter results associated with the selected statuses. You can choose from the following options:
|
| 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. |
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": ""
}
| 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:
|
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": ""
}
}
| 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:
|
| Statuses | (Optional) Select a status to filter results associated with the selected statuses. You can choose from the following options:
|
| 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. |
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": ""
}
| 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:
|
| Team IDs | (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.
NOTE: Your PagerDuty account must have |
| 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. |
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": ""
}
| 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:
|
| Team IDs | (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.
NOTE: Your PagerDuty account must have |
| 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. |
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": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"teams": [
{
"id": "",
"name": "",
"description": "",
"type": "",
"summary": "",
"self": "",
"html_url": "",
"default_role": "",
"parent": ""
}
],
"limit": "",
"offset": "",
"total": "",
"more": ""
}
| 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:
|
| 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. |
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": ""
}
| 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:
|
| Team IDs | (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.
NOTE: Your PagerDuty account must have |
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": ""
}
| 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:
|
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": ""
}
}
| 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. |
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": ""
}
}
| 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:
|
| 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. |
The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"dedup_key": ""
}
| 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:
|
The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"dedup_key": ""
}
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.
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.
Connector Version: 2.1.0
FortiSOAR™ Version Tested on: 7.5.0-4015
PagerDuty Version Tested on: v2
Authored By: Fortinet
Certified: Yes
Following enhancements have been made to the PagerDuty Connector in version 2.1.0:
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.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
For the procedure to configure a connector, click here
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. |
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 |
| 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:
|
| Urgency | (Optional) Select an urgency of the incident to be created in PagerDuty. You can choose from the following options:
|
| 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. |
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": ""
}
}
}
| 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 |
| 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:
|
| Urgencies | (Optional) Select an urgency to filter results associated with the selected urgency. You can choose from the following options:
|
| Statuses | (Optional) Select one or more statuses to filter results associated with the selected statuses. You can choose from the following options:
|
| 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. |
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": ""
}
| 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:
|
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": ""
}
}
| 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:
|
| Statuses | (Optional) Select a status to filter results associated with the selected statuses. You can choose from the following options:
|
| 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. |
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": ""
}
| 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:
|
| Team IDs | (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.
NOTE: Your PagerDuty account must have |
| 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. |
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": ""
}
| 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:
|
| Team IDs | (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.
NOTE: Your PagerDuty account must have |
| 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. |
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": ""
}
| 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. |
The output contains the following populated JSON schema:
{
"teams": [
{
"id": "",
"name": "",
"description": "",
"type": "",
"summary": "",
"self": "",
"html_url": "",
"default_role": "",
"parent": ""
}
],
"limit": "",
"offset": "",
"total": "",
"more": ""
}
| 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:
|
| 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. |
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": ""
}
| 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:
|
| Team IDs | (Optional) Specify an array of team IDs to filter results associated with the specified team IDs.
NOTE: Your PagerDuty account must have |
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": ""
}
| 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:
|
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": ""
}
}
| 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. |
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": ""
}
}
| 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:
|
| 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. |
The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"dedup_key": ""
}
| 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:
|
The output contains the following populated JSON schema:
{
"status": "",
"message": "",
"dedup_key": ""
}
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.