Omni Automation Plug-Ins and Apple Vision Pro

Apple Vision Pro pioneers the use of Spacial Computing, where Apple Vision Pro seamlessly blends digital content with your physical space, and you navigate simply by using your eyes, hands, and voice.

For users of the Omni Group’s productivity software, Apple Vision Pro presents new ways and means to accomplish more, mechanisms that blend the power and usefulness of Omni Automation plug-ins and scripts with the ease of working within a spacial computing environment.

 

Install Links: “Look, Tap, and Approve!”

With the advent of spacial computing that is driven by eye and hand movements, it is critical that the installation of automation tools be an easy seamless process. Welcome to “Look, Tap, and Approve!”

Beginning with the latest versions of Omni applications, there is a new way to install plug-ins: Omni Automation now supports “Install Links.” With Install Links, simply activating a link in a webpage, will automatically trigger the targeted Omni application’s built-in plug-in onboarding process.

For users of Install Links, you will no longer need to interact with the Finder (macOS) or the Files app (iOS · iPadOS · visionOS) to install downloaded plug-in files. Simply activate the link, and follow the prompts in the standard Omni plug-in onboarding process and you’re done. For Apple Vision Pro users especially, this greatly simplifies adding custom functionality to your Omni application.

For Omni Automation plug-in creators who wish to share their plug-ins, an “Install Link” is a companion to the encoded Script URLs used to send and execute remote Omni Automation scripts. An Install Link begins with the name of the targeted Omni application followed by this specialized schema and parameter:

[NAME-OF-OMNI-APPICATION]:///omnijs-install?path=[ENCODED-FULL-URL-OF-PLUG-IN-FILE-OR-ZIP]

Install Links will greatly simplify the process of adding plug-ins to your Omni application.

Here’s a plug-in you can install and use to generate an Install Link from a copied URL. This plug-in works all Omni applications.

Install Link Creator Plug-In
    

/*{ "type": "action", "targets": ["omnifocus","omnigraffle","omniplan","omnioutliner"], "author": "Otto Automator", "identifier": "com.omni-automation.all.clipboard-to-install-link", "version": "1.1", "description": "This plug-in replaces the URL currently copied to the clipboard with an Install Link targeting the copied URL, or prompts for a URL string to be converted into an Install Link. The resulting Install Link string is logged to the console and placed on the clipboard.", "label": "Install Link from Copied URL", "shortLabel": "Install Link", "paletteLabel": "Install Link", "image": "link.circle" }*/ (() => { const action = new PlugIn.Action(async function(selection, sender){ try { if (Pasteboard.general.hasURLs){ url = Pasteboard.general.URLs[0] var urlStr = url.string } else { inputForm = new Form() textInput = new Form.Field.String( "textInput", "URL", null ) inputForm.addField(textInput) inputForm.validate = function(formObject){ textValue = formObject.values['textInput'] return (textValue && textValue.length > 0) ? true:false } formPrompt = "Enter URL string:" buttonTitle = "Continue" formObject = await inputForm.show(formPrompt, buttonTitle) var urlStr = formObject.values["textInput"] } appID = URL.currentAppScheme if(appID.includes("OmniFocus")){ var host = "omnifocus" } else if (appID.includes("OmniGraffle")){ var host = "omnigraffle" } else if (appID.includes("OmniOutliner")){ var host = "omnioutliner" } else { var host = "omniplan" } schema = `${host}:///omnijs-install?path=` encodedURLstr = encodeURIComponent(urlStr) installLink = schema + encodedURLstr Pasteboard.general.string = installLink console.log(installLink) alertMsg = "The Install Link has been logged and placed on the clipboard." alert = new Alert("Install Link", alertMsg) alert.addOption("Open") alert.addOption("Done") buttonIndex = await alert.show() console.log(buttonIndex) if(buttonIndex === 0){ url = URL.fromString(installLink).open() } } catch(err){ if(!err.causedByUserCancelling){ console.error(err.name, err.message) new Alert(err.name, err.message).show() } } }); action.validate = function(selection, sender){ return true }; return action; })();

Use of “Install Links” can be found with each of the example plug-ins featured in the Videos section of the “What’s New with Omni Automation in OmniFocus 4” featurette on this website.

Making Omni Automation Plug-Ins “Speakable”

Apple Vision Pro users appreciate the ability to trigger actions using their voice. Spoken commands are a great companion to using your eyes, gestures, and virtual or wireless keyboards.

The Vision Pro with Spoken Commands

And fortunately for us all, the Apple Vision Pro incorporates two of Apple’s proven voice technologies: Siri and Voice Control, either of which can be used to launch Omni Automation plug-ins, using your own custom spoken commands. We’ll show you how!

“Hey Siri, are you listening?”

Let’s begin with everyone’s best friend, Siri.

Siri is an integral part of the Apple Vision Pro experience, and is designed to be your “assistant,” ever-ready to open apps, fetch email, or transcribe your dictated memo. But one of Siri’s best “tricks” is the ability to launch installed Shortcuts workflows when you speak the title of the shortcut you wish to execute!

So to make an Omni Automation plug-in accessible to Siri, simply create a Shortcuts workflow containing the “(Run) Omni Automation Plug-In” action that ships with every Omni application. Next, select the desired plug-in from the list of installed plug-ins, and save and title the Shortcuts workflow with the phrase you wish to Siri to recognize as a spoken command.

The Shortcuts (Run) Omni Automation Plug-In action:

The Run Omni Automation Plug-In Shortcuts action

The Shortcuts action with a plug-in chosen from the list of installed Omni Automation plug-ins:

The Run Omni Automation Plug-In Shortcuts action

As an example, the above Shortcuts workflow could be saved and titled: “Show Paragraph Properties”

You would then use Siri to launch the plug-in by speaking:

“Hey Siri, Show Paragraph Properties.”

Voice Control and Omni Automation Plug-Ins

Voice Control is an automation tool that is a component of the OS Accessibility frameworks. It is used to control all aspects of the OS environment including menus, buttons, lists, dialogs, as well as the ability to execute installed Shortcuts workflows.

However, unlike Siri shortcuts support where the title of the shortcut is the text of the spoken command, with Voice Control the phrase you use for your custom Voice Control commands can be whatever you like and is not limited to being the title of the shortcut.

To create your own Voice Control commands for Omni Automation plug-ins, follow the same Shortcut workflow creation process as used with Siri (described in the previous section).

Navigate to System Settings > Accessibility > Voice Control > Commands… and follow the prompts for creating a custom command that executes a Shortcuts workflow.

Once created and installed, turn on Voice Control and utter the command you assigned:

“Show Paragraph Properties”