Workflow Webhooks
Zipline Hub can send a notification when a workflow starts, succeeds, fails, or is cancelled. Webhooks are managed by an operator in Zipline UI.
Before creating a webhook
The UI lists real teams that have been synchronized from compiled configuration. Run a normal Zipline command that compiles and uploads configuration, such as zipline hub backfill, run-adhoc, schedule, schedule-all, streaming redeploy, or eval
Create and manage hooks
The list masks URLs, header values, and additional values. Use Reveal only when needed; those operations are restricted to operators and audited.
Webhooks are immutable and cannot be edited in place.
Webhook values
Hub stores webhook URLs, header values, and PagerDuty routing keys exactly as entered.
Slack
For Slack choose Slack, provide a name and a Slack incoming-webhook URL at https://hooks.slack.com, then optionally add headers, workflow-type filters, event filters, and a run mode.
For example, this UI configuration sends only failures and cancellations from ad-hoc backfills:
| Field | Value |
|---|---|
| Name | data-alerts |
| URL | https://hooks.slack.com/services/... |
| Workflow types | backfill |
| Run mode | Ad-hoc only |
| Events | FAILED, CANCELLED |
Leave workflow types and events unset to match all workflow types and all transitions. All runs is the default and sends for both scheduled and manually submitted workflows. Scheduled only sends only for scheduled workflows, while Ad-hoc only sends only for manually submitted workflows.
PagerDuty
For PagerDuty select PagerDuty and enter its routing key. Hub fixes the endpoint to https://events.pagerduty.com/v2/enqueue, requires the routing_key, and sends only failed or cancelled workflow notifications. PagerDuty event subscriptions cannot be customized.
Use the PagerDuty integration key itself:
| Field | Value |
|---|---|
| Name | oncall |
| Routing key | Your PagerDuty integration key |
Hub sends the PagerDuty dedup_key derived from the workflow, so repeat notifications update the same incident instead of opening one per retry.
Mentioning a Slack user
The optional per-workflow Slack mention is registered locally, not configured on the webhook:
zipline hub register-webhook-user-mentionEnter the Slack member ID (for example U012ABCDEF), not a display name or email. Hub includes that mention when the workflow notification supports it. The value is stored in ~/.zipline/webhooks.json with owner-only permissions; changing or removing webhooks does not affect it.