Context
I’ve recently moved a number of checklists (e.g. morning/evening routines) out of OmniFocus and into Reminders. I’ve found that this helps make my OmniFocus database less cluttered (better for using the new widgets!), and I’m able to run through and mark tasks off on my Apple Watch a little more easily.
I wanted to re-use these checklists but didn’t want to have to re-create them each time, or manually “un-complete” each task in the list each time I wanted to use a checklist.
Solution
Using some examples from this thread at MacScripter, I pieced together an AppleScript which finds Reminders lists whose name includes the character “↻”, and marks all the tasks in these lists as incomplete.
(Unfortunately, AppleScript seems to have some limitations when it comes to accessing lists within folders, so the lists need to be at the root level.)
I’m using Keyboard Maestro with a simple ‘Execute an AppleScript’ action to run this script daily at 4am, so when I wake up in the morning my checklists are ready and waiting to be checked off.
The Script
tell application "Reminders"
set theLists to get every list whose name contains "↻"
repeat with aList in theLists
tell aList
set theReminders to every reminder
repeat with aReminder in theReminders
set completed of aReminder to false
end repeat
end tell
end repeat
end tell