Flow gives you powerful ways to organize your tasks using **hierarchy** (parent-child nesting) and **contexts** (tags for when and how).
## Task Hierarchy
Your main organizational structure is the parent-child relationship between tasks. Any task can have subtasks, and top-level tasks with children naturally become your "projects."
### How It Works
```
Launch Product V2 <- top-level task (your "project")
├── Finalize designs
│ ├── Mobile mockups
│ └── Desktop mockups
├── Backend API
└── Launch prep
```
- **Top-level tasks** are your projects - the commitments you're managing
- **Nested tasks** are subtasks and implementation details
- **Depth is unlimited** - break things down as much as you need
### Creating Structure
There are two ways to organize tasks into a hierarchy:
1. **In the Outliner**: Use <kbd>Tab</kbd> to indent a task under the one above it, or <kbd>Shift</kbd><kbd>Tab</kbd> to outdent
2. **With Quick Add**: Type `/Parent Name` to file a task under an existing parent
> [!tip] Start Simple
> Don't worry about structure upfront. Capture tasks first, then organize them into groups as patterns emerge. A "project" is just a task that grew subtasks.
### When You Complete or Cancel a Project
When you mark a parent task as complete or cancelled, all its active subtasks automatically follow. This keeps your task list clean — when you're done with a project, everything under it closes too.
**What happens:**
- Active subtasks (not yet started or in progress) are automatically completed/cancelled along with the parent
- Subtasks you already completed stay completed — your accomplishments are preserved
- This works recursively through multiple levels of nesting
**Why this matters:**
You don't have to manually clean up dozens of subtasks when a project wraps up. Just complete the parent task and everything resolves naturally.
## Contexts (@tags)
While hierarchy organizes what you're trying to achieve, contexts help you organize tasks by **when** and **how** you can complete them.
![[Flow contexts.png|400]]
### When to Use Contexts
Use contexts to group tasks that you can tackle:
- In the same location
- Using the same tools
- At the same energy level
- With specific people
- In specific modes of work
> [!info] Context Examples
> - `@call` - Tasks requiring phone calls
> - `@email` - Email-based tasks
> - `@john` - Things to discuss with John
> - `@quickwins` - Tasks you can do in under 5 minutes
### Power of Combined Organization
A single task can have hierarchy and contexts:
```
Call contractor about kitchen tiles @call @contractor
└── (nested under "Home Renovation" parent task)
```
This tells you:
- What it's for (kitchen renovation - via parent task)
- How to do it (make a call)
- Who it involves (contractor)
> [!tip] Making the Most of Organization
> - Use hierarchy to track progress toward specific goals
> - Use contexts (@) to batch similar tasks together
> - Use domain tags (#work, #personal) to slice across your hierarchy
## Quick Reference
### Hierarchy
- `/Parent Name` - Assign a parent task in quick add
- <kbd>Tab</kbd> - Indent (make subtask) in outliner
- <kbd>Shift</kbd><kbd>Tab</kbd> - Outdent in outliner
### Contexts
- `@context` - Add any context tag
- `@call` - Phone tasks (`Cmd+4` (Mac) / `Ctrl+4` (Windows/Linux))
- `@email` - Email tasks (`Cmd+5` (Mac) / `Ctrl+5` (Windows/Linux))
- Type `@` for autocomplete suggestions
> [!success] Pro Tip
> Start simple! Begin with just a few top-level tasks as projects and a couple of context tags. Add more structure as you discover what organizational patterns work best for your workflow.