New to Kestra?
Use blueprints to kickstart your first workflows.
Send a Google Chat notification when a Kestra workflow fails. Automate real-time failure alerts to keep your team informed of pipeline issues.
id: failure-alert-googlechat
namespace: company.team
tasks:
- id: send_notification
type: io.kestra.plugin.googleworkspace.chat.GoogleChatExecution
url: "{{ secret('GOOGLE_WEBHOOK') }}"
text: "Kestra Workflow Failure: {{ trigger.executionId }} has failed on {{
taskrun.startDate }}"
executionId: "{{ trigger.executionId }}"
triggers:
- id: on_failure
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
comparison: PREFIX
Get instant Google Chat failure alerts for your Kestra pipelines. This system flow watches every execution across a namespace and its children, and posts a message to a Google Chat space the moment any workflow fails or completes with a warning. It removes the need for manual log checking and gives your team real-time visibility into broken data pipelines, scheduled jobs, and orchestration tasks.
The flow is triggered by a io.kestra.plugin.core.trigger.Flow trigger rather than a schedule, so it reacts to other executions as they happen.
io.kestra.plugin.core.condition.ExecutionStatus condition to match executions ending in FAILED or WARNING.io.kestra.plugin.core.condition.ExecutionNamespace condition with comparison: PREFIX scopes the listener to the company namespace and all nested child namespaces.send_notification task of type io.kestra.plugin.googleworkspace.chat.GoogleChatExecution posts a message to your Google Chat space.{{ trigger.executionId }} and {{ taskrun.startDate }}, and the task passes the failed executionId through so the alert points back to the exact run.Google Chat has no awareness of your pipelines and no scheduler that can detect a failed job. Kestra fills that gap. The event-driven Flow trigger fires on execution state changes across many flows at once, something a cron-based tool cannot do. You also get retries, full execution lineage, and a declarative YAML definition that is versioned and reviewable, so your alerting logic lives next to the workflows it monitors.
GOOGLE_WEBHOOK: the incoming webhook URL for the target Google Chat space.GOOGLE_WEBHOOK secret in Kestra.namespace value in the ExecutionNamespace condition to match your own namespace prefix.SUCCESS or other statuses to the ExecutionStatus condition to broaden coverage.{{ trigger.namespace }} and {{ trigger.flowId }} for more context.