New to Kestra?
Use blueprints to kickstart your first workflows.
Automatically raise a Sentry issue whenever any Kestra workflow in the company namespace fails or warns, with severity and a direct link to the failed execution.
id: failure-alert-sentry
namespace: system
tasks:
- id: send_alert
type: io.kestra.plugin.sentry.SentryExecution
executionId: "{{ trigger.executionId }}"
transaction: /execution/id/{{ trigger.executionId }}
dsn: "{{ secret('SENTRY_DSN') }}"
level: ERROR
triggers:
- id: failed_prod_workflows
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
prefix: true
Get a Sentry issue raised the moment a Kestra workflow fails so on-call engineers triage incidents in the same place they already track application errors. This monitoring flow watches every execution in the company namespace and forwards failures and warnings to Sentry, turning silent pipeline breakages into actionable, deduplicated alerts with severity, transaction context, and a direct link back to the failed run.
io.kestra.plugin.core.trigger.Flow trigger listens for executions across other flows.io.kestra.plugin.core.condition.ExecutionStatus fires only on FAILED or WARNING outcomes, and io.kestra.plugin.core.condition.ExecutionNamespace matches any namespace starting with the company prefix.send_alert task of type io.kestra.plugin.sentry.SentryExecution posts an event to Sentry using your project dsn, tags it with level: ERROR, and sets transaction to /execution/id/{{ trigger.executionId }} so the issue points straight at the offending execution.transaction value that links each Sentry event to the exact Kestra execution.level property (DEBUG, INFO, WARNING, ERROR, FATAL).Sentry captures errors but does not know when your scheduled pipelines break. Kestra closes that gap: the event-driven Flow trigger reacts to other executions in real time rather than polling, condition blocks keep alerts scoped and relevant, and the entire monitoring policy lives in declarative, version-controlled YAML. Built-in retries, execution lineage, and the {{ trigger.executionId }} context give every alert traceability that a standalone error tracker cannot produce on its own.
SENTRY_DSN: the Client Key (DSN) from your Sentry project settings under "Client Keys (DSN)".SENTRY_DSN secret.ExecutionNamespace prefix to match the namespace you want to monitor.level per namespace or environment to separate critical failures from warnings.