Subtasks & Subprojects
Hierarchy works the same way for every entity type in Based.
One hierarchy field
Every Task has a parentId. Every Project has a parentId. The field is optional β leave it blank and the record is a top-level Task or Project. Set it to another record of the same type and the record becomes a subtask or subproject of that parent. No new entities, no separate βsubtaskβ type β same shape, one extra field.
- Blank parentId β top-level. Most Tasks and Projects live here.
- parentId set β child of that record. Renders indented in tree views; rolls up into the parent.
A workstream with an initiative inside it is really just a project with parentId set to the workstream's id. Same primitive, recursive.
Breakdown
Use subtasks to split a task into checkable pieces. The parent task stays the unit the team talks about in standup; the children are the actual steps. Based rolls up completion automatically β when every subtask is done, the parent is marked done.
Rollup
Projects roll up task counts, completion %, and the earliest / latest dates of their children. You can surface these on the project page as pinned fields (see Entity page header) or use them in view groupings.