REQ: Distribute today's reviews across dates

Because of my many projects and the vaguaries of arbitrary review dates, I sometimes end up with 40+ projects to review in a day.

Please add a feature to OmniFocus Mac that will automatically take today’s Reviews and distribute them over future dates.

User input should include:

• Max number of reviews per day (OF will choose the max date range)
• Max date range to be distributed (OF will calculate the max number of daily reviews)

Currently, I’m solving this problem with Keyboard Maestro, but it’s spotty at best. This is the kind of thing that computers are really good at – I hope this will be implemented soon

Thanks for considering my request.

Couldn’t you just increase the Review Repeat interval setting on the less important projects? One thing OF will unfortunately never implement is reducing your workload (or content to review).

1 Like

I’d be surprised if this was ever built-in, but it seems like the perfect use case for Omni Automation:

These are rough drafts, but here’s a script that allows you to enter a first review date, and a max number of reviews, and once the max is reached it sets the date to the next day (i.e. Enter a max of 10 and today as the first date, and the first 10 projects are set for review today, the next 10 tomorrow, and so on):

This one distributes the reviews over a given number of days (i.e. Enter an interval of 3 and today as the first date, and a third of your projects are set for review today, the next third tomorrow, and the last third the day after that):

Maybe that helps?


I encourage you to email this request to The Omni Group by choosing Contact Omni from the Help menu. This forum is primarily intended as a place for users of the Omni Group’s apps to exchange information and ideas and requests posted here may not get logged.

This is exactly what I need, only I was trying to build it to distribute the review projects over the next six days instead of three.

BTW , can you point me to a link that explains how to implement a JS like this in OF3? I’ve looked in the online help and searched the forum. I have no clue what to do with this code to make it work. Do I trigger it using Keyboard Maestro the way I do AppleScripts?

Thanks for your help.

Good point – I did.

1 Like

Apologies! I definitely should have included some instructions. To enable JS automation, click this link:


And then restart OmniFocus. That’ll give you an Automation menu option, from which you can select Plug-Ins. Hitting the “Reveal in Finder” button will show you a folder you can place the scripts into, and once they’re there they’ll show up in the Automation menu, and also be available as toolbar buttons.

That’s the basics. That window also gives you the option to add a different folder to hold plugins. That’s useful if you want to store them in iCloud or Dropbox and run them on iOS from the same folder.

I should note as well that Sal has a pretty detailed installation guide here.

Do let me know if you run into any trouble!

I got the plug-in installed and it appears in the Automation Menu, but the plug-in is grey and can’t be activated.

The console shows two error messages:

ReferenceError: Can't find variable: flattenedProjects (followed by path to your plug-in)

at (followed by path to your plug-in)

In both error messages, your plug-in’s name is written like this:


How do I get this to work?

Ah, are you running an older version of OmniFocus? I just posted an update to them that works on both 3.4.6 and 3.5.1. Let me know if that fixes the issue?

Yes, I’m running an older OF3 until I can upgrade to Mojave.
Thanks for updating those scripts – they are both very helpful and work great!


1 Like

Might or might not apply to you, but I solve this by setting a max limit on how many projects I review per day. When I do my daily review each morning I review X number of projects, and let the rest stay until next day.

So if I suddenly get a lot of projects marked for review (because I forgot to review for a couple of days or because chance just happened to dump a lot on the same day), they will be automatically spread across multiple days while ensuring that they are still done in the order they expire.

Choosing your actual number depends on the number of projects in circulation, reviewing habits, review interval, your preference of actions groups vs projects, etc. But I choose a number high enough that on most days, I clear the review list without problem.

1 Like

That’s a good solution, but I’m a list guy. I want to see my inbox and reviews empty. These JScripts by deaghean are just the ticket.

I am leery of using any kind of automation to reduce the appearance of my workload, because it doesn’t actually make the work disappear. If I have decided that I need to review a project every 3 days (or whatever), automatically distributing the review to a later date might mean that I would miss something important.

Instead, what I do for reviews is to glance at everything scheduled for review on a given date, review the most important projects, and then select the others and use the Inspector to change the review date to the next day. Repeat as necessary. If I find I’m continually deferring the review on a given project, that’s a clue that perhaps I’m not as committed to the project as I think, and I should consider deferring it, putting it on my someday/maybe list, or renegotiating its terms or completion date with anyone else involved in it.


Whatever floats your boat.

The last time I used OF (two years ago), I had stopped using review at all because it was so overwhelming. Now I review things daily and I feel much more in touch with my commitments. These scripts really help with that.

If you’ve found a way that works better for you, rock on, dude.

I aid this by changing the review intervals to prime numbers for some of the projects any time I have a day with a big list. Makes coming up on the same day less likely.


I echo @sprugman’s post to set different review intervals. My On Hold projects get a a review cycle of 30 days. Currently active projects have a review cycle of 1-7 days depending on activity. If a project experiences a lot of daily changes, I set the review cycle more. This allows me to see the project in the review perspective and update it more frequently. Other projects that don’t have a lot of changes or don’t need more daily monitoring will be set to 3-7 days.

When I wake up in the morning, I see at minimum 4 projects/Single actions lists to review. Then the other projects will pop up when needed. I typically see an average of 6-8 projects to review on a daily basis. That’s more manageable than having my 80+ projects show up daily.

I do have to remember to change the review interval when I switch a project from active to on hold and back. Some projects that are someday/maybe status may get a review interval of 3-12 months. These are pipe dreams or things to consider way in the future. I don’t need to review these projects often and will pop up at differential intervals.

When I did a reboot of my OmniFocus. I went through each project and single actions lists and set a handful to review Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. Then I went through them again and change the review interval. I made it a point to always review whatever showed up in the review perspective. It took me 5-15 minutes to go through them. Now everything is distributed evenly and each project will appear in the review perspective when needed.

I do a 6 month checkup to see if I need to reset the review intervals. Priorities change when needed.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.