Zulip ZulipExecution

Zulip ZulipExecution

Certified

Notify Zulip about a flow execution

Renders a templated Zulip message with execution metadata (link, ID, namespace, flow name, start date, duration, terminal status, and failing task when applicable). Use inside Flow triggers; for errors handlers prefer ZulipIncomingWebhook. Configure channel/user/icon via template fields.

yaml
type: io.kestra.plugin.zulip.ZulipExecution

Send a Zulip notification on a failed flow execution.

yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.zulip.ZulipExecution
    url: "{{ secret('ZULIP_WEBHOOK') }}" # format: https://yourZulipDomain.zulipchat.com/api/v1/external/INTEGRATION_NAME?api_key=API_KEY
    channel: "#general"
    executionId: "{{trigger.executionId}}"

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: prod
        prefix: true
Properties
Min length1

Zulip incoming webhook URL

Full incoming webhook URL (integration path and API key); render from a secret. See Incoming Webhook Integrations for formats.

Channel destination

Optional stream or topic to target; overrides channel defined in the rendered template.

Custom fields to be added on notification

Custom message to be added on notification

Default{{ execution.id }}

The execution id to use

Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.

Icon emoji

Emoji code to display as avatar instead of an image URL.

Icon URL

HTTP URL for avatar shown with the message; ignored if emoji is set.

HTTP client options

Tune headers, charsets, and timeouts used by the Zulip HTTP calls. Leave empty to use Kestra defaults.

Definitions
connectTimeoutstring

Connect timeout

Duration to open the TCP connection before failing.

connectionPoolIdleTimeoutstring
DefaultPT0S

Connection pool idle timeout

How long an idle pooled connection stays open before eviction; default 0s.

defaultCharsetstring
DefaultUTF-8

Default charset

Charset used when none is provided by the response; default UTF-8.

headersobject

HTTP headers

Extra headers merged into the request; values can be templated.

maxContentLengthintegerstring
Default10485760

Max response size

Maximum response body size in bytes; default 10 MB.

readIdleTimeoutstring
DefaultPT5M

Read idle timeout

Allowed idle time on an open read connection before closing; default 5 minutes.

readTimeoutstring
DefaultPT10S

Read timeout

Max time to read data before failing; default 10s.

Zulip message payload

Rendered JSON body sent as-is to the incoming webhook; follow Zulip payload schema for your integration.

Reference (ref) of the pluginDefaults to apply to this task.

Template variables

Key-value map rendered into the Pebble template before sending.

Message author

Overrides the displayed sender name for this message.