Getting my Daily To Do List Out of OmniFocus

Working in the food industry, I can't always have my phone or laptop with me, so I've been looking for a way to have my task list with me through out the day. Dr. Drang (@drdrang) recently shared how he gets his daily To Do list out of Taskpaper and onto paper. His setup inspired me to look at ways I can update my process of creating a daily To Do list with me.

Setup Summary

My current setup includes the following:

  • OmniFocus - Keeps all my tasks electronically. This is where my To Do list is generated from.
  • Applescript - Used to generate a .md file of my current To Do items from OmniFocus.
  • Marked - Renders the .md file and allows me to save the To Do list as a PDF file. 2

With the PDF, I simply print the list out, stuff it in my binder, and I'm off for the day. I'm not worried about whether or not OmniFocus is always up to date because I spend 20-30 minutes in the late afternoon catching up on email and phone calls. At this point in the day I'll take a few minutes to update OmniFocus, complete any tasks that got done, or add new tasks I collected through the day.

OmniFocus Applescript

The script that generates the .md file was heavily borrowed from one that Justin Lancy (@veritrope posted on his site about showing completed tasks in OmniFocus in a text file. My script will show all tasks that have a due date +/- 7d from today.3

The full script: OmniFocus_Due_List.scpt

Side Note: If you happen to be using a version of OmniFocus from the App Store, you need to change line 50 in the script 1 from

    tell application id "com.omnigroup.OmniFocus2"


    tell application id "com.omnigroup.OmniFocus.MacAppStore"

and you'll be good to go.

Convert Markdown to PDF

The next step is to take the generated .md file and render it as a PDF. Again, Marked 2 app comes to my rescue to do the heavy lifting. Marked allows you to use a custom CSS file to render Markdown files, so just like my iThoughtsX outline process, I use a custom CSS file to render my OmniFocus To Do list as a PDF.

One carry over I have from college is the need to write on graph paper. It's what I put in my binder for taking notes and what I have at my desk to collect ideas. While documenting the my steps for this article, I discovered I wanted to add some graph lines to the PDF so I could continue to have graph paper as part of my system. I added a custom CSS file to Marked to generate a 'graph paper' PDF.

The custom css can be download here: custom.css

The graph paper image: graph_paper_sm.png

Just print from Marked as you normally would and then use the save as PDF option in the lower left corner.


I normally have at least 30 min in the morning to get my day started. This is when I'll open up OmniFocus, clear my OmniFocus inbox, and then generate my To Do list. The difference now is I've got a cleaner looking version of my To Do list than I did with my previous setup. Keeping a paper copy of my tasks lets me easily see what I need to get done, look at what new tasks I can take on today, or look at requests that I may need to defer to later.

As I previously mentioned, this process doesn't require me to have OmniFocus always up to date... and that's okay. I consider this an extension of my GTD system and as long as I reconcile my To Do list at the end of the day, I feel I'm still good.

The output from Marked looks like this:

And the PDF in Preview looks like this:

Next Steps

There are a couple of steps I want to automate in the process to make this even smoother for me.

  1. Set the script to a Keyboard Maestro keystroke trigger to generate the .md file and save it to a designated folder. [DONE]
  2. Add to the script to have Marked open the .md file and automatically generate the PDF.
  3. Create a Hazel rule to watch for the PDF and run another script to use Preview to print the PDF.

Special Thanks

A huge thanks to Brett Terpstra (@ttscoff) and Michael Bishop (@miklb) for their help in getting the "graph paper" look to work in Marked. Also a shout out to Justin Lancy (@veritrope) for sharing his Apple script which is core to my automated process.

  1. Thx to Elliot Betancourt for pointing this out in comments of Justin's post

  2. Yes I could print it straight out, but I save a PDF as a back up for my end of the day review. 

  3. Because why wouldn't you have due dates on tasks.