Skip to main content
Use an updown.io webhook to send check down (check.down), recovery (check.up), SSL certificate invalid or expiring, and performance drop (check.performance_drop) notifications to Flashduty On-call. A down event and its recovery, an invalid certificate and its recovery, and an expiring certificate and its renewal each land on one alert that closes automatically. A performance drop is a point-in-time event and never recovers.

In Flashduty On-call

You can get the integration push URL in either of the following ways.

Use a dedicated integration

  1. In the Flashduty console, go to Channels and open a channel
  2. Select Configuration → Integrations → Private integration, then click Add integration
  3. Select updown.io and click Save
  4. Open the generated integration card and copy the Push URL

Use a shared integration

  1. In the Flashduty console, go to Integration Center → Alert Events
  2. Select updown.io and enter an integration name
  3. Configure the default route and select a channel. You can add more rules under Routing after creation
  4. Click Save and copy the generated Push URL

Configure updown.io

1

Add a webhook URL in updown.io

Where: updown.io › SettingsOn the Settings page, add one entry to the list of webhook URLs and save:updown.io only requires a 2xx response. Any other response is retried up to 25 times, and after 1000 failed deliveries the URL is removed from the account automatically. updown.io has no separate recovery switch: when a check recovers it sends check.up automatically and Flashduty closes the alert.
2

Send a test webhook in updown.io

Where: the updown.io test page (/recipients/test, the Send a test webhook link in the webhook documentation)Send a test webhook. The test only confirms that the URL is reachable: Flashduty answers with success and creates one separate Info alert for every click (see the FAQ below). Close it by hand after verifying.
3

Verify with a real outage and recovery

Where: updown.io › SettingsMake a check actually go down (for example, create one that points to an unreachable address) and confirm Flashduty shows an active alert. Then restore the target and confirm the same alert recovers. Back in Flashduty, the integration shows Latest event time, which means the setup works.

Payload

updown.io POSTs a JSON array of events (one request can carry several). Flashduty parses it directly, with no template to configure: Event types that updown.io adds later are ignored and acknowledged, and create no alert.

Alert key

  • Down and recovery: the Alert Key is check.token. check.down and check.up of one check carry the same check.token, so they land on one alert; different checks produce different alerts. Renaming the check or a change in status code or error text does not change the Alert Key.
  • Invalid certificate: check.token plus :ssl_invalid, recovered by check.ssl_valid.
  • Expiring certificate: check.token plus :ssl_expiration, recovered by check.ssl_renewed. The reminders sent 1, 7, 14, and 30 days ahead merge into one alert.
  • Performance drop: check.token plus :performance_drop. Repeated notices for one check merge into one alert.
Each event family has its own Alert Key, so a check recovering does not close its certificate or performance alert. An event without check.token cannot be matched to its recovery, so Flashduty skips it and still processes the other valid events in the same request; a parameter error is returned only when no event in the request is valid.

Status and severity

updown.io notifications carry no severity.

One-shot alerts need auto-resolve

A performance drop (check.performance_drop) has no matching close notification, so these alerts do not recover automatically. Turn on the channel’s auto-resolve timeout and set it to 6 hours, or close the alert by hand.

FAQ

Yes, one separate Info alert. The “Send a test notification” page in updown.io settings lets you pick a recipient and an event type, and posts an event for a fixed sample check (check.token xyz0, URL https://updown.io). Flashduty recognises that fixed sample, answers success and opens a new Info alert for every press. It never merges into a real check’s alert and no later notification recovers it, so close it by hand after verifying.
No. Notices for one check carry the same check.token and merge into one alert.

Troubleshooting

  • updown.io reports a failed delivery: confirm the webhook URL is the complete push URL and includes integration_key
  • Flashduty returns a parameter error: confirm the body is an updown.io JSON array and its events have a non-empty check.token (events without one are skipped; an error is returned only when none is valid)
  • An alert does not recover: confirm the recovery is sent to the same webhook URL, and that its check.token equals the one on the down notice
For field details see the updown.io documentation, API - Webhooks.