"Templates": Quickly Create Instances of OmniFocus Projects

This script brings powerful template features to OmniFocus. You can learn more about the script and download the recent version on its dedicated project page.

"Later": Push OmniFocus Tasks Back Using OmniFocus Date Syntax

This script allows you to defer the selected OmniFocus tasks using any of OmniFocus's usual date syntaxes. This includes a relative amount of time (i.e., 1w 3 days 2:00PM), an absolute date (i.e., February 27 14:00), and a day of the week (i.e., Friday 3am). 12- and 24-hour times are understood, and most common variations of the above (including short forms) will work, no problem.

  • Version 0.2.3 (January 9, 2013): You can escape to "due" or "start" modes by writing the mode you want at the beginning of the input dialog, regardless of preference setting.

  • Version 0.2.2 (January 7, 2013): Recognizes "tomorrow" as a valid date input. Added the option to use Due instead of Start dates for scheduling.

  • Version 0.2 (January 1, 2013): Added absolute date and day of the week to the date syntaxes understood by the script. General code cleanup.

  • Version 0.1 (December 31, 2012): Initial release.

Download the latest version of the script (Later.scpt)

"Mail Complete": Get a List (and, Optionally, Complete) "Waiting For" Tasks From Sender of Selected Messages

This script looks at the sender(s) of the selected message(s) in It then looks at your OmniFocus database for any tasks with contexts that are contained in some sort of "Wait" group and that are not yet complete. The idea is that it finds all of you remainined "Waiting For" tasks from these senders. You can then select one or more of these tasks and the script will automatically mark them as completed. If, like me, you have an OmniFocus setup that relies on sequential projects with blocking "Waiting For" tasks from different people (see my post on the matter:, this will prevent you receiving an email that allows you to move forward on a project without actually marking the "Waiting For" item as complete.

  • Version 0.1 (January 15, 2013): Initial release.

Download the latest version of the script (Mail Complete.scpt)

"Name Replace": Find and Replace for OmniFocus Task Names

This script performs a find and replace operation on the names of all selected tasks based on user in put. Separate the current string and replacement string using a " > " (without the quotes). You can specify the number of occurances to replace using " * " (again, without the quotes), and multiple find-and-replace actions can be done simultaneously using " // " (yes, without the quotes).

  • Version 0.1 (January 14, 2013): Initial release.

Download the latest version of the script (Name Replace.scpt)

"Save As PDF": Save Word and PowerPoint Files in Finder/ Path Finder Selection as PDF Files

Automatically saves a PDF copy of the Word (.doc, .docx) or PowerPoint (.ppt, .pptx) files selected in your file browser of choice to the same folder as the original files.

  • Version 0.2 (January 7, 2013): Added the user option to automatically delete converted files.

  • Version 0.1 (December 31, 2012): Initial release.

Download the latest version of the script (SaveAsPDF.scpt)

Other Scripts

  • Evernote Image Extractor.scpt: Lets you select any number of your Evernote notebooks and export every image in those notebooks with a readable name.

  • Find and Operate: Takes the selected text in and applies any combination of operations that you choose (including toggles for bold, italic, superscript, subscript, deleting, and more) on every instance of the string you define.

  • Copy Context: Copies the context of one task from a selection to the context of every other selected task that does not already have a context assigned (useful for copying a context to multiple inbox tasks)

  • Paraquential.scpt: Switches the selected project/ groups between sequential and parallel ordering.

  • Due?.scpt: Figures out when the containing projects of selected tasks are due.

  • PrePostpend.scpt: Prepends or appends a string to the names of all selected tasks (using "<<" for prepend and ">>" for append).

  • Project Status: Checks status of containing project and allows you to quickly change the status (to active, on hold, dropped, or done).