# Chaining Entities

Union.ai offers a mechanism for chaining entities using the `>>` operator. This is particularly valuable when chaining tasks and subworkflows without the need for data flow between the entities.

## Tasks

Let’s establish a sequence where `t1()` occurs after `t0()`, and `t2()` follows `t1()`.

```python
import union

@union.task
def t2():
    print("Running t2")
    return

@union.task
def t1():
    print("Running t1")
    return

@union.task
def t0():
    print("Running t0")
    return

# Chaining tasks
@union.workflow
def chain_tasks_wf():
    t2_promise = t2()
    t1_promise = t1()
    t0_promise = t0()

    t0_promise >> t1_promise
    t1_promise >> t2_promise
```

## Subworkflows

Just like tasks, you can chain subworkflows.

```python
@union.workflow
def sub_workflow_1():
    t1()

@union.workflow
def sub_workflow_0():
    t0()

@union.workflow
def chain_workflows_wf():
    sub_wf1 = sub_workflow_1()
    sub_wf0 = sub_workflow_0()

    sub_wf0 >> sub_wf1
```

> [!NOTE]
> Chaining tasks and subworkflows is not supported in local Python environments.

---
**Source**: https://github.com/unionai/unionai-docs/blob/main/content/user-guide/programming/chaining-entities.md
**HTML**: https://www.union.ai/docs/v1/union/user-guide/programming/chaining-entities/
