down) and recovery (up) notifications to Flashduty On-call. Each NodePing check maps to one Flashduty alert: the alert triggers when the check goes down and recovers when the check is up again.
In Flashduty On-call
You can get the integration push URL in either of the following ways.
Use a dedicated integration
- In the Flashduty console, go to Channels and open a channel
- Select Configuration → Integrations → Private integration, then click Add an integration
- Select NodePing and click Save
- Open the new integration card and copy the push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select NodePing and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routes after creation
- Click Save and copy the generated push URL
Configure NodePing
1
Add a webhook contact method
- Sign in to NodePing, go to Checks & Contacts → Contacts, and click Add new contact
- Enter
Flashdutyas the Name - Select Webhook as the contact method type
- Keep the request method at GET (the default) and paste the complete Flashduty push URL into the URL field
- Leave Query Strings, Headers, and Body empty, then click Save
NodePing webhook notifications are available only on the Professional and Premiere plans (a 15-day free trial is available).
2
Attach the contact method to checks
Go to Checks & Contacts → Checks, edit the check you want to connect, select the
Flashduty webhook contact method in the notifications section, and save. You can also add it to a contact group or a notification profile and attach that to several checks.3
Verify the lifecycle
Make a check actually go down (for example, temporarily point it at an unreachable target) and confirm that Flashduty receives an active alert. Then restore the target and confirm that the same alert recovers.
Payload
NodePing sends a GET request with the following fields appended to the push URL’s query string. Flashduty parses them directly, with no template to configure:
The alert title is the check name. If the name is empty, Flashduty uses the check target, then
NodePing check <uuid>.
Alert Key
Flashduty uses the check
uuid as the Alert Key. Down and up notifications for the same check carry the same uuid, so they land on the same alert. Different checks produce different alerts even when their names and targets are the same. Changing the check name, target, or result code does not change the Alert Key.
_id identifies a single check result and changes on every notification, so it is not used to correlate alerts. A request without uuid is rejected with a parameter error, because its recovery could not be matched to the original alert reliably.
Status and severity
NodePing notifications have no severity, so Flashduty treats them all as Critical.
first means monitoring has started and this webhook is registered as a notification target. It does not describe an outage, so Flashduty only returns success. Requests whose event is empty or has any other value are rejected, so that a request with an unknown state never enters the wrong alert lifecycle.
FAQ
Why GET instead of POST with a JSON template like other integrations?
Why GET instead of POST with a JSON template like other integrations?
When you set only the URL, NodePing includes the full check details automatically, so there is no template to write or maintain. NodePing’s documentation also does not say whether template values are JSON-escaped, so quotes or line breaks in a check name or message could make a request body invalid JSON. For these reasons, the Flashduty NodePing integration accepts only the default GET request.
What happens with delayed notifications or notification schedules?
What happens with delayed notifications or notification schedules?
NodePing decides whether to send a notification based on the delay and schedule set on the contact method. If a check recovers before the delay ends, NodePing sends no down notification and Flashduty creates no alert. For up notifications to recover alerts, send down and up notifications to the same webhook contact method and do not suppress
up notifications on it.The contact method is attached, but real alerts do not arrive
The contact method is attached, but real alerts do not arrive
Confirm that the check is enabled, the webhook contact method is not muted, and the down state has lasted through the rechecks set by the check’s sensitivity.
Troubleshooting
- NodePing fails to deliver: Confirm that the URL is the complete push URL including
integration_key, and that the request method is GET - Flashduty returns a parameter error: Confirm that no custom Query Strings or Body are set, and that
uuidandeventare present - The alert does not recover: Confirm that the check still uses the same webhook contact method when it recovers and that
upnotifications are not suppressed