Coming from Automator and Shortcuts
How Quick Actions, workflows, folder actions and Shortcuts become macros, which Automator actions turn into steps, and what still runs through Automator itself.
You may never have bought an automation app, and still have a few Quick Actions, a folder action and a page of Shortcuts. Import brings them across, so the palette and your hotkeys cover everything from the first day. Nothing in Automator or Shortcuts is changed or turned off.
Choose File › Import… and then Automator and Shortcuts on this Mac, or drop a .workflow file on the window. From a terminal: switchboard import --automator --shortcuts (see switchboard import).
Automator #
| Automator | Switchboard |
|---|---|
| Quick Action (Services menu) | A macro in a group for the app it was scoped to (or in Automator). Text input is the selected text; file input is finder.selection.selection. |
| Its Services keyboard shortcut | The macro's hotkey, read from System Settings |
| Application workflow (drop files on it) | A macro with a file input, run from the palette |
| Folder action | A macro with a File or folder change trigger on the folder, set to Added |
| Print plugin, Image Capture plugin, dictation command | A macro with no trigger, run from the palette |
Converted or run through Automator. A workflow whose every action is in the table below becomes ordinary steps you can read and change. One with any other action is not converted at all: it runs, unchanged, through the Run Automator workflow step, from a copy kept with the macro. A half-converted workflow would pass the wrong things between its steps, so it is all or nothing. The review says which each one is.
Between actions Automator hands the output of one to the next. A converted macro keeps that in one variable, input, one item per line.
Actions that become steps #
| Automator action | Becomes | Note |
|---|---|---|
| Run Shell Script | shell | The script, the shell (zsh, bash or sh) and how input arrives (standard input, or as arguments) carry over. |
| Run AppleScript | appleScript | The on run {input, parameters} handler is kept; input arrives as its list. A script without that handler runs through Automator. |
| Run JavaScript | jxa | function run(input, parameters) is kept; input arrives as its array. |
| Get Specified Finder Items | variable | The listed paths become the pipe. |
| Get Selected Finder Items | variable (finder.selection) | Read when the macro runs. |
| Get Folder Contents | shell find | Visible items only, with or without subfolders. |
| Get Specified Text | variable | Plain text only; the rich-text copy is dropped. |
| Get Specified URLs | variable | The URLs that are ticked. |
| Get Contents of Clipboard | clipboard get | Text only. |
| Copy to Clipboard | clipboard set | Text only. |
| Display Notification | notify | The input passes through. |
| Speak Text | speak | The chosen voice carries over. |
| Ask for Text | prompt text | Escape cancels, as Cancel did. |
| Ask for Confirmation | prompt form + cancel | The negative button stops the macro. |
| Choose from List | prompt list | One choice only; picking several runs through Automator. |
| Pause | waitFor pause | Seconds, minutes or hours. |
| Launch Application | openFile | |
| Quit Application | quitApp | |
| Run Workflow | automator | Waits for the other workflow and takes its output. |
| Set Computer Volume | volume | The output volume and mute; the alert and input volumes are left alone. |
| Open Finder Items | shell open | With the chosen app, or each item's own. |
| Reveal Finder Items | shell open -R |
Actions that run through Automator for now #
| Action | Why |
|---|---|
| Rename Finder Items | waits on hazel-import |
| Move Finder Items | waits on hazel-import |
| Copy Finder Items | waits on hazel-import |
| Duplicate Finder Items | waits on hazel-import |
| New Folder | waits on hazel-import |
| Move Finder Items to Trash | waits on hazel-import |
| Set Spotlight Comments for Finder Items | waits on hazel-import |
| Label Finder Items | waits on hazel-import |
| Filter Finder Items | waits on a predicate reader |
| Find Finder Items | waits on a predicate reader |
| Set Value of Variable | waits on a saved sample of how a workflow stores its variables |
| Get Value of Variable | waits on a saved sample of how a workflow stores its variables |
| Loop | waits on a repeat mapping |
| Display Webpages | waits on openURL over a list |
| Take Screenshot | waits on a screenshot step |
| Text to Audio File | waits on shell say -o |
| Watch Me Do | waits on the recorder (a recording of clicks cannot be converted) |
Every other action, about 300 across Apple's apps (Mail, Photos, Calendar, Contacts, PDFs, images, Music), runs through Automator as well.
Shortcuts #
Every shortcut becomes a macro named Run <name>, in a group for its Shortcuts folder. The macro starts it with the shortcuts tool through Run Shortcut, and has one optional text input that is handed to the shortcut. Run it from the palette, which asks for the input in its argument form.
What is inside a shortcut can't be read: Apple signs them. Switchboard starts the shortcut and lets it do its own work. If the shortcut is also a Quick Action with a keyboard shortcut in System Settings, that becomes the macro's hotkey.
The Services shortcut keeps working too #
A Quick Action's shortcut lives in System Settings › Keyboard › Keyboard Shortcuts › Services. After the import the same key can run both the Services entry and the macro. Turn the Services shortcut off so it doesn't run twice. The review says so on every macro it applies to.
If a shortcut is set for a Service that no Quick Action in your Library matches, the review lists it with the raw key, and no hotkey is made.
What it can't do #
Convert a shortcut's actions. They aren't readable. They run as the shortcut.
Record and replay (Watch Me Do). It runs through Automator; a recording of clicks can't be turned into steps.
Which folder a folder action watches. Folder Actions Setup keeps that in a file Apple doesn't document. When Switchboard can't read it, the macro has no trigger and the review says to add one.
A print plugin or Image Capture workflow as one. Switchboard can't be one; the macro runs from the palette.