Scheduled Reviews in OmniFocus

Scheduled Reviews in OmniFocus
0.0 0

(Joe Buhlig) #1

Every Friday morning I do my Weekly Review. I do my Monthly Review on the first of the month and my Annual Review on the first of the year. How do I get OmniFocus to play nicely with this?

This is a companion discussion topic for the original entry at

(Devyn Osborne) #2

I’m having some trouble getting this to work. Hopefully someone here can help!

I normally do my weekly reviews on Sunday, and thus changed the day in the first line of the script to “Sunday”.

This week I performed my review on Monday (today), so the next weekly review - as set by Omnifocus - was set for next Monday (November 21). When I run the script, all projects’ next review remains set for Monday, November 21.

Oddly, the script notification says “28 projects updated” but I can’t seem to find any changed from November 21.

Hopefully I am missing something very simple. Any thoughts?

(John) #3

Hi devynosborne,

I’m having the exact same issue that you mentioned. I do my reviews on Sunday as well, and changed the script accordingly. When I run the script, all the projects get set for Monday November 21 instead of Sunday the 20th. I’m hoping someone else can chime in because this script is a key part of my workflow!

(Joe Buhlig) #4

@devynosborne and @JohnA, does the script not work at all or only when the review date is set to Sunday? Try setting it to something odd like Wednesday and see if it changes the dates.

Also, make sure you have the latest from OFScripts. There were a couple bugs smashed.

(Devyn Osborne) #5

@joebuhlig - using the updated script worked! Thanks!

I ran the new script, with my weekly review day set to Sunday, and all projects are now set to a next review of this coming Sunday, November 20.

I had downloaded the latest as of this past Sunday (November 13), but I see you updated the script today. Whatever changes you made seem to have addressed the issue I was experiencing.

Note that I have not tried using a different day. I can try that tonight if you still suggest or need. Also, of course, I have not done extensive testing. But, on my end, I’m currently satisfied it’s working and will update this thread if I experience new issues.

On a separate note - I see you added a Hazel version. Would you mind expanding on how you use it?

(John) #6

@joebuhlig The new script works! Thanks for the fix.

(Joe Buhlig) #7

Yep. I had a bug in it and thought I had pushed the update but apparently I failed. :no_mouth: You helped me see my mistake.

I have this script run automatically once a day. It keeps things clean without me needing to do anything. There have been a few other folks mention the desire to do this but kept running into issues setting it up. The Hazel version allows you to use this script as an external script in Hazel since there are some slight differences you need to account for with how it runs in that environment.

(Devyn Osborne) #8

When trying to run the script (via Omnifocus) this morning, I received the following error.

I don’t think I changed anything since last running the script (no OS updates, no OF updates, etc). I re-downloaded from Github just to make sure I still had the latest. No avail.

Any thoughts as to the cause?

(Joe Buhlig) #9

December! It broke the script. I just pushed an update to the GitHub repo:

(Devyn Osborne) #10

That fixed it! Many thanks!

(John) #11

Anyone else getting an error in Hazel when running the UpdateReviews-Hazel script? I set up the hazel rule according to the Working With OmniFocus video but I keep getting an error within the Hazel log saying “The variable lastWeeklyReview is not defined.”

(Joe Buhlig) #12

That was my fault. Sorry about that. I just pushed an update.

(John) #13

@joebuhlig Thanks for the quick update! It works smoothly now.

(Tor-Einar Rogn) #14

I would love to tweak this so that the applescript pull the review day from the notefield of a project. Is this possible?
I have two jobs and one of them I only do on tuesdays. It would be great to set the relevant project up for review every tuesday :slight_smile:

(Joe Buhlig) #15

I know that it’s possible. You would have to search the notes field of every project as it iterates and collect the weekly review cycle from there instead of the built in next review date. I could see using something similar to the syntax section of the Weather Activation script.


do you know if it’s maybe possible to modify the script to also work with biweekly (as in every 2 weeks) review dates?
i haven’t gotten into applescript that much yet, so i think it would help a lot if you could show me the right direction.

(Joe Buhlig) #17

You likely could but it would require the build of another round of criteria to check. You could take advantage of the nextWeekDay and lastWeekDay handlers if the day of the week for this is identical to your Weekly Review. You could do this:

set nextBiWeeklyReview to nextWeekDay(nextWeeklyReview, weeklyReviewDay) + (1 * weeks)
set lastBiWeeklyReview to lastWeekDay(nextBiWeeklyReview) - (1 * weeks)

But then you’d have to build in the custom criteria to apply these two variables in this section:


that’s amazing!) thank you very much for the help.)

just reminds me how these communities are built on time and attention of smart and generous people…

(Devyn Osborne) #19

Not sure if I found a new bug, or something new to me, or perhaps I’m misunderstanding a setting or feature. But the script seems to be setting the month and year dates incorrectly.

Up until recently, I have only used 1-week review periods, because not reviewing everything every week made me nervous. But I have just started using 1-month review periods for some projects, finally realizing I just didn’t need to review some things that often.

In any case, I have just noticed that the script does not move forward the month or, for that matter, the year review date. Here’s my screenshot from tonight (January 29, 2018 at about 9:00pm PST):

2018-01-29 - PM-09-03-51 - screen shot

I have my script set to

Weekly Review Day = Saturday
Monthly Review Day = 1
Annual Review Month = January
Annual Review Day = 1

(I believe I’ve only ever changed the weekly day from the downloaded version)

In any case, you can see the Monthly and Yearly Reviews are to be set backwards (January 01, rather than February 01, and 2017 rather than 2018, respectively). The yearly is also to be set to February, rather than January.

I should say that I actually did not click “yes”, so perhaps it’s an issue with the displayed calculation, rather than the actual changes.

Anyway, please let me know if I’m reading this all wrong, or else how to fix this. I love the script and rely on it heavily. Always grateful for the work Joe put into it!

(Joe Buhlig) #20

When did you download the script? I know this issue is one that came up a while back and I thought I had it resolved.