Schedule Automations on macOS 13 Ventura
macOS 13 Ventura provides several built-in methods to schedule
automations, scripts, and applications to run at specific times. While
the Shortcuts app on macOS does not feature the standalone time-based
"Personal Automations" found on iOS, you can easily achieve precise
scheduling using native tools such as the Calendar app, the
cron utility, or the system-native launchd
service. This guide covers how to set up each method based on your
comfort level with graphical interfaces or command-line tools.
Method 1: Use the Calendar App (GUI Method)
The Calendar app is the simplest visual way to trigger an application, file, or custom script at a recurring time without writing terminal configurations.
- Open the Shortcuts app and create the workflow you want to run.
- In the Shortcuts menu bar, click File > Add to Dock or export your shortcut as an app via File > Export (or save an AppleScript/Automator workflow as an Application).
- Open the Calendar app.
- Double-click the date and time you want your automation to start to create a new event.
- In the event details window, click the Alert dropdown and select Custom.
- Change the alert type from "Message with sound" to Open file.
- In the secondary dropdown, click Other... and navigate to your exported Shortcut app, AppleScript, or Automator application.
- Set the time to At time of event.
- Use the Repeat field to set how often the task should run (daily, weekly, or custom intervals).
Method 2: Use Crontab in Terminal (Lightweight & Fast)
For executing shell scripts or command-line commands at exact
recurring intervals, the Unix cron service is
straightforward and reliable.
Open Terminal (located in
/Applications/Utilities/).Type
crontab -eand press Enter to open the schedule editor.Press
ito enter edit mode (if using the default Vim editor).Enter your schedule using the standard cron syntax:
minute hour day_of_month month day_of_week command_to_executeExample (run a script every day at 8:30 AM):
30 8 * * * /bin/zsh /Users/yourusername/scripts/backup.shExample (run a Shortcut every Monday at 9:00 AM):
0 9 * * 1 /usr/bin/shortcuts run "My Shortcut Name"Press
Esc, type:wq, and press Enter to save and apply the changes.Required Security Setting: Go to System Settings > Privacy & Security > Full Disk Access, click the
+icon, and add/usr/sbin/cronso macOS Ventura allows background executions to access local files.
Method 3: Use Launchd (The Native macOS Standard)
The official Apple-recommended background scheduling framework is
launchd, which runs via Property List (.plist)
files. Unlike cron, it can wake sleeping Macs and run
missed jobs after a reboot.
- Open TextEdit, select Format > Make Plain Text, and paste the following template:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.scheduledautomation</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/shortcuts</string>
<string>run</string>
<string>Your Shortcut Name</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>14</integer>
<key>Minute</key>
<integer>30</integer>
</dict>
</dict>
</plist>Adjust the
Hour(in 24-hour format) andMinutevalues, or replace theProgramArgumentsarray with the path to a script you want to run.Save the file with the
.plistextension (e.g.,com.user.scheduledautomation.plist) inside the folder:~/Library/LaunchAgents/Open Terminal and activate the scheduled task by running:
launchctl load ~/Library/LaunchAgents/com.user.scheduledautomation.plist
The system will now run your specified command automatically every
day at the designated time. To stop the schedule in the future, run
launchctl unload followed by the path to the
.plist file.