Using Notion Relations and Rollups to Summarize Work Without Scripts
Link Tasks to Projects with a Relation and summarize Estimated Hours with a Rollup to get live totals in Notion without scripts, plus limits on functions, performance and permissions.
14 Oct 2026, 10:05 UTC

Teams using Notion as a work system hit the same wall: tasks live in one table, projects in another, and the totals you need for planning stay stuck in a manual spreadsheet. The useful takeaway is that a Relation field plus a Rollup can surface aggregated metrics directly in the parent view, without external scripts.
What Relation and Rollup actually do
A Relation property creates a bi-directional link between two databases. In practice, a Tasks database can point to a Projects database, and the link appears on both sides. That link is the reference that makes cross-table queries possible.
A Rollup property reads a property from the linked records and aggregates it. The supported aggregations are sum, average, count, min, max and percentile. The result is stored as a computed property on the parent record and updates when linked records change.
Concrete setup: Projects and Tasks
This pattern works for any parent-child model. The example below uses Projects as the parent and Tasks as the child.
Projects database properties: Name, Status, and a Rollup for total effort. Tasks database properties: Name, Project relation, Estimated Hours number, and Status.
Configuration steps in Notion:
- In the Tasks database, add a Relation property. Select the existing Projects database as the target. Allow the relation to be shown on both sides.
- In each Task, select the related Project. The Project page will now show a linked view of its Tasks.
- In the Projects database, add a Rollup property. Choose the Relation to Tasks as the source. Choose the Estimated Hours property from Tasks. Choose Sum as the aggregation.
With this in place, the Projects table shows a computed total of Estimated Hours for all linked Tasks. A filtered view on the Project page can show only open Tasks, while the Rollup still reflects the chosen aggregation across the full relation.
Trade-offs and limits to plan for
Function limits. Rollup supports a small set of aggregations. Complex calculations like weighted averages or conditional sums require manual formulas on the child records before rolling up.
Performance. Excessive relations and heavy rollups increase page load time, especially with many linked records or on low-end devices. Keep the number of rollups per database modest and avoid nesting rollups on rollups.
Permissions. Access is inherited from the parent page. If a user can open a Project page, they can see the Rollup value and the linked Tasks view, even if the underlying Tasks database is otherwise restricted. Review sharing on the parent page before exposing sensitive rollups.
How to check it works
Create a test Project and two Tasks linked to it with Estimated Hours values. Open the Projects table and confirm the Rollup shows the sum of the two values. Add a third Task linked to the same Project and change its Estimated Hours. The Rollup on the Project should reflect the new total without manual refresh.
If the Rollup stays blank, verify the Relation is populated on the child record, the source property is a number, and the Rollup points to the correct relation and property. This verification assumes current Notion UI behavior as of 2026-10-15 and should be confirmed in your workspace.
Use Relations and Rollups for small-to-medium tracking where low-code aggregation is enough. When you need custom logic, reporting across many databases, or strict data isolation, evaluate external tools.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.