New to Kestra?
Use blueprints to kickstart your first workflows.
Put an SLA on any Temporal workflow with Kestra. Wait with a short timeout and page Discord when the workflow overruns the window or ends non-completed.
A Temporal workflow that never fails but also never finishes is invisible to most alerting: no error, no page, just a settlement that quietly did not happen. This blueprint puts a clock on it from the outside. io.kestra.plugin.temporal.workflow.Wait polls the workflow within a short waitTimeout, and because failOnNonCompleted is true, both an overrun and a FAILED, CANCELED, TERMINATED, or TIMED_OUT ending fail the Kestra execution, whose errors block pages Discord with the workflow ID and the breached window. The workflow itself needs no changes and can belong to another team entirely.
sla_wait (io.kestra.plugin.temporal.workflow.Wait) targets the latest run of workflow_id and polls every 30 seconds. The waitTimeout is the SLA: PT15M by default, set per run through the sla_window input.status and JSON-encoded result outputs, and log_within_sla records the compliant run.failOnNonCompleted: true fails the task and execution jumps to the errors block.page_sla_breach posts the workflow ID, the window, and the execution link to Discord, so on-call starts in the Temporal UI with context rather than from a vague timeout graph.Temporal guarantees the workflow will eventually make progress or fail; it does not decide how long is too long for your business. That deadline is policy, and policy belongs outside the worker. Kestra holds it declaratively: the window is an input, the paging channel is a task, every guard run is in the execution history, and tightening the SLA is a one-line change nobody has to redeploy.
apiKey property; for mTLS clusters, provide caCert, clientCert, and clientKey.TEMPORAL_ENDPOINT: Temporal frontend address in host:port format, for example temporal.example.com:7233.DISCORD_WEBHOOK_URL: Discord incoming webhook URL.sla_window such as PT10S and confirm the Discord page arrives.Loop over workflow IDs.