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 Wormly 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 Wormly 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
In Wormly
1
Create a webhook contact
- Sign in to Wormly, go to Contacts, and click Create New Contact
- Choose the Webhook channel
- Paste the full Flashduty push URL into the URL field
- Choose a JSON webhook type (
JSONorJSON - multipart/form encoding; Flashduty parses both). Do not choose XML or Serialized PHP - Save
2
Add the contact to an alert group
In Alert Groups, edit the group used by the hosts you want to send, and add the new contact to the relevant escalation levels. One alert group can be used by several hosts.
3
Verify the lifecycle
Make a monitored host fail (for example, temporarily point the monitor at a closed port) and confirm Flashduty receives an active alert. Then restore the target and confirm the alert recovers.
Wormly requires the receiving endpoint to be on a different server than the one being monitored, and times out after 5 seconds. The Flashduty push URL meets both requirements.
Payload
Wormly sends one JSON object per notification. Flashduty parses it directly, with no template to configure:
The alert title is the host name, or
Wormly host <hostid> when the name is empty. The request can be a JSON body, or a urlencoded or multipart form that carries the JSON in the wormlyalert field.
Alert Key
Flashduty uses
hostid as the Alert Key. Wormly documents it as the unique ID of the host that triggered the alert. Failure, repeated escalation, and recovery notifications for one host carry the same hostid, so they land on the same alert. Different hosts produce different alerts even when they share a name. Changing the host name, escalation level, or sensors does not change the Alert Key.
If hostid is missing, Flashduty returns a parameter error because a recovery could not be matched to its alert.
Status and severity
Wormly notifications carry no severity.
alertlevel is an escalation step, not a severity, so Flashduty treats every failure as Critical.
Requests whose
isrecovery is missing or is neither 0 nor 1 are rejected, so a request of unknown state never enters the wrong alert lifecycle.
FAQ
Does a continuing failure create multiple Flashduty alerts?
Does a continuing failure create multiple Flashduty alerts?
No. While a host stays down, each notification sent at an escalation level carries the same
hostid and merges into one alert. When several sensors of one host fail together, Wormly lists them in a single notification and Flashduty still creates one alert.Can I send Wormly's XML or Serialized PHP format?
Can I send Wormly's XML or Serialized PHP format?
No. Flashduty only parses the JSON format. Choose a JSON webhook type in Wormly.
Troubleshooting
- Wormly reports a failed push: confirm the URL is the full push URL and includes
integration_key - Flashduty returns a parameter error: confirm the webhook type is JSON and that
hostidandisrecoveryare present in the request - The alert does not recover: confirm the recovery notification goes to the same contact. Wormly notifies every recipient that received a failure notice when the host recovers