Free course

Automate macOS Course

Automate repeatable Mac work with Shortcuts, shell commands, AppleScript, Finder actions, launchd jobs, logs, and safe failure handling.

5 modules · 25 lessons · No signup

Prerequisites: macOS Basics, Shell Commands and Shell Scripting and Automation

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Build a documented Mac automation that accepts clear input, runs without hidden interaction, reports failures, and is safe to run twice.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

Course contents

  1. Choose the automation

    Define the repeated task, select the smallest suitable Mac automation tool, and design input, output, and rollback.

    1. Describe the repeated task
    2. Choose the smallest tool
    3. Design input and output
    4. Build a safe dry run
    5. Check your understanding: choose the automation
  2. Connect apps and files

    Use Shortcuts, Finder Quick Actions, open, clipboard commands, and file metadata to connect desktop work.

    1. Build a Shortcut with a contract
    2. Run Shortcuts from Terminal
    3. Open files, URLs, and applications
    4. Build a Finder Quick Action
    5. Check your understanding: connect apps and files
  3. Script applications

    Inspect scripting dictionaries, send Apple events, combine AppleScript with shell commands, and avoid brittle UI scripting.

    1. Inspect an application dictionary
    2. Send a small Apple event
    3. Call AppleScript with osascript
    4. Avoid UI scripting when possible
    5. Check your understanding: script applications
  4. Schedule with launchd

    Build and operate a per-user LaunchAgent with explicit paths, environment, output, and lifecycle controls.

    1. Choose a LaunchAgent or LaunchDaemon
    2. Write a minimal LaunchAgent
    3. Control environment and output
    4. Load, test, and remove the job
    5. Check your understanding: schedule with launchd
  5. Operate the automation

    Add idempotence, locking, logs, notifications, tests, recovery, and a complete automation runbook.

    1. Make the work idempotent
    2. Prevent overlapping runs
    3. Log and notify without leaking
    4. Finish the automation runbook
    5. Check your understanding: operate the automation