A task in the context of airflow is the basic unit of execution. They are arranged into [[Airflow Dags]] and then have upstream and downstream dependencies set between them in order to express the order in which they should be run.

There are three kinds of tasks:

1.  Operators: they are predefined task templates that you can string together quickly.
2.  Sensors: special subclass of operators, which are entirely about waiting for an external event to happen.
3.  A Taskflow-decorated @task, which is a custom python function packaged as a task.

[See this](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/tasks.html)
