Automatic defer 1 day

I’m fairly new to OF but I believe there is a way of automating deferral of uncompleted tasks to the next day by using ‘defer +1 day’ and ‘repeat every day.’

Checking through the Forum people have different methods of coping with theis situation. However, is there a way of doing this using an attached Applescript that checks for uncompleted tasks and advances those tasks by one day? Ideal would be to attach the script to a particular task but I doubt this is possible. The script could run at either the end of the day, or on OF quit/startup.

This can be done via Applescript, and it could be scheduled via cron or other shutdown/startup managers.

You might have an easier time though with a different approach. Avoid the intent to use defer to push (random sets of) tasks continually forward with no rhyme or reason other than “I could not get this task done today”. Instead, put the parent Project on hold until you are ready to carry it forward in earnest, and then set a Review period of something reasonable (say 3 days). Alternatively, don’t sweat the uncompleted tasks from the day. Just pick them up the next day.



Thanks for the reply. I’ve been taking a look at some of the Scripts available and it does look as though the way I thought might make things needlessly complicated.

However I do have some tasks that can be done as/when so long as they are completed before an ultimate deadline. Your suggestion that setting a review period on them or simply moving them on, is worth a look so I think I’ll give that a go before getting too involved in scripts.

the use of an on-hold instead of deferring was just discussed here. Perhaps you can gather more ideas here:

Thanks for the heads up. Useful discussion with some good ideas. It’s nailing those tasks which are not absolutely time critical but tend to vanish down a black hole that’s the problem.

One thing I would like to see in the next release of OF is the expansion of scripting to include the ability to run scripts at startup to automatically sort/flag etc unfinished tasks. Yes this can be done to some degree but there’s always scope for a bit more flexibility.

It’s one of OFs strengths - whatever your take on GTD OF is adaptable to your needs.

I couldn’t find the reference, but I somewhat recall a member of the Omni team mentioning a desire to add events to the AppleScripting library for OmniFocus. That could potentially handle this. But until then (or if I’m wrong) you can use Hazel to run scripts in this way.

OK I’ve got Dr JJWMac’s Defer task script and modded it to advance selected tasks by one day. So far I can only do this by running the script manually.

Is there any way of modifying this to automatically:

find overdue task (Note this could be a flagged task - unfortunately this is flagged/not flagged rather than set priority level)
run script to advance that task by one day.

I’m not sure how this could be linked to Hazel as I thought that would only operate via folder triggers rather than via an app trigger.

You can set up Hazel to run when a specific file within a folder is modified. For example, my database folder is:

/Users/YOURUSER/Library/Containers/com.omnigroup.OmniFocus2/Data/Library/Application Support/OmniFocus

With a rule set up like this:

This effectively allows me to run scripts every time my OmniFocus database is updated or synced.