A simple, self-updating, recurring task list

Hi everyone. It just occurred to me that you could use a formula and a couple of automations to make yourself a simple recurring tasks list. All you need is a date field to set the initial due date of your task, a checkbox field for when you mark the task as “Done” and a formula field that adds a specified length of time to the due date using DATEADD when “Done” is ticked. Then your automation will take the date generated in the formula field and replace the original date in {Due date}. A second automation then takes a last modified field set to monitor when “Done” was ticked, and a formula that shows how much time has passed since “Done” was last ticked, and unchecks “Done” after that length of time has passed (I set this to 2 minutes, i.e. 120 seconds). This final step is to ensure the two automations do not interrupt each other (so to speak). Here’s the full set up…

Fields

{Name} - Primary field, single line text. The name of your task.
{Due date} - Date field, indicating when you want the task next to be completed.
{Done} - Checkbox field
{Next due} - Formula field, using IF({Done}=1, DATEADD({Due date}, 4, "weeks"))
{Last marked done} - Last modified field, set to monitor just when {Done} is modified (i.e. ticked)
{Seconds since marked done} - Formula field, using DATETIME_DIFF(NOW(), {Last marked done})

Automations

  1. “Update due date when task complete”.

Trigger: When record matches conditions - {Next due} is not empty:

Action: Update record - Record ID: Airtable record ID; Due date: {Next due}:

  1. “Uncheck “Done” after 2 minutes”

Trigger: When record matches conditions - {Done} is checked and {Seconds since marked done} > 120

Action: Update record - Record ID: Airtable record ID; {Done} = 0

The formula in {Next due} can be amended as you see fit (e.g. to 1 week for weekly tasks) and I did toy with the idea of having the {Done} field be a single select with options e.g. 1 week, 2 weeks etc, such that {Next due} would be a nested IF formula that used DATEADD accordingly to set different dates depending on the option selected, which I think would probably work but was more complicated that I needed here.

The idea is that there are various tasks I have to complete once a month, but don’t always do so on their exact due date, which can lead to them getting missed. Using this table, your tasks will be updated to recurring 4 weeks after you actually do them (which may differ from when you should have done them!)

Couldn’t find much on the forums recently about this topic, so hopefully someone out there will find this useful.

2 Likes