Mark Due Today in Omnifocus 3


Disclaimer: First post, first question, total noob.

Hi, :wave:.

I'm Beck and I would like to create KM macros for OF so that a hot key triggers marking a task due today.

Stretch goal: I would also like to create a macro to mark a task due +1 day and be able to use it over and over so that, say, it'd be due four days from now, if I pressed the combo that many times in a row.

I really have no idea where to start. FWIW, there does not appear to be a menu option that marks a task due today or +1's its due date.

Much thanks!


The best thing to do would be to list, step-by-step, the exact manual workflow you use to accomplish this task. Include screenshots of the region of interest where needed to clarify.


@JMichaelTX, you're reminding me of my GOMS assignments. :slight_smile:

I'm guessing this will depend on the Perspective I'm looking at, but here are the steps for the Perspective I'm most commonly viewing:

Mark due today using mouse and keyboard:

  1. Select task
  2. Select due date
  3. Type "today"
  4. Press Enter

Mark due today with just keyboard:

  1. Press ⌘+Enter
  2. Tab
  3. Type "today"
  4. Press Enter

For the stretch goal...

Move due date one day forward with mouse only:

  1. Select task
  2. Select +1 day button in Inspector Pane

Move due date one day forward with keyboard only:

  1. Press ⌘+Enter
  2. Press tab 16 times
  3. Press space bar


This is very doable using commonly used actions:

  1. Type a Keystroke action with "⌘+Enter"
  2. Type a Keystroke: "TAB"
  3. Insert Text action by Pasting or Typing: "today"
  4. Type a Keystroke: "ENTER"

For more direct and powerful options, you can use AppleScript:
See OmniFocus 3 AppleScript Guide



I'm not near my Mac right now.

Why not have a macro that ask you how many days you want to advance it? If you type '0' then it will be today. Otherwise, if you type '3', it will be today + 3 days.

Off-Topic: But now I'm curious. Why have due dates if there is no real ill effects if a task isn't done by a certain date?

It sounds like you're trying to focus on a handful of tasks that you want done today but didn't get around to them. Would this be what you're trying to get at?

Instead of setting false due dates on the tasks I want to focus on, I look at the list of available tasks in my task manager. I select a handful of tasks (3 - 5) that I want to focus on today. I write them down in a notebook or index card. Close the task manager and work off of the index card or notebook page. Cross them off when completed. I had this method worked out here:

It's just too easy to keep the task manager open on the computer and get distracted by other projects and tasks besides the ones I want to work on. Get into the task manager, choose the 3-5 MITs (Most Important Tasks), hide the task manager (Command-H) and get back to work.


Thanks for these helpful links! Here's what I've got.

When I execute Control+Option+Command+T, my machine makes a bonk noise and returns me to KM. Is this because I possibly didn't get the steps right or some other reason? I'm not sure what other info besides "bonk" is available to me to debug.

Also, is there a way to have it so that the command only applies when I type it in OF?



Are in in OF3, and have selected the Task before you trigger KM macro?
Is the KM macro in a Macro Group that is active when OF3 is frontmost?


I thought Command-Tab is used to switch between apps? That would be the wrong hot key to use.

I'm sure it's easier to do this in AppleScript but I was able to simulate this in KM.


The workflow I emulated was this:

  1. Menu: View > Go to Outline
    2 Menu: View > Go to Inspector
  2. Press Tab 5 times to go to Due Field
  3. Ask user how many days to delay the due date (default value is 1 day)
  4. Enter the answer followed by the letter 'd'. If user types '5', KM will enter '5d' which represents 5 days from today.

Steps 1 to 5 was needed to reposition cursor. If I go to Outline and then return back to the Inspector, The first Tab will go to the task description field at the very top. Then I can just simulate Tab four more times to go to Due field.


That's what I did wrong! Thanks for spotting it. I changed it to tab and it worked. Also, your example is instructive for other ways to go about this. I'll give it a try as well.

Thanks both @JMichaelTX and @wilson_ng for the help.