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 an integration
  3. Select updown.io and click Save
  4. Open the new 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 Routes after creation
  4. Click Save and copy the generated push URL

Configure updown.io


1

Add a webhook URL

  1. Sign in to updown.io and open the Settings page, where the list of webhook URLs is
  2. Add the complete Flashduty push URL (including integration_key) to the list and save
  3. Use the Send a test webhook link to send a test webhook and confirm Flashduty accepts it (see the FAQ below)
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.
2

Verify the lifecycle

Make 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.

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.