Notify & Control Pipelines

Actions run at lifecycle hooks (pre / running / post / UI). Two families: notify (tell a human) and control (act on the pipeline).

Notify

Attach a notification action at any hook. LeastActionSlackNotify ships built-in (configure a Slack webhook in a connection); email is LeastActionSMTPEmail; any other target (SNS, Teams, PagerDuty, HTTP) is a small custom action. Message strings template from task context ({{task_name}}, {{logical_date}}, {{state}}, {{partition}}, …). Common uses: failure alerts (run_on_states: ["failed"]), approval-needed pings, SLA breaches, pipeline-complete digests.

→ Worked example: the leastaction-pipelines-notify usecase.

Control

Built-in control actions compose at a hook to observe state, decide, and act:

LeastActionRun · LeastActionRerun · LeastActionRerunSubtree · LeastActionCancel · LeastActionSkip · LeastActionSkipSubtree

Patterns: SLA watchdog (cancel stuck tasks), auto-retry with attempt cap, start-child-on-success (event-driven sub-pipelines), data-quality enforce (skip the subtree on bad output), partition triage from the UI, staged escalation.

→ Worked example: the leastaction-pipelines-control usecase.

Report approval & distribution

For report workflows, ApproveAndSendReport emails + archives + publishes a report (manual review or auto-approval). → the leastaction-reporting-approval + leastaction-reporting-distribution usecases, and Assets & Reports.

Reference

Always test control actions on one task / a small partition first — they make real changes.