1. Code
  2. Coding Fundamentals
  3. Workflow

How to Choose the Right Tools to Automate the Mac

Scroll to top
Read Time: 6 min

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 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.

A Hello World AppleScript.


  • 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


  • 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


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.

automator appautomator appautomator app
The Automator app.


  • 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


  • 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

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.

keyboard maestrokeyboard maestrokeyboard maestro
Keyboard Maestro macro I created as part of an earlier tutorial.


  • 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


  • 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


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.

TextExpander snippet I created as part of an earlier tutorial.


  • 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


  • 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


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.

Some of the rules running on my Desktop folder in Hazel.


  • 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


  • 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


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.

Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.