Benny Builds It is ad-free and reader-supported. If you buy through my links, I may earn a commission.
Upgrading Notion Project & Task Management with Automated Status Updates
Notion and its related database capabilities are a powerful tool for project and task management.
Since a project can be considered as completed once all underlying tasks have been marked as done, it makes sense to automate the process of updating the project status as tasks are being worked on.
For this automation setup, we are using a common database setup consistent of a project database with a related tasks database.
2

The goal is to set up an automation that automatically updates the status of a project based on the status of its related tasks.
For this, we have to set up only a single database automation in the tasks database.
1. Set the Automation Trigger
Every Notion automation needs a trigger to start the desired process:
- Give the automation a fitting name.
- Make sure the automation is active for all pages within the tasks database.
- Click on + New trigger.
- Select the Status property from the popup menu.
- Make sure Any option is enabled and click on Done.
2

This trigger setup will make sure that the automation is triggered every time a task status gets updated.
Now it’s time to set up the actions that are supposed to be executed by the automation each time a status update trigger event occurs.
2. Define a Project Variable
With the first automation action, we are making sure to always target the correct project in the related project database whenever a task status is changed:
- Click on + Add action.
- Select the Define variables action.
- Click on the variable name and change it to Project.
- Click on the ∑ symbol within the input field to edit the variable as a custom formula.
- Enter the formula below into the formula editor:
- Click on Done to save the formula and to close the formula editor.
context("Trigger page").prop("Projects").first()
This variable lets us precisely target only the project of the task whose status was just updated.
3. Create the Status Change Formula
Now that the Project variable has been defined, it is now time to create the main action to execute whenever a task status has been changed:
- Click on + Add action.
- Select the Edit pages in… action.
- Click on Select database v and select the newly created Project variable from the popup menu.
- Click on Edit a property and select the Status property from the list.
- Open the Select… dropdown menu and click on Custom formula to open the formula editor.
- Enter the formula below into the formula editor:
- Click on Done to save the formula and to close the formula editor.
- Click on Done once more to save and activate the automation.
ifs(
every(var("Project").prop("Tasks").map(current.prop("Status")), current == "Done"), "Done",
every(var("Project").prop("Tasks").map(current.prop("Status")), current == "Not started"), "Not started",
"In progress"
)
Whenever a task’s status is now updated, this database automation will check all tasks linked to the same project and automatically adjust the project’s status accordingly:
- If all tasks are marked as Done, then the project’s status will be set to Done.
- If all tasks are marked as Not started, then the project’s status will be set to Not started.
- In all other cases, the project’s status will be set to In progress.
This automation trigger and action setup can of course be modified and applied to many different use cases, database setups, and properties.
Watch the step-by-step tutorial in this YouTube video and let me know in the comments what use case you’re applying this handy automation to!
Exclusive Subscriber Perks
Subscribe to my newsletter to unlock these amazing perks:
🎉 Exclusive Launch Discounts
🎁 Monthly Coupon Giveaways
🔔 Instant Content Updates
💡 Notion Tips & Tricks
✋ No spam, ever. Unsubscribe anytime.