airflow-hitl

Defer Airflow DAG execution to wait for human approvals and inputs.

2|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/Abhinow1997/pe-orgair-platform --skill airflow-hitl-abhinow1997
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: airflow-hitl
Source: https://github.com/Abhinow1997/pe-orgair-platform/tree/main/airflow/.agents/skills/airflow-hitl
Command: npx skills add https://github.com/Abhinow1997/pe-orgair-platform --skill airflow-hitl-abhinow1997

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Airflow users need a way to pause a DAG and wait for human input (approval, data entry, or branching) before continuing.

Core Features & Use Cases

  • Deferrable HITL operators (ApprovalOperator, HITLOperator, HITLBranchOperator, HITLEntryOperator) to pause DAGs and wait for human response.
  • Web UI and REST API integration for approving actions, submitting forms, and selecting downstream tasks.
  • Supports human-driven branching to skip or run downstream tasks based on responses; suitable for approval gates, form-driven data collection, and guided workflow orchestration.

Quick Start

Define a simple Airflow DAG that uses HITL operators to pause for human input and proceed based on the responses.

Frequently Asked Questions about airflow-hitl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pause an Airflow DAG to wait for human approval before continuing?

You can pause an Airflow DAG for human approval by using deferrable human-in-the-loop operators like ApprovalOperator. These operators suspend DAG execution until an approval response is submitted via the Web UI or REST API, then resume the workflow automatically.

What is a human-in-the-loop workflow in Airflow and when do I need it?

A human-in-the-loop workflow in Airflow pauses automated DAG execution to require human decision gates, form inputs, or dynamic branching. You need it when downstream tasks depend on manual approvals, data entry, or human-driven task selection.

Can I create form-driven dynamic branching in Airflow based on user input?

Yes, you can create form-driven dynamic branching in Airflow using the HITLBranchOperator. It pauses the DAG to collect human input and uses that response to determine which downstream tasks run or skip, enabling guided workflow orchestration.

Does this human-in-the-loop Airflow approach work with deferrable operators in Airflow 3.1+?

Yes, this approach uses deferrable HITL operators designed specifically for Airflow 3.1+ environments. Deferrable operators free up worker slots while the DAG waits for human input through the Web UI or REST API.

How do I collect form data from users during an Airflow DAG run?

You collect form data during an Airflow DAG run by using the HITLOperator or HITLEntryOperator to pause execution. Users submit form inputs through the integrated Web UI or REST API, and the DAG continues using the collected data.

What is the best way to add manual decision gates to an existing Airflow workflow?

The best way to add manual decision gates to an Airflow workflow is using deferrable HITL operators. They integrate with the Web UI and REST API to pause DAGs, capture human responses, and trigger notifiers for guided workflow orchestration without holding worker resources.