Skip to main content
Synchronize via webhook Flashduty implements PagerDuty Events API with full input and response compatibility. This allows you to push alert events to Flashduty using the PagerDuty protocol for automated alert noise reduction. Similarly, for alert systems that already support pushing events to PagerDuty (such as ElastAlert), you only need to modify the destination push URL to utilize the PagerDuty protocol for pushing events to Flashduty.

In Flashduty


You can obtain an integration push URL through either of these two methods:

Using Private Integration

Choose this simpler option when you don’t need to route alert events to different channels.

Using Shared Integration

Choose this option when you need to route alerts to different channels based on the alert event’s payload information.

In PagerDuty


Request URL

{api_host}/event/push/alert/pagerduty
This URL supports both PagerDuty V1 and V2 Events API. You must modify the PagerDuty URL to this address.

PagerDuty V2 Events

Reference Documentation:

PagerDuty V2 Events

Authentication Methods:

Choose one of these two methods:
  • Method 1: Include integration_key parameter in QueryString
  • Method 2: Pass integration_key as routing_key parameter in Payload

PagerDuty V1 Events

Reference Documentation:

PagerDuty V1 Events

Authentication Methods:

Choose one of these two methods:
  • Method 1: Include integration_key parameter in QueryString
  • Method 2: Pass integration_key as service_key parameter in Payload

Configuration Example

Using ElastAlert2 as an example:
  1. Step 1: Obtain Push URL
Enter integration name on the current page and save. Reopen integration details and copy the push URL, such as:
{api_host}/event/push/alert/pagerduty?integration_key=xxx
  1. Step 2: Modify Push URL
Modify the corresponding source code of your deployed ElastAlert instance, view diff:drawing
  1. Step 3: Report Alert Events
Follow the ElastAlert PagerDuty push configuration documentation steps to configure alerts:
name: "b"
type: "frequency"
index: "pgy_audit*"
is_enabled: true
num_events: 1
realert:
  minutes: 1
terms_size: 50
scan_entire_timeframe: true
timeframe:
  minutes: 60
timestamp_field: "created_at"
timestamp_type: "unix_ms"
use_strftime_index: false
alert_subject: "Test {0} 123 aa☃ {1}"
alert_subject_args:
  - "account_id"
  - "operation"
alert_text: "Test {0}  123 bb☃ {1}"
alert_text_args:
  - "request_id"
  - "operation_name"
filter:
  - query:
      query_string:
        query: "created_at:*"

# ------- Flashduty ----------------
alert: pagerduty
pagerduty_service_key: xxx
pagerduty_client_name: wahaha
pagerduty_api_version: v2
pagerduty_v2_payload_class: ping failure
pagerduty_v2_payload_component: mysql
pagerduty_v2_payload_group: app-stack
pagerduty_v2_payload_severity: error
pagerduty_v2_payload_source: mysql.host.name
# ------- Flashduty ----------------
  1. Step 4: Restart ElastAlert and wait for alerts to trigger