New to Kestra?
Use blueprints to kickstart your first workflows.
Verify data recovery after an incident with Kestra. A webhook fires a Sifflet rule run and posts the verdict to Slack before anyone closes the ticket.
Data incidents have a bad habit of being closed on optimism: the fix is deployed, the pipeline reran, and someone marks the ticket resolved without rerunning the check that caught the problem. This blueprint wires the recheck into the incident workflow. When your incident tooling reports a fix deployed, it calls a Kestra webhook, io.kestra.plugin.sifflet.RunRule launches a fresh run of the exact rule that fired, and Slack gets the verdict, so closing the incident becomes a decision backed by a rule run instead of a guess.
on_fix_deployed trigger (io.kestra.plugin.core.trigger.Webhook) exposes an HTTP endpoint guarded by a secret key. PagerDuty, Opsgenie, a runbook button, or any tool that can POST fires the flow when a fix lands.recheck_rule (io.kestra.plugin.sifflet.RunRule) authenticates with the API key, targets your tenant through baseUrl, and launches a run of the rule named by the rule_id input, the same monitor that detected the incident.status, statusCode, ruleId, and the raw response; post_verdict posts the status to the incident channel with an explicit instruction to review the run in Sifflet before closing.errors block posts a distinct alert when the recheck fails to launch, telling the resolver not to close the incident on it.Sifflet detects and your incident tool tracks, but neither reruns the check when the fix lands. Kestra is the connective step: a webhook any tool can call, the rule run launched with credentials kept in secrets, the verdict pushed back into the channel where the incident lives, and an execution record for the postmortem. The recheck stops depending on whoever happens to be resolving the ticket.
SIFFLET_API_KEY: Sifflet API bearer token used to run the rule.SIFFLET_BASE_URL: base URL of your Sifflet tenant API.SLACK_WEBHOOK_URL: Slack incoming webhook URL.SIFFLET_RECHECK_WEBHOOK_KEY: secret key guarding the webhook endpoint.rule_id and confirm the Slack verdict arrives.ForEach, as shown in the Sifflet rule pack fan-out blueprint.retry on the rule task so a transient API blip does not fail the recheck during an active incident.{{ trigger.body }} fields when the flow is webhook-triggered.