Preparation
In order to take advantage of the built-in interactive tools of this tutorial, a small amount of preparation is necessary. It involves setting a specific preference in OmniFocus.
What is Omni Automation?
Omni Automation is an implementation of the JavaScript toolset that ships with WebKit on every Apple device and every Apple platform: iOS, iPadOS, and macOS.
Through this implementation of WebKit JavaScript, Omni has exposed the inner workings of their suite of productivity applications to Core JavaScript, so that scripts written using this very popular and prevalent language can query and control most of the functionality of OmniGraffle, OmniPlan, OmniOutliner, and OmniFocus.
Omni Automation scripts can be encoded as URLs that can be embedded in HTML-based webpages and forms, or executed by 3rd party applications. Script URLS enable user interaction with external content to trigger actions within a targeted Omni application. This website incorporates script URLs in its materials.
For the sake of security, you must enable external script access in the Omni application’s preferences. This simple process is described in the following documentation and on the Script URLs section of this website.
Script URLs
Script URLs provide the mechanism for external websites and 3rd-party application to use Omni Automation to communicate with and control Omni applications. For example, webpages can contain forms and links that when activated send Omni Automation scripts to Omni applications to execute.
3rd-party applications that incorporate URL support can send Omni Automation scripts to Omni applications:
Even online databases may contain Omni Automation script links for transferring data to Omni applications:
This level of “content connectivity” provides an excellent way for Omni applications to work with external data sources and applications:
Configuring the Execution of External Scripts
By default, the execution of external Omni Automation scripts is disabled. (Note: this restriction is for external scripts only and does not apply to Omni Automation plug-ins you’ve installed yourself.)
On iOS and iPadOS the following dialog is displayed if an external script attempts to execute:
On macOS the following dialog is displayed if an external script attempts to execute:
Clicking the “Configure…” button will summon the Automation Settings dialog (shown below).
Automation Configuration Settings on macOS
The panel containing the controls for external scripts can be summoned by either clicking the “Configure…” button displayed in the script security alert dialog (shown above) or by selecting the “Configure…” menu item from the application’s Automation menu.
Here is the Automation Configuration panel on macOS:
Automation Configuration Settings on iOS/iPadOS
On iOS and iPadOS the panel containing the controls for external scripts can be summoned from the Settings menu > Configure Plug-Ins > Security:
Individual Script Approval
The design of the Omni Automation security for the execution of external scripts requires you to review each external script at least once. If a script is approved and executed, you won’t be prompted to review it again.
On all platforms (iOS, iPadOS, macOS) the displayed script must be viewed in its entirety prior to the execution control being enabled.
macOS
iOS/iPadOS
IMPORTANT: once a script/sending application pair has been approved, no security interaction will occur during subsequent executions of the script by its hosting application.
Next
In the next section, you’ll learn how to access and use the automation controls in OmniFocus.