Skip to main content
Use a Calibre site webhook to send performance budget status changes to Flashduty On-call. Each budget maps to one Flashduty alert: the alert triggers when the budget becomes At risk or Exceeded, and recovers when the budget is Met again.

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


1

Add a webhook

  1. Sign in to Calibre, open the site to connect, and go to Synthetic → Settings → Integrations → Add a webhook
  2. Paste the full Flashduty push URL as the payload URL (Calibre sends application/json by POST)
  3. Select Budget notifications. Snapshot notifications are not alerts and can be left off; if selected, Flashduty returns success and creates no alert
  4. Click Save
2

Make sure budgets exist

Go to Site → Synthetic → Budgets and create a budget for each metric to watch (for example LCP). Without budgets there are no budget notifications.
3

Verify the lifecycle

Push a budgeted metric past its budget value and confirm Flashduty receives an active alert; when the metric is back within budget, confirm the alert recovers. Budget notifications are sent on persistent changes of the overall budget status, so wait for the next test to complete.
Calibre webhooks have no test button. You can also set a shared secret under Synthetic → Settings → Integrations; Calibre then signs each request in the Calibre-HMAC-SHA256-Signature header. Flashduty does not verify this signature. The integration_key in the push URL is the credential, so keep the URL private.

Payload


The main fields of a budget notification are parsed directly, with no template to configure:

Alert Key


Flashduty builds the Alert Key from the site identifier site_id and the budget ID id. At-risk, exceeded and met notifications for the same budget carry the same Alert Key and land on one alert; different budgets or sites produce different alerts. Changing the budget name, status or measured value does not change the Alert Key. If id or site_id is missing, Flashduty returns a parameter error because a met notification could not be tied to its alert reliably.

Status and severity


A budget notification with an empty or any other status is rejected, so a request whose state cannot be determined never enters the wrong alert lifecycle.

FAQ


Calibre does not send budget notifications by default; select Budget notifications on the site webhook. They are sent only when the overall budget status changes persistently, so nothing is pushed while the status stays the same.
No. A snapshot notification only reports a completed test run. Flashduty returns success and creates no alert.

Troubleshooting


  • Calibre fails to deliver: confirm the payload URL is the full push URL and includes integration_key
  • Flashduty returns a parameter error: confirm the request is a budget notification with non-empty id, site_id and status
  • The alert does not recover: confirm the met notification carries the same id and site_id as the trigger
For field details, see the Calibre documentation: Webhooks and Create a Performance Budget.