We all have recurring tasks in our lives. Some of us want their task management system to reflect the recurring nature of our tasks. This post is for people who want all of that to take place in their Notion workspace.
It's best to quote Todoist's description of the two types of recurring tasks:
You can create a recurring task that repeats at regular intervals from either the original task date or from the task's completed date.
You're probably interested in solving both types in Notion. August Bradley does an excellent job in this video, of showing how to implement original-date recurring tasks using Zapier, and optionally Google Calendar. We will therefore not elaborate further.
In this post we will focus on completion-date recurring tasks. Shoutout to our community member Kevin Vargas for sharing this specific approach with us!
I've added a number property called Interval (days) and a formula property called Trigger Recurring with the following formula:
not empty(prop("Interval (days)")) and prop("Done")
Notice how I leave the Interval property empty if I don't want it to recur, and notice how the trigger property is true (checked) only when a task is both done and has an interval.
Next, I start creating a new rule in the:gist. It will monitor the trigger property and call a webhook for every page that matches the rule.
I now need to create a zap, to get the webhook URL, so I can send test data to Zapier and use that test data to make sure the zap will do what I intend.
I've started creating the zap, using a Webhook's Catch Hook trigger, I'm copying the URL back into the:gist to send test data.
Next I'm using the test data to set up the zap's action and do a test run. Notice I'm copying over some values from the triggering page (that task marked as done) to the new page (the new instance of our recurring task) - properties like Title and Interval.
The coolest part is how we set the When property, by writing "today + 2 days", where the number 2 comes from the Interval value of the triggering page. This is how we're configuring our automation from within Notion. So in future if you want to change the time between instances, all you need to do is edit the Interval value in Notion.
We're ready to test this action and see the results. And... success! Notice how I have a new instance of the "Call my parents" task, set to 2 days after the day I marked the task as done.
Last two important things to do:
✅ It solves a new kind of recurring task, based on completion date.
✅ Adjusting recurrence rate is easy - just edit the Interval property in Notion.
✅ No cleanup required - this approach only creates the next task when this one is done, while other approaches can leave you with "spam" tasks to clean up.