Weekly Review - how to set default review timeline in OF

Hi everyone.

I used to do the weekly review on Sunday. I am changing to do it on Friday. But realistically there is a chance if my Friday gets hectic it might slide to Sat or Sun. I realize in OF I have all of my projects set to review 1 time a week. Correct me if I am wrong but if I end up doing the review on Saturday, I will not see them again next Friday correct?

Is there a way to fix that? Or do I need to set the review timeline to every 3 or 4 days instead? If that is the best way can I change the default setting for new projects?

1 Like

By default, projects become available for review a week after they were last reviewed. You can change the default review frequency and customize projects on a case-by-case basis.

Assuming you’re using the default (i.e. once a week), if you review a project on, for example, a Sunday it will become available for review the following Sunday.

If you wanted to change your next review for multiple projects to, for example, Friday, I recommend checking out the Update Reviews Omni Automation plug-in written by @joebuhlig:

I hope this helps!

1 Like

Here is also an AppleScript for macOS only. It posts a prompt to change the review day on a selection of projects.

Set OmniFocus Next Review Day
- author JJW		
sets the review day to the coming day of the week
- v 1.0
- date 2022-05-31

property dayList : {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
property weekdayList : {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}
property dayPrompt : "Choose the day for next review in "
property theReviewWeeks : 1

on run
    -- get the selection list in OF
    tell application "OmniFocus"
        tell content of front document window of default document to set theSelectedProjects to every selected tree
        if theSelectedProjects is {} then
            tell sidebar of front document window of default document to set theSelectedProjects to every selected tree
        end if
    end tell
    if theSelectedProjects is {} then return

    -- prompt user for review day
    set theCount to the number of items in theSelectedProjects
    set whichDay to (choose from list dayList with prompt dayPrompt & theReviewWeeks & " weeks: " & theCount & " Projects")
    if result is false then return

    -- set up the review day
    set whichweekDay to get_weekdayValue(whichDay as string)
    set theDay to nextWeekday(whichweekDay)

    -- change the review days
    tell application "OmniFocus"
        repeat with theProject in the theSelectedProjects
            set the next review date of the value of theProject to theDay
            set the review interval of the value of theProject to {steps:theReviewWeeks, unit:week}
        end repeat
    end tell
end run

on get_weekdayValue(wkdaystr)
    repeat with ic from 1 to the count of dayList
        if item ic of dayList is wkdaystr then return item ic of weekdayList
    end repeat
end get_weekdayValue

on nextWeekday(wd)
    set today to current date
    set twd to weekday of today
    if twd is wd then
        set d to 7
        set d to (7 + wd - twd) mod 7
    end if
    set theDay to today + (d * days)
    set the time of theDay to 0
    return theDay
end nextWeekday


Thanks so much!

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