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
- In the Flashduty console, go to Channels and open a channel
- Select Configuration → Integrations → Private integration, then click Add an integration
- Select Calibre 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 Calibre 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
Configure Calibre
1
Add a webhook
- Sign in to Calibre, open the site to connect, and go to Synthetic → Settings → Integrations → Add a webhook
- Paste the full Flashduty push URL as the payload URL (Calibre sends
application/jsonby POST) - Select Budget notifications. Snapshot notifications are not alerts and can be left off; if selected, Flashduty returns success and creates no alert
- 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
No budget notifications arrive?
No budget notifications arrive?
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.
Do snapshot notifications create alerts?
Do snapshot notifications create alerts?
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_idandstatus - The alert does not recover: confirm the met notification carries the same
idandsite_idas the trigger