Shortcuts is Apple's visual automation builder — closer to a lightweight scripting tool than the "run a preset action" feature it's often mistaken for.
The basic building blocks
A shortcut is a sequence of actions, each taking the previous action's output as input — conceptually similar to piping commands together in a shell. Actions range from simple ("Get Current Location") to genuinely powerful ("Run Shell Script over SSH," "Get Contents of URL" for hitting an API).
A practical example: automatic "arrived home" texts
- Automation tab → New Automation → Arrive, set your home address.
- Add action: Send Message, addressed to a specific contact, with text like "Just got home."
- Toggle off "Ask Before Running" if you want it fully automatic (with the confirmation prompt on, it asks each time before sending — useful while you're still testing it).
Calling an API directly
Get Contents of URL: https://api.example.com/weather?city=SF
Get Dictionary Value: "temperature" from [previous result]
Show Notification: "Current temp: [value]°F"
This is a genuinely useful pattern — Shortcuts can hit any HTTP endpoint, parse the JSON response, and act on specific fields, without writing a line of code. Useful for pulling data from a personal API, a home automation hub, or any service with a simple REST endpoint.
Triggered automations, not just manual ones
The Automation tab supports triggers beyond tapping a shortcut manually:
- Time of day — e.g., a "morning brief" that reads calendar events and weather aloud at 7am.
- Arrive/Leave a location — automations tied to geofencing.
- App opened/closed — e.g., automatically enabling Do Not Disturb when opening a specific app.
- NFC tag scanned — tap your phone to a physical NFC tag to trigger a shortcut (e.g., a tag by your bed that sets an alarm and enables Do Not Disturb).
- Focus mode changed — trigger actions when switching between Work/Personal/Sleep focus modes.
Passing data between shortcuts
Shortcuts can call other shortcuts as a sub-step (Run Shortcut action), passing input and receiving output — letting you build small, reusable shortcuts and compose them, the same way you'd break a script into functions instead of one long procedure.
Where it genuinely replaces "real" automation
For anything involving iOS-specific triggers (location, NFC, Focus modes, Share Sheet integration) or simple API calls without needing a server to run continuously, Shortcuts is often a better fit than standing up actual infrastructure — it runs on-device, triggers reliably from iOS system events, and requires no hosting.
Where it hits real limits
Shortcuts can't run continuously in the background polling for changes (it's trigger-based, not a persistent process), has no real error handling beyond basic conditionals, and debugging complex shortcuts through the visual interface gets unwieldy past a certain complexity. For anything needing a persistent server-side process or complex logic, it's a starting point to prototype the idea, not the final implementation.
Variables and conditionals: where it stops being "just taps"
Shortcuts supports named variables and if/otherwise branching, which is what separates a real automation from a fixed sequence of steps:
Set Variable "Hour" to [Current Date, formatted as "H"]
If [Hour] is less than 12
Show Notification: "Good morning"
Otherwise
Show Notification: "Good afternoon"
End If
Storing a value in a named variable and branching on it is the same fundamental building block as a variable and an if statement in a real programming language — it's what lets a shortcut make a decision instead of running the same fixed steps every time regardless of context.
Home Screen and widget integration
A shortcut can be added directly to the Home Screen as its own icon, or surfaced through the Shortcuts widget — both skip opening the Shortcuts app entirely, turning a multi-step automation into a single tap from wherever you already are. For automations you run manually and often (rather than ones that trigger automatically), this is usually a better fit than digging through the Shortcuts app's list every time, and it's the same mechanism behind many "one-tap" utility shortcuts shared online.
Running shortcuts from Siri or the Action Button
Any shortcut can be triggered by voice ("Hey Siri, run [shortcut name]") without opening the app at all, and on iPhones with an Action Button, one shortcut can be bound directly to that hardware button for instant, no-tap access. Naming a shortcut something natural to say out loud ("Start focus session" rather than "Shortcut 3") is a small detail that makes the Siri trigger path actually usable day to day, since Siri matches on the shortcut's exact name.
Sharing a shortcut with a team or the community
Exporting a shortcut generates an iCloud link anyone can open to import it into their own Shortcuts app — a lightweight way to distribute a useful automation without publishing a full app. Before sharing one, strip out anything personal (a hardcoded home address, a personal API key) the way you'd scrub credentials before sharing a script publicly — the recipient gets an exact copy of every action, including any values you left hardcoded inside it.
A shortcut that reads sensor or contact data is subject to the same iOS permission prompts and privacy labels as any other app — worth understanding from the user side before building an automation that depends on them.
Common mistakes
- Leaving "Ask Before Running" enabled on an automation meant to be silent, then being surprised it doesn't run automatically — the prompt itself is the block, not a bug in the trigger.
- Building one large shortcut instead of composing smaller ones with Run Shortcut. A single sprawling shortcut is much harder to debug than several small, individually testable ones chained together.
- Assuming a location-based automation fires instantly. Geofencing triggers depend on iOS's location radius detection, which can lag by a minute or more — not reliable for anything requiring precise timing.
- Hardcoding a personal API key or token directly inside a shortcut you then share with someone else. Shortcuts can be exported and shared; treat them the same as you would sharing a script with credentials embedded in it.
Related reading
- Understanding iOS App Permissions and Privacy Labels — shares tags: iphone (same category).
- Big O Notation Without the Math Panic — shares tags: productivity.
- Clean Code Principles That Actually Hold Up in Practice — shares tags: productivity.
- Understanding Cloud Cost Optimization Basics — shares tags: productivity.
- Git Hooks Explained: Automate Your Workflow — shares tags: productivity.