Crank

Effortless macOS automation
no manual required
DownloadBuy license
compatible with macOS 14.0+ (Sonoma and later)
The Crank app interface showing automation rules

Write actions in plain English

With support for Gemini and ChatGPT, scripts can be generated by describing the action you want to run.
The AI model will receive special context about utility binaries available on your system, so that it uses commands that work on your machine.

Private by default

AI features are disabled by default and only run when you press the Generate Code button. The context sent to the model does not contain any sensitive data.

Simple but flexible

The concept is simple: "When this happens, do that". But the small number of actions hide a multitude of possibilities.
Scripts can receive data about the event, like the screenshot file that was just taken, the calendar event that starts in 5 minutes, the battery level etc.

Templatable fields

All text fields like the URL from Open URL, the path in Open File or the notification title, can use the same event data.

Time window scheduling

Limit a rule to a time window and specific days of the week.
For example, a rule that connects to a VPN when launching the work Slack can be set to only fire on weekday mornings.
This can also be used to schedule actions to run daily at specific hours.

Rate limiting

Set a cooldown period on a rule to avoid triggering it multiple times in a short window.
File system events or ambient light changes can come in bursts. Without a limit, one blip could run your action ten times before it finishes.

Event log

Every trigger event is recorded and logged along with all its data.
Good for figuring out what your Mac is reacting to, or why a rule did or didn't fire.

Action history

Script output, exit codes, errors and the event that triggered the action are saved for each run.
If something triggered but didn't behave as expected, this is where to look.