How to Choose the Right Tools to Automate the Mac
Over the last year I’ve spent a lot of time exploring the ways that you can automate a Mac.
I’ve written detailed tutorials about Hazel, Keyboard Maestro and TextExpander, three of the most powerful tools available. Envato Tuts+ has also covered other tools like OS X’s built in Automator and AppleScript before.
Since writing the tutorials I’ve been contacted by a number of people asking how to use App X to do Z. In many cases, the answer was don’t try to use App X and instead use App Y which is expressly designed to do Z.
While many of the tools have overlapping functionality, each has it’s own individual strengths and weaknesses. While TextExpander and KeyboardMaestro can do some of the same things, there are situations where TextExpander is better and vice versa.
In this tutorial I’ll look at the major Mac automation tools and when they’re best employed.
AppleScript
AppleScript is one of the most powerful tools to control a Mac. It is a scripting language built in to OS X and it’s been a part of the operating system since the early 90s.
Many of the other tools in this tutorial can, or do, use AppleScript under the hood. It is designed for automating repetitive tasks by linking different applications and allowing them to pass data and documents between themselves.



Strengths
- As a scripting language, AppleScript is the most powerful tool available to Mac users. It’s possible to build entire applications using AppleScript as the base programming language
- AppleScript is free and comes installed with OS X
- As an official Apple program—and an old one at that—it is well documented
- Can be controlled using other scripting languages
Weaknesses
- AppleScript has an incredibly steep learning curve. It is a fully fledged programming language
- The applications for creating AppleScripts are basic text editors
- Unless you’re already a programmer, AppleScript can be overwhelming to use
When to Use It
- If you understand computer programming languages.
- No other solution can do what you need it to.
Tutorials to Read
- The Ultimate Beginner’s Guide To AppleScript
- Advanced AppleScript Techniques
- Launch Your Favorite Apps in Groups with AppleScript
Automator
Automator, like AppleScript, is another automation tool developed by Apple.
With Automator you use a graphical user interface (GUI) to create workflows—a number of actions grouped together to reduce repetitive tasks.
For example, it’s simple to create an Automator workflow that takes any number of photos and resizes them to a specific size.



Strengths
- Automator workflows are easy to create with the GUI; no knowledge of scripting languages is needed
- Well supported by Apple and third-party developers
- Automator is free and comes installed with OS X
- Can be uses as a step in other more powerful automation set ups
Weaknesses
- Automator’s feature set is relatively basic compared to other tools
- Workflows can only be employed as standalone apps or context menu items
When to Use It
- You need to automate a simple, repetitive task and nothing else
- You want to have several applications perform operations on the same file
- As a step in a larger automation set up
Tutorials to Read
- Automator 101: Building Your First Workflow
- Delving Deeper Into Automator in OS X
- 10 Awesome Uses for Automator Explained
Keyboard Maestro
Keyboard Maestro is the most powerful third-party Mac automation app available. With it you string together actions to form macros. There is very little about OS X that Keyboard Maestro cannot control.
One of the major features that separates Keyboard Maestro from other options is that its macros are designed to be triggered both by the user and automatically in the background.
For example, you can use Keyboard Maestro to open and arrange a specific set of apps with a keyboard shortcut or to close Facebook if it’s been open for more than three minutes.



Strengths
- Almost as powerful as AppleScript but a lot simpler to use
- Can be used to build incredibly complex series of interlinking macros
- Well documented and the developers are happy to answer any questions you have
Weaknesses
- Although it uses a GUI, there is still a learning curve
- Struggles to automate functions within apps rather than between them
- It’s tempting to try and use Keyboard Maestro for things other apps are better suited to
When to Use It
- Keyboard Maestro is best used as central command, controlling things with its own macros and other automation tools like AppleScript and Automator workflows
- When there is no simpler solution available
- When you need things to trigger automatically in the background
Tutorials to Read
- Keyboard Maestro I: Introduction
- Keyboard Maestro II: Launching Apps Intelligently
- Keyboard Maestro III: Situational Triggers
- Keyboard Maestro IV: Control Flow
- Keyboard Maestro V: Variables
TextExpander
TextExpander has one purposes and it does it exceptionally well: it takes a short string of text and expands it into a much longer string. For example, you can have a snippet such that when you enter .eml it expands out to your full email address.



Strengths
- Completely focused on text expansion rather than trying to handle many different automation functions
- Incredibly simple to set up and use
- Also has more powerful features using scripting languages that allow for situational control over what text is inserted
Weaknesses
- Can only be used for text expansion
- Requires dedication to set up and use
- Many of its features can be replicated using Keyboard Maestro
When to Use It
- To speed up repetitive text entry
- When you want a simple, dedicated solution to text expansion
- If you use both iOS devices and Macs
Tutorials to Read
- TextExpander: An Introduction
- TextExpander II: Fill Ins and Macros
- Text Expander III: Scripting Fill Ins
- TextExpander IV: Syncing and TextExpander Touch
Hazel
Hazel is an app designed for automating file management on OS X.
Hazel will watch folders and, according to certain rules, perform operations on any files within them.
You can use Hazel to delete old files from the Downloads folder, move files from one folder to another, run Automator workflows on files tagged with a specific colour, and a lot more.



Strengths
- Hazel works with OS X’s file system and is great for keeping it organised
- Can be used to create trigger folders that run specific Automator workflows or AppleScripts
- Runs seamlessly in the background
Weaknesses
- Only works with files and folders
- If you forget Hazel is running it can run operations on files you wanted left alone
- Time consuming to configure properly
When to Use It
- When you want to automate how files are handled within OS X’s file system
- To keep a Mac’s file system clean
- To create folders that, when a file is added, another automation program runs
Tutorials to Read
- Keep a Mac Clutter Free With Hazel 3 and an Inbox Folder
- Taking Hazel 3 and the Inbox to the Next Level
- Syncing the Inbox Between Macs With Dropbox and Hazel 3
- Wrapping Up: Miscellaneous Rules for Hazel 3 and the Inbox
Conclusion
Envato Tuts+ has covered a lot of the great automation software that is available on OS X. Each application has it’s own strengths and weaknesses. In some situations any will do while in others one specific app is best suited to the task.
One of the biggest problems people run into when trying to automate a Mac is using the wrong application. This tutorial should make it clearer which app to use and when.
If you’ve any questions about which automation app to use for a specific problem, ask away in the comments.