In Flashduty On-call
- In the Flashduty console, go to Integration Center → Change Events
- Select Scalr and enter an integration name
- To assign changes to specific channels, add rules under the integration’s Routes that match labels such as
environmentorworkspace - Click Save and copy the generated Push URL
Configure Scalr
A webhook is created at account scope and then assigned to environments; once assigned, runs of every workspace in that environment trigger it.
1
Create the webhook
At account scope, go to Integrations → Events Forwarding → Webhook and create a webhook (the Scalr API and the Terraform provider’s
scalr_webhook resource also work):- URL: paste the full push URL of the Flashduty integration
- Events: select
run:completed,run:errored, andrun:needs_attention - Secret key: required. Click Generate or enter any string. Scalr uses it to sign requests; Flashduty authenticates with the
integration_keyin the push URL and does not verify the signature
2
Assign it to environments
A new webhook is created with Allow all current and future environments to have access to this webhook turned on, so no assignment is needed. To limit it, turn that switch off in the webhook’s Environments access tab and select the environments you want to connect.
What one change is
Scalr sends a delivery at only three moments: a run needs a person’s confirmation, a run finishes successfully, and a run errors. Canceling a run or discarding it at the confirmation step sends nothing, so such a run’s change stays Planned (or is never created). A change therefore has no Ready or Processing state; its first state is Planned (waiting for confirmation) or an end state. A run that applies automatically produces one record, when it ends.
Status mapping
End events are mapped by run status:
applied is Done and errored is Failed (a canceled or discarded status in an end event would be Canceled, but Scalr does not send one). Done and Failed are end states, and Flashduty records the change’s end time.
These deliveries return success and create no change: an end event whose run status is planned_and_finished (a plan-only or no-change run, nothing was applied), and any event outside the run: family.
Change content
Labels for routing and for filtering the change list:
Run variables (
variables) and user emails are not recorded.
FAQ
Why don't I see any changes?
Why don't I see any changes?
- Confirm the webhook is enabled and assigned to the environment the run belongs to
- Confirm
run:completed,run:errored, andrun:needs_attentionare all selected - Open the webhook’s Deliveries tab to see each delivery and Flashduty’s response; you can also resend from there
- A plan-only run (a dry run, nothing applied) that succeeds creates no change
Does a failed dry run (plan) create a change?
Does a failed dry run (plan) create a change?
Yes. Scalr’s payload does not tell a dry run from an apply run, so a run that errors during the plan is delivered as
run:errored and Flashduty records a Failed change. The source label can help tell them apart, for example runs triggered by a VCS pull request.Are repeated deliveries recorded twice?
Are repeated deliveries recorded twice?
No. An event with the same run, status, and time is recorded once, so resending from Deliveries adds nothing.
The delivery returns an InvalidParameter error?
The delivery returns an InvalidParameter error?
unsupported event-nameorunsupported run.status: the delivery carries an event or run status Flashduty does not support yet; contact usrun.id is missingorevent-name is missing: the payload is incomplete; confirm it comes from a Scalr webhook