Welcome to OMNI-AUTOMATION.COM, a resource for information about the new automation support in the apps from The Omni Group.
Overview
“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…
included with each Omni application, covering nearly all application features, and is supported by extensive API documentation available from the omni-automation.com
Uses the Core JavaScript component of the open-source WebKit frameworks, one of the most widely used, documented, and optimized scripting languages there is.
user-configurable and user-installable. Omni Automation plug-ins may be shared between devices and platforms using shared internet services such as DropBox and Apple’s iCloud Drive.
compatible with 3rd-party applications that support JavaScript and standard URL callbacks.
designed to interact fully with the Shortcuts automation workflows application, which is included by default with iOS and iPadOS.
text-based. Although each Omni application includes a built-in console for writing and running user-input scripts, Omni Automation is fully compatible with 3rd-party code editing applications, which can be used to author the automation action files.
a community of motivated users who use Omni Automation to create and distribute custom productivity tools for automating both common and uncommon processes and procedures.
Resource Links
Website: https://omni-automation.com
Code repository; https://github.com/omni-automation
Community forums: https://discourse.omnigroup.com
Slack channel: https://omnigrouphq.slack.com/messages
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.
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.
Create a Styled Circle | ||
01 | var aRect = new Rect(100,100,200,200) | |
02 | var aFillColor = Color.RGB(0, 0, 1, 1) | |
03 | var aStrokeColor = Color.red | |
04 | cnvs = document.windows[0].selection.canvas | |
05 | var aShape = cnvs.addShape('Circle',aRect) | |
06 | aShape.strokeThickness = 12 | |
07 | aShape.fillColor = aFillColor | |
08 | 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!
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.