Sub-records and task progress
Break work into subtasks, organize parent records, and track completion.
Use sub-records to break a task into smaller pieces without moving them into a separate database. Every child is a normal record with its own properties and page. It has the same database access rules as its parent.
Enable sub-records
Open your database’s Workshop, choose Relations, then turn on Sub-records and select Save sub-record settings. You need permission to edit the database structure.
Snoze creates a Parent property and a reciprocal Sub-records property. You can also choose an existing optional one-to-many relation within the same database. The relation must have no default values and use detach as its deletion behavior. A database managed by an integration must first be duplicated into a native database.
Add, move, and open subtasks
In a table or list, open a row’s Sub-record actions menu and choose Add sub-record. Fill in its title and required properties. You can also add a child from the Sub-records section of an open record.
Use the arrow beside a parent to expand or collapse its children. Open a child as you would any other record. When a collection has more results, use Load more to see them.
Choose Move under… to search for a different parent, or Make top-level to remove the current parent. Moving a record carries its descendants with it. Each record can have one parent in the same database. A record cannot become its own ancestor, and a hierarchy can contain up to 32 levels.
Choose how progress is calculated
In the sub-record settings, choose a checkbox, status, or select Completion property. For status and select properties, choose which options mean completed. A checked checkbox means complete.
Progress includes offers two choices:
- Direct children only counts the records immediately below a parent.
- Leaf tasks at every level counts descendants that have no active children, so intermediate parent records do not count twice.
For example, if Design contains two completed subtasks and Build contains one unfinished subtask, their parent’s leaf progress is 2/3. Its direct-child progress depends on the completion properties of Design and Build themselves.
Progress never changes a parent’s status automatically. Without a completion property, Snoze shows the number of children. Archived branches do not count; filters that hide a child do not remove it from progress.
Use different views
Tables and lists start nested. View settings → Display → Nest sub-records saves the display choice for that view. Editing this choice requires permission to edit the view. Boards, galleries, calendars, timelines, and relation views remain flat.
When a descendant matches a nested view’s filters, its ancestors remain visible with a Context label. Progress appears on table and list rows, board and gallery cards, timeline labels, and expanded calendar cards.
Delete, archive, and duplicate
Deleting a parent normally preserves its children and removes their parent link. Delete subtree… is a separate permanent action: review the number of affected records and type the parent’s title to confirm. It includes archived descendants and supports up to 1,000 records at once. If the subtree changes, review it again.
Archiving preserves links. Active children of an archived parent appear at the top level until the parent is restored. Duplicating an individual record creates a top-level copy. Duplicating the database with its records copies the hierarchy and its completion settings.
Turn nesting off
Disable Sub-records and save the settings. Links remain intact, and the one-parent, cycle, and depth rules still apply. The designated parent and child properties stay protected from deletion or structural changes.
To remove a completion property or an option used to mean completed, first choose a different completion rule in the sub-record settings.