Skip to main content
Use the Cronitor Webhooks integration to send monitor alert (Alert) and recovery (Recovery) notifications to Flashduty On-call. It works for cron jobs, heartbeats, and website and API checks: a Flashduty alert triggers when a monitor fails, and recovers when the monitor is healthy again. According to the Cronitor pricing page, webhook alerts are included in the free Hacker plan and in the paid plans.

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 Cronitor 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 Cronitor 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 Cronitor

1

Create a webhook integration in Cronitor

Where: Cronitor › Settings › Integrations › Create Integration › WebhooksClick Create Integration.
2

Add it to a notification list

Where: Cronitor › Settings › AlertsAfter creation, Cronitor prompts you to add the integration to one or more Notification Lists. You can also do it later by editing a notification list under Settings → Alerts and selecting this webhook.A notification list can be limited to specific environments. Only alerts in environments where the list is active are pushed to Flashduty.
3

Choose the notification list on your monitors

On the monitor’s edit page, select a notification list that contains the webhook. Monitors without a notification list use the account’s default list; to push all monitors to Flashduty, add the webhook to the default list.
4

Trigger an alert and a recovery, then verify

Cronitor recommends testing alerts with a heartbeat monitor:
  1. Create a heartbeat monitor and attach the notification list that contains the webhook
  2. Open the monitor’s telemetry URL in a browser to send one normal ping
  3. Open the telemetry URL again with ?state=fail appended; Cronitor sends an alert notification, an active alert appears in Flashduty, and the integration shows Latest event time
  4. Open it once more without ?state=fail; Cronitor sends a recovery notification and the original Flashduty alert recovers

Payload fields

Cronitor sends the following fields as JSON: The alert title is the issue name; when it is empty, the monitor name, then the monitor key. Every alert also carries the label source=cronitor.

Alert key

Flashduty builds the Alert Key from the monitor key (id) and the environment (environment):
  • Alert, repeated alert, and recovery notifications of one monitor in one environment land on the same alert
  • One monitor in different environments (for example Production and staging) creates separate alerts, and recovery in one environment does not close the alert of another
  • Renaming a monitor or changing its group or assertions does not change the Alert Key
The monitor key is the same for every outage. After an alert recovers, the next failure of the same monitor creates a new alert instead of reopening the recovered one. Changing the monitor key, or deleting the monitor and creating it again, produces a new Alert Key that is no longer linked to the old alert.

Status and severity

Cronitor webhooks carry no severity. Flashduty maps them as follows: type is matched case-insensitively. Requests without id, or with an empty or any other type, are rejected.

FAQ

No. While a Cronitor issue is open, further failures send no new notification; Cronitor only sends reminder alerts at the interval shown in the monitor’s Reminder Alerts setting (every 8 hours by default). Reminder Alert notifications merge into the same active alert and do not create new alerts.
Make sure the monitor is still attached to a notification list that contains the webhook, and that the list is active in that environment. If a recovery notification is lost, close the alert in Flashduty manually.Resolving an issue by hand in Cronitor sends no recovery notification. A failure shortly after a recovery can reopen the same Cronitor issue; the reopened issue sends an alert (a new Flashduty alert with the same Alert Key), and in testing it did not send a recovery when the monitor became healthy again. Close such alerts in Flashduty manually.

Troubleshooting

  • Flashduty returns an invalid parameter error: make sure the push URL is complete (including integration_key) and the body has the id and type fields
  • No notifications arrive: make sure the webhook is selected in the monitor’s notification list, and the list’s environments include the alert’s environment
  • An alert does not recover: make sure the alert and recovery notifications come from the same environment; different environments create different alerts