Choose the automation

Choose the smallest tool

Select Shortcuts, a shell script, AppleScript, or launchd according to the boundary the task actually crosses.

10 minute lesson

~~~

macOS gives you several automation tools, and they overlap. The mistake I see most often is reaching for the most powerful tool available. Pick the smallest one that crosses the boundary your task actually crosses.

The four main options

Use Shortcuts when the workflow connects supported app actions and benefits from Finder, Share Sheet, or keyboard triggers. It is the friendliest place to glue app features together, and the only option here that also runs on iPhone and iPad.

Use a shell script for files, text, commands, and reliable non-interactive work. If the task is “take these files, transform them, put them there”, a script in ~/bin is usually the whole answer.

Use AppleScript when a scriptable application exposes the operation through Apple events. That is the sanctioned way to ask Finder, Mail, or Notes to do something app-specific from the outside.

Use launchd when the question is when, not what: start a command at login, on a schedule, or when a watched path changes. launchd starts things. It does not transform data.

A quick decision test

Ask what boundary the task crosses:

only files and text             -> shell script
needs actions inside an app     -> AppleScript, or a Shortcuts action
needs a Finder or hotkey trigger -> Shortcuts wrapping the script
needs to run unattended         -> launchd starting the script

These compose. A common shape in this course: a shell script does the work, a Shortcut triggers it from Finder, and a LaunchAgent runs the same script on a schedule. Each tool stays in its lane.

The tool to avoid

Do not begin with UI clicking. UI automation simulates a user moving through windows and menus, so it is fragile and requires powerful Accessibility permission. It breaks when a button moves, a label changes, or an unexpected dialog appears. Reach for it last, after every other interface has failed you. A later lesson covers how to contain it when you truly have no choice.

One warning sign that you picked wrong: friction. If your Shortcut has become one giant “Run Shell Script” action, the task wanted a script. If your script is mostly osascript calls, the task wanted AppleScript from the start.

Lesson completed

Take this course offline

Get every free book and course as PDF and EPUB files.

Get the download library →