In Flashduty On-call
You can get the push URL in either of the following ways.Use a dedicated integration
- In the Flashduty console, select Channels and open a channel
- Select Settings → Integrations → Dedicated integrations, then click Add integration
- Select UpGuard and click Save
- Open the generated integration card and copy the Push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select UpGuard and enter an integration name
- Configure the default route and choose a channel; you can add more rules under Routes later
- Click Save and copy the generated Push URL
Configure in UpGuard
1
Add a webhook integration in UpGuard
Where: UpGuard › Settings › Integrations › + New Integration › Webhook
Then click Confirm and next.
2
Fill in the payload template in UpGuard
Where: UpGuard › Settings › Integrations › + New Integration › Webhook › Define payloadUpGuard renders the request body from a Liquid template. Flashduty parses the JSON rendered from the template below. Paste it as the payload of each trigger; string fields must be quoted:Keep
id: a request without notification.id is rejected. The fields under context depend on the trigger; missing fields render empty and Flashduty ignores empty values.You can click Send test message to check connectivity. UpGuard’s documentation does not show the test message body, so Flashduty handles it like any notification: it opens an alert that you close by hand. Then click Confirm and next.3
Turn on auto-close in Flashduty
Where: Flashduty console › Channels › Edit channel › Auto-resolve timeout
Turn on auto-close in the channel that receives these alerts. UpGuard sends no recovery notification, so without auto-close these alerts stay open.
4
Enable the integration in UpGuard and verify
Where: UpGuard › Settings › Integrations › + New Integration › Webhook › EnableClick the toggle to enable the integration, then click Finish. Then wait for a real trigger (or use Send test message from the previous step). Back in Flashduty, the integration shows a Latest event time, which means the setup works.
Event types
Alert key
Flashduty usesnotification.id as the Alert Key: notifications with different ids open different alerts, and a redelivery with the same id merges into the same alert. A request without notification.id is rejected. UpGuard’s documentation does not state the scope of that id’s uniqueness, so before going live, confirm with the test message and one real trigger that two notifications carry different id values.
Status and severity
UpGuard notifications carry no severity, so every notification opens as Warning. To tell them apart, adjust the severity in the channel’s alert processing rules using thenotification_type label.
Labels
The alert title is the
description (for example The score for 'Example Company' dropped below 600 with a score of 599), or the notification type when it is empty.
Notes
- UpGuard notifications can carry breach and identity data. Keep the template to the fields listed above and do not add credentials or personal data
- UpGuard sends requests from a fixed set of IP addresses, listed in webhook-ips.json. Allow them if an IP allowlist sits in front of Flashduty
- If
descriptioncontains a double quote, the rendered JSON is invalid and the request is rejected as a parameter error
Troubleshooting
- Flashduty receives nothing: confirm the webhook destination is complete, includes
integration_key, and the integration is enabled - Parameter error: a missing
notification.idmeans the template droppedid; an invalid JSON message means a string field is not quoted - Alerts never close: UpGuard sends no recovery notification, so turn on the channel’s auto-close