Blueprints

System flow — set up alerts for failed workflow executions using Zenduty

About this blueprint

Notifications System

This system flow will help you set up alerts for failed workflow executions. Using this pattern, you can manage alerts on failure in one place.

This flow sends an alert to Zenduty whenever a flow execution fails.

Setup

The only required input is an integration key. The API integration will send an API call that follows the format:

bash
curl -X POST https://www.zenduty.com/api/events/[integration-key]/ -H 'Content-Type: application/json' -d '{"alert_type":"critical", "message":"Some message", "summary":"some summary", "entity_id":"some_entity_id"}'

The message and summary parameters are required. The alert_type parameter is the severity of the issue, including info, warning, error, or critical. The default value is error.

The ZendutyExecution task abstracts away raw API calls and only requires the integration key, which you can store as a Secret. Visit the Zenduty Events API documentation for more details.

Customization

You can further customize that system flow by modifying the ZendutyExecution task, or by adding more tasks to the flow.

Restricting alerts using conditions

You can restrict the flow to only send alerts for specific namespaces by adding an ExecutionNamespaceCondition to the trigger. You can read more about that in the Administrator Guide.

yaml
id: failure_alert_zenduty
namespace: system

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.zenduty.ZendutyExecution
    url: "https://www.zenduty.com/api/events/{{ secret('ZENDUTY_INTEGRATION_KEY') }}/"
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: on_failure
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING

Zenduty Execution

Flow

Execution Status Condition

More Related Blueprints

New to Kestra?

Use blueprints to kickstart your first workflows.

Get started with Kestra