OmniFocus AppleScript Directory

Bring convenience and consistency to OmniFocus for Mac (Pro Edition) through the magic of AppleScript.

AppleScript Logo

OmniFocus for Mac (Pro Edition) includes extensive support for AppleScript, a native OS X technology. This support makes automation and integration with other OS X apps possible, adding speed and convenience to OmniFocus workflows.

Even if you’ve never written a line of code, you can take advantage of this power by using scripts other people have written. The following is a hand-picked collection of AppleScripts that have been designed to work with OmniFocus. While we test everything that is posted here, we can’t guarantee that the scripts will work as designed in current or future releases of OmniFocus for Mac.

OmniFocus Plug-Ins for Mac, iPhone and iPad

You can also expand OmniFocus using plug-ins. Unlike AppleScript, these plug-ins work on Mac, iPhone and iPad. Visit the OmniFocus Plug-In Directory to access some of our favourite plug-ins, including some that were inspired by the AppleScripts listed below.

OmniFocus AppleScripts

The following scripts provide automation within OmniFocus. For an example of installing and using AppleScript, check out the free Complete & Await Reply tutorial.

If you’re a Learn OmniFocus Member, check out the Using FastScripts with OmniFocus for Mac tutorial to learn how to conveniently access installed scripts using a menu bar menu and keyboard shortcuts and the recording of the Automating OmniFocus session to see some of them in action.

Auto-Parser — by Joe Buhlig
Include the project, tag, flag state and more in the name of an action when you add it to the inbox (using the syntax described here), and with some configuration, this clever script will automatically process your inbox for you.
[ script page ]

Complete & Await Reply — by Curt Clifton
Marks the selected action(s) complete, then creates new actions(s) with a context of “Waiting.” The new action(s) are given the name of “Reply On:” followed by the name of the action(s) that were just completed.
[ script page ]

Export OmniFocus View To OmniOutliner — by Curt Clifton
Creates a new OmniOutliner document that contains the contents of whatever is currently visible in OmniFocus’ outline view, preserving the hierarchy and the text contained in note fields.
[ script page ]

Focus in a New Window/Tab — by Dan Byler
Opens the project(s) associated with the selected action(s) in a new window or tab. Very convenient if you’re in a context-based perspective and want to view or change a project without losing your place. This repository also includes some other great scripts from Dan Byler.
[ script page ]

Populate Template Placeholders — by Curt Clifton
Highly recommend if you tend to perform similar projects over and over again. The script makes a copy of the selected project and optionally prompts for placeholder text and dates. Watch our video (Members) to learn how to use this script. This tutorial teaches you how to use placeholder text and automatically calculate defer and due dates.
[ script page ]

Total Time — by Dan Byler
Do you find that you tend to overcommit? This script can help by adding the estimated time for all selected items. For example, if you had a Hot List perspective showing all available actions that are due or flagged, you can use this script to see if it’s realistic to get all of these done today.
script page ]

Update Reviews — by Joe Buhlig
Changes the review dates of projects to match your next scheduled weekly, monthly or annual review. Modify the script to specify the day of the week you perform your weekly reviews, the day of the month you perform your monthly reviews, and the month and day you perform your annual reviews.
[ script page ]

Verify Next Actions Exist — by Curt Clifton
A parallel or sequential project without any actions is considered stalled. This script scans your database and adds “(missing next action)” to the title of any projects that are stalled. After adding actions to stalled projects, you can run the script again to automatically remove the “(missing next action)” text that was added previously.
[ script page ]

Writing Your Own Scripts

If you’re interested in writing your own scripts, a good place to start is the AppleScript page on Inside OmniFocus. Among other things, this page contains an overview of the scripting process and includes some sample code to help get you started.

Sharing Your Scripts

If you have an AppleScript that you’d like to share with the Learn OmniFocus community, drop us a line. We’ll be happy to put your script through its paces, and if it’s listed in this directory, we’ll make sure that you receive full credit.