Welcome to OMNI-AUTOMATION.COM, a resource for information about the new automation support in the apps from The Omni Group.


“Omni Automation” is the name of the comprehensive user-controlled automation tools included with the productivity suite of applications from The Omni Group: OmniGraffle, OmniOutliner, OmniPlan, and OmniFocus.

Using the Core JavaScript language, Omni Automation “scripts” offer the same syntax and functionality across all Apple platforms (iOS, iPadOS, and macOS). For example, a JavaScript script written to automate an OmniFocus process will execute the same regardless of which Apple device is hosting the application.

In addition, Omni Automation scripts offer built-in functions for communicating with other Omni and 3rd-party applications, using standard “URL callbacks” to request the target application perform actions and provide data that can be returned to and processed by the originating Omni app.

To maximize portability, Omni Automation scripts may be composed as text-based plug-ins installable by the user and which may be shared between devices. To best enable user-interaction, these plug-in “action” files may present standard application interfaces, like text fields, checkboxes, and menus, to enable the script user to provide input to best guide the script as it processes data and automates application features.

Omni Automation is…

Resource Links

Using this Website

Certain conventions are used in the design of this website to make it easier to get to and retrieve the information you need.

IPAD USERS: Tap the Omni-Automation banner at the top of any page to hide the sidebar and display the page content edge-to-edge. Tap the banner again, to restore the sidebar and navigation panel.


Use the links in the Topics area found at the top right of every page to navigate to the content about a specific application or subject.

Script Code

This website contains many example Omni Automation scripts for you to use as is or as starting points in creating your own scripts. Example scripts are usually displayed in highlighted blocks with line numbers beginning each line of the script. In addition, a script sometimes contains one or more buttons for running the script, copying the script text to the clipboard, or copying the script link to the clipboard (see below).

EXAMPLE SCRIPT · Create a blue circle with a red 12-point border on the canvas of the frontmost OmniGraffle document.

var aRect = new Rect(100,100,200,200) var aFillColor = Color.RGB(0, 0, 1, 1) var aStrokeColor = Color.red cnvs = document.windows[0].selection.canvas var aShape = cnvs.addShape('Circle',aRect) aShape.strokeThickness = 12 aShape.fillColor = aFillColor aShape.strokeColor = aStrokeColor

Omni Automation Script as QR Code

If you have OmniGraffle installed on your device, scan this QR code version of the example script!


Welcome Aboard!

We hope you find this site useful and informative, and

* JavaScript for Automation (JXA) is an OSA (Open Scripting Architecture) script language in macOS. Introduced in OS X Yosemite, JXA is a peer of the AppleScript language and as such has access to all macOS scriptable apps, frameworks, and native UNIX utilities. Here are links to the JXA Release Notes and a 23-minute training video.