OmniFocus Plug-In Directory

Add new functionality to OmniFocus on Mac, iPhone, and iPad using Omni Automation Plug-Ins.

Omni Automation is a technology that allows you to extend the capabilities of OmniFocus and the Omni Group’s other apps (OmniOutliner, OmniGraffle, and OmniPlan) using plug-ins. You can use plug-ins that others have written, modify existing ones, or even write your own.

The following plug-ins will allow you to tap into the power of Omni Automation, even if you’re not a programmer. Some can be used as-is, and others require a bit of customization.

You can even write your own plug-ins if you have some JavaScript programming skills. Visit the Omni Group’s Omni Automation website to learn more about writing plug-ins for OmniFocus and Omni’s other apps. And please drop us a line if you’d like to include one of your plug-in creations in our directory.

Please note that you’ll need the Pro version of OmniFocus to use Omni Automation.

Learn How to Use and Create OmniFocus Plug-Ins

Take our Omni Automation: Fundamentals course and learn how to tap into the power of Omni Automation. No programming experience is needed.

Ready to take a deeper dive? Check out our Automating OmniFocus: Guided Tour with Sal Soghoian course to learn about the underlying plug-in technology.

Not a member yet? Join Learn OmniFocus to get full access to these and other courses. All memberships include a 30-day money-back guarantee.

Table of Contents

Add Today’s Forecast

The built-in Forecast perspective is a signature feature of OmniFocus. This plug-in provides a quick and easy way to access this perspective without losing track of what you were working on. On the Mac, this perspective is opened in a new tab and on the iPad, a new split-screen window is automatically created with the Forecast set to today.

Download | Plug-In Page (Source: Omni Automation)

↑ Table of Contents

Complete and Await Reply

Let’s say you had an action to “Phone: Bob about TPS report.” If you phoned Bob and left a message, you’ll likely want to create a new action to reflect the fact that you’re waiting for a response from Bob.

This plug-in automates the process of marketing the action complete and creating a duplicate “waiting” action. With a minor addition (documented on the plug-in page), this plug-in can also apply the tag of your choice to the duplicate action. Consider assigning a keyboard shortcut to this plug-in to make it even quicker and more convenient.

Download | Plug-In Page (Source: Omni Automation)

Learn OmniFocus Resources

This plug-in provides a quick and convenient way to access resources on the Learn OmniFocus website. It references information stored on our website, making it possible for us to update our list of resources without you having to update the plug-in.

Download (Source: Learn OmniFocus)

↑ Table of Contents

Open Project/Action Note URL

It can be very helpful to store a link in the note field of a project or action. For example, a project may include a link to a Google Doc containing the project specifications, and an action may have a link to the website that you need to review.

This plug-in opens the link that you have stored in the selected task’s note field. This is especially convenient when combined with a keyboard shortcut such as ⌥⌘L.

Download | Plug-In Page (Source: Omni Automation)

↑ Table of Contents

Open URL(s) From Note

This plug-in is similar to the Open Project/Action Note URL plug-in. The key difference is that it handles multiple links. Specifically, if the note field contains more than one link, you’ll be prompted to open one or more of the links. This plug-in is especially convenient when combined with a keyboard shortcut such as ⌥⌘L.

Please note that you’ll need to install the Synced Preferences plug-in to use this and some of Kaitlin Salzke’s other plug-ins.

Download | Plug-In Page (Source: Kaitlin Salzke)

↑ Table of Contents


The Scheduling plug-in allows you to earmark a task for a future date without giving it an arbitrary defer date that limits its availability. The action remains available, and if you choose “Update Schedule,” it will appear under your designated Today tag once the specified date arrives. In the meantime, this task will still be available if you opt to complete it earlier than planned.

To schedule a task, select the task (or tasks) and choose “(Re)schedule Task(s)” from the Scheduling menu. You’ll be prompted to enter a date. You can choose from the date picker or type an OmniFocus-recognized date format (e.g. “1d” for tomorrow’s date or “1w” to enter the date one week from today). The Scheduling plug-in will assign a tag corresponding to the date, such as “Sunday (Jul 2, 2024)”. When you choose “Update Schedule,” the tags will be adjusted. For example, once July 2, 2024 arrives, all tasks with the “Sunday (Jul 2, 2024)” will be tagged with your designated Today tag.

For convenience, consider assigning a keyboard shortcut to “(Re)schedule Task(s)” (e.g. ⇧⌘S). While you can choose “Update Schedule” manually, updating the schedule automatically using an app such as Keyboard Maestro is preferable as it doesn’t require any manual intervention. See the documentation for more information on this and other features.

Please note that you’ll need to install the Synced Preferences plug-in to use this and some of Kaitlin Salzke’s other plug-ins.

Download | Plug-In Page (Source: Kaitlin Salzke)

↑ Table of Contents

Task Date Controls

Sometimes, you’ll need to update the defer and due dates for one or more of your actions. Perhaps the information you need to proceed with some tasks is delayed, meaning that you can’t start your work as soon as expected. Or, maybe you end up with a bit too much on your plate and successfully renegotiate some due dates.

This plug-in makes updating defer and due dates quick and convenient. Consider adding keyboard shortcuts to the menu items you use most frequently for even greater efficiency. For example, you could assign a keyboard shortcut of ⇧⌘D to Defer +1 Day to make it easy to advance the defer date of the selected task(s) by one day.

Download | Plug-In Page (Source: Omni Automation, Author: Christian, Omni Support Human)

↑ Table of Contents

Templates for OmniFocus

This plug-in can be very helpful if you’re creating the same types of projects repeatedly. In a nutshell, you can use Templates for OmniFocus to create a project based on projects that have been added to a “Templates” folder. These template projects can contain placeholders, defer dates, and due dates. You can even specify specific actions or action groups as “optional.”

When you invoke the plug-in, you’ll be provided with a list of templates to choose from. You’ll then be prompted to specify the location of the new project, and depending on the template, you may also be asked for placeholder values, dates, and optional actions. Within seconds, you’ll have a customized project and be ready for action.

On a side note, this plug-in was inspired by Populate Template Placeholders by Curt Clifton, one of the popular AppleScripts that we’ve included in our OmniFocus AppleScript Directory. While AppleScripts can only be used on the Mac, plug-ins can be used on the Mac, iPhone, and iPad.

Please note that you’ll need to install the Synced Preferences plug-in to use this and some of Kaitlin Salzke’s other plug-ins.

Download | Plug-In Page (Source: Kaitlin Salzke)

↑ Table of Contents

Toggling Tags

Toggle Tag

You can use the Toggle Tag plug-in to toggle a specific tag for the selected item. If this tag is part of a group of tags, Toggle Tag can easily be configured to automatically remove any other tags in that group.

For example, if you had a Priority group of tags containing Low, Medium, and High, you could create Toggle Tag plug-ins that set the tag to Low, Medium and High, ensuring that only one of these tags is applied at once. This is especially convenient when you assign keyboard shortcuts to these plug-ins.

Generate Toggle Tag

If you have a lot of tags to toggle, check out the Generate Toggle Tag plug-in. It adds a submenu to the Automation menu that includes all the tags you select. You can optionally specify that you only want one tag to be applied at a time within a group of tags.

For example, you could have a group of Weekday tags that contains a tag for each day of the week and use this plug-in to create an automation that allows you to apply one (and only) of these tags to the selected projects and actions.

Download (Collection) | Plug-In Page (Source: Josh Hughes)

↑ Table of Contents

Total of Estimated Minutes

OmniFocus allows you to assign estimated durations to actions, action groups, and projects. Estimating how long something is going to take gives it more definition and helps ensure that you don’t take on too much work all at once.

This plug-in calculates the total time (in minutes) of everything that you have selected in the outline. For example, if you have a Today perspective that shows you everything you’d like to get done today, you could switch to this perspective, select everything in the outline, and use this plug-in to calculate the total time that these tasks will take.

Download (Collection) | Plug-In Page (Source: unlocked2412)

Update Reviews

OmniFocus has a very useful Review feature that makes it easy to keep track of when each project was last reviewed (and updated, if necessary). You can specify the review frequency for each project in OmniFocus. You may need to review some projects weekly (the default), whereas others may only need to be reviewed once a month or even once a year.

While you can use the Review feature in an ad-hoc manner (i.e. review projects as they become available), you may prefer a more regimented review schedule. For example, you might want to align the project review dates so that you review all projects with a weekly review cadence on Fridays, all monthly review projects on the first of the month, and all annual review projects on January 15. That’s where this plug-in comes in.

The Update Reviews plug-in allows you to specify the dates of upcoming weekly, monthly, and annual reviews. When you launch the script, you’ll be prompted to specify a date for each of these review frequencies. The review dates for projects that aren’t reviewed either weekly, monthly or annually will be left unchanged. Check out Joe Buhlig’s blog post to learn more.

Download | Plug-In Page (Source: Joe Buhlig)