New to Kestra?
Use blueprints to kickstart your first workflows.
Get instant Slack alerts when any Kestra flow in a namespace fails or warns. One Flow trigger covers every workflow, with a link to the failed execution.
id: slack-failure-alert
namespace: company.monitoring
tasks:
- id: send
type: io.kestra.plugin.slack.notifications.SlackExecution
url: "{{ secret('SLACK_WEBHOOK') }}"
executionId: "{{ trigger.executionId }}"
triggers:
- id: listen
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.ExecutionStatus
in:
- FAILED
- WARNING
- type: io.kestra.plugin.core.condition.ExecutionNamespace
namespace: company.analytics
prefix: true
Catch failures the moment they happen instead of discovering broken pipelines hours later. This blueprint posts a Slack alert whenever any flow in the company.analytics namespace finishes in a FAILED or WARNING state, so on-call engineers and data teams get notified in the channel they already watch. The alert carries the executionId, giving everyone a direct link to the failed execution page for fast triage and root-cause analysis.
io.kestra.plugin.core.trigger.Flow trigger named listen watches the execution state of other flows across the whole instance.io.kestra.plugin.core.condition.ExecutionStatus fires only on FAILED and WARNING outcomes, and io.kestra.plugin.core.condition.ExecutionNamespace with prefix: true scopes it to company.analytics and all of its child namespaces.send task (io.kestra.plugin.slack.notifications.SlackExecution) posts to Slack via an incoming webhook url, passing executionId so the message includes execution context and a link.Slack itself has no awareness of your workflows, and most schedulers can only alert on the single job they ran. Kestra's event-driven Flow trigger reacts to the execution state of any flow in a namespace, so one declarative YAML definition replaces per-flow notification boilerplate. You also get retries, full execution lineage, and a searchable history, capabilities a plain webhook or a tool's built-in scheduler cannot provide on their own.
SLACK_WEBHOOK: the Slack incoming webhook URL used by the send task.SLACK_WEBHOOK secret in Kestra.ExecutionNamespace condition to your own namespace.ExecutionStatus (for example, alert only on FAILED).SlackExecution for SlackIncomingWebhook to send a fully custom message payload.