I was going to lead this section with an "actions speak louder than words" joke, but, as it turns out, it literally does not apply to custom Siri responses. Still, the underlying sentiment holds true: I think the best way to understand the power of Shortcuts and Siri in iOS 12 is by playing around with actual examples of custom shortcuts.
Below, you'll find a series of shortcuts I've put together specifically for this review. Most of them can be downloaded for free; the more advanced ones are exclusive to Club MacStories members and they will be shared in our newsletter later this week. For the sake of clarity and context, I've included short video demonstrations for nearly every shortcut.
Do Not Disturb Menu
Using the new Do Not Disturb integration in iOS 12, this shortcut lets you silence notifications, choosing from three different options in a menu: until manually turned off, until the end of a calendar event, or until a specific time. Essentially, it replicates the features available in Control Center, albeit with better Calendar integration and the ability to run it in a widget.
Unlike Control Center, this shortcut can fetch multiple calendar events occurring on the current day (but not ones that have already passed) and ask you to pick one. The end time of the selected calendar event will be used as the expiration time for Do Not Disturb.
Additionally, you can build your own series of hours of the day when you typically want Do Not Disturb to be disabled. This is done using a 'List' action combined with 'Choose From List'. Once enabled, the shortcut will also tell you when Do Not Disturb is set to expire.
I've been using this shortcut to activate Do Not Disturb in different ways from the widget, and I like how the calendar event picker lets me choose between multiple upcoming events.
Enable Do Not Disturb choosing from a selection of expiration time templates, including a list of upcoming calendar events.
Dark Sky Check
Previously shared with Club MacStories members in Issue 137 of the MacStories Weekly newsletter, this shortcut uses the Dark Sky API to give you a forecast for the current day and have it read aloud by Siri.
Like Workflow, Shortcuts is able to perform HTTP requests to any web service using an API endpoint in the 'Get Contents of URL' action. In this case, the shortcut contacts the Dark Sky API asking for the forecast of a specific location with parameters for coordinates, temperature units, and language. The response is parsed with multiple 'Get Dictionary Value' actions that demonstrate Shortcuts' ability to parse structured JSON data. Finally, a custom response is assembled using Magic Variables in a 'Show Result' action.
Once given a custom phrase, you'll be able to run this shortcut in Siri and make the assistant read data from Dark Sky without having to open the Dark Sky app. The response is completely customizable: if you want to include different data points, you just need to look into the JSON response returned by Dark Sky.
This shortcut is one of my favorite examples of how Siri can be extended via Shortcuts to support any web service without waiting for Apple or developers to add native Siri integrations.
This shortcut is exclusive to Club MacStories members.
Pay for Lunch
This shortcut is designed to take advantage of the native integration with SiriKit's payment domain. Using the new 'Send Payment' action, the shortcut can leverage any compatible app (including Apple Wallet) to send a payment to someone in your address book. If you use Wallet, this will bring up the system UI to authorize a payment with Face ID or Touch ID.
I created this shortcut thinking it could be useful to send money to someone who paid for lunch at a restaurant or coffee shop nearby. At the beginning of the shortcut, you'll be asked to type the name of the place where you just had lunch; the text is passed to the 'Search Local Businesses' action, which uses the Apple Maps POI database to search for businesses nearby in a short radius. If multiple results are returned by Maps, you can pick one from a list of local business results.
Thanks to Magic Variables, we can use the name of the place in the note field of the payment alongside the current date; this way, the payment's recipient knows why they received money from you. The 'Send Payment' action should support both Wallet and compatible third-party payment apps; you have the option to launch the app into the payment screen or process the payment within Shortcuts.
Pay for Lunch
Send money to a friend who paid for lunch. The shortcut will add the local business' name in the payment's note field.
Search Reminders for Text
If you use Reminders (and perhaps a more powerful client for it such as GoodTask) as your task manager, you can use this shortcut to filter reminders that contain a specific string of text in their note field. When writing this review, this was one of my most used widget shortcuts as it let me filter reminders that had been tagged with "#writing" or "#editing" in GoodTask.
The search query is defined as a series of text strings in the first 'List' action. Then, the 'Find Reminders' action is used to search for reminders that have not been completed yet; optionally, you can restrict the scope of this search to an individual Reminders list. A second filtering action uses the 'Note contains' option to further filter reminders to return only those containing the keyword you selected. A repeat loop constructs a list of matching reminders, which are presented in an alert.
This shortcut is best experienced as a widget as it can show you a subset of reminders in a way that isn't supported out of the box by the Reminders app. It's also a great demonstration of Shortcuts' native integration with the Reminders database and Magic Variables used to extract specific metadata from each reminder.
Search Reminders for Text
Search your Reminders' note fields for a specific text query. By default, the search query is chosen from a list of pre-assembled options.
Siri News Reader
This is one of my favorite use cases for the 'Show Result' action and Siri integration in Shortcuts. By using the app's native RSS support, you can have Siri read you the latest headlines from your favorite blogs.
The shortcut is relatively easy to assemble: given an RSS feed URL, the 'Get Items from RSS Feed' action can fetch a specific number of articles published on a blog – in this case, the latest 5 posts. Then, for each item returned by the feed, the shortcut gets its title and appends it to a variable, leaving a blank line in between headlines. A custom introductory message is assembled in the 'Show Result' action ("Reading the latest news from [Site Name]...") alongside the complete list of headlines.
If you assign this shortcut a custom phrase, you'll then be able to issue a single command and let the assistant give you a personalized news brief where each article title will be read aloud. For instance, I use "Apple stories" for the MacStories feed and "Apple scoops" for 9to5Mac. This can be a great way to catch up on your favorite blogs while you're doing something else around the house, and it's particularly useful when summoned via the HomePod, which will read the headlines directly. This shortcut is another obvious example of the unique benefits of automation combined with Siri in iOS 12.
Siri News Reader
Fetch the latest articles from your favorite blog. Best experienced as a Siri shortcut to listen to the news.
Another exclusive for Club MacStories members, this is a suite of time tracking shortcuts that use the Toggl web service to start a specific timer, stop one, and tell you how long a timer has been running.
You can trigger these shortcuts in the Shortcuts app or as widgets, but Siri is by far the fastest and most convenient way to enable them. When I was working on this review, I constantly used Siri to start a timer for my writing process, tell me how long I had been editing in a single session, or stop any currently running timer.
While my Toggl shortcuts would benefit from the ability to tell Siri which timer to start among multiple ones (more on this in a bit), I have set up multiple variations of the same shortcut (each with a different Toggl project and custom phrase), and the system works well enough as long as I remember all my activation keywords. If you swear by time tracking like I do, you should consider installing these advanced Toggl shortcuts.
These shortcuts are exclusive to Club MacStories members.
These are three separate shortcuts that can modify the behavior of the iOS video player on a webpage containing video. You can:
- Speed up the video's playback rate, choosing from a list of multiple speed values;
- Put the currently playing video in Picture in Picture;
- Force a video player to enter iOS' native full-screen video playback mode.
The first shortcut uses the
Video Picture in Picture
Enable Picture in Picture mode for a video in Safari. Only works on iPad.
Markup Multiple Screenshots
Based on the 'Get Latest Screenshots' action and a repeat loop, this shortcut allows you to select multiple screenshots, annotate each one, and delete the original versions from the Photos app in a single workflow.
As you can see in the video above, the 'Markup' action loads the native system markup mode to modify images using various annotation tools and shapes. What I especially like about this shortcut is the fact that you can decide to save each modified version as a new image in the local Photos library, or share it with app extensions without saving it. The ability to delete each original screenshot or keep it alongside the edited version is just the cherry on top.
Markup Multiple Screenshots
Markup multiple screenshots in a row. You can choose to save or share the edited versions. Optionally, the originals can be deleted.
The most complex shortcut I created for this review is also the one I've been consistently running every morning soon after waking up. Thanks to a variety of integrations with native iOS frameworks, web APIs, and third-party apps, the Morning Routine shortcut gives me a complete overview of the day ahead while I'm making breakfast, and it also provides a welcome dose of inspiration to get started with the day.
At a high level, this is what the Morning Routine shortcut does with one seamless Siri command:
- Tells me how much I slept thanks to Shortcuts' HealthKit integration;
- Turns on my espresso maker via HomeKit;
- Gives me the current outside temperature and daily forecast, powered by the Dark Sky API;
- Turns on the living room lights;
- Shows me calendar events for the day;
- Lists all my overdue and scheduled reminders for the day;
- Reads the latest news from my favorite tech blogs;
- Presents an inspiring "quote of the day";
- Brings up a native 'Word of the Day' shortcut provided by the Daily Dictionary app;
- Resumes playback of my Overcast queue.
Essentially, I wanted to replicate all the actions I tend to perform each morning and group them under a single Siri command. Allow me to highlight some of the key details behind this shortcut.
Both Dark Sky and sleep data are fetched by running external shortcuts as functions inside Morning Routine. The Dark Sky shortcut is the same one I covered above; the Asleep Time shortcut is a new one (which you can download below) and it can be run both in standalone mode or as a function inside other shortcuts. When it's invoked as a function, the Asleep Time shortcut knows it doesn't have to bring up any alerts but just pass text back to Siri.32
The natural language part of the shortcut – the way Siri uses different punctuation or singular/plural nouns – was assembled manually via multiple If blocks and 'Count' actions. This technique (such as using "event" if only one event is occurring on the current day, or "reminders" followed by a colon if multiple tasks are due) allows for a nicer presentation that can scale to different languages as well.
Lastly, while tech news and the "quote of the day" are fetched via RSS feeds, the 'Word of the Day' and podcast playback actions are based on native Siri shortcuts from third-party apps. As you can see towards the end of the shortcut, the Daily Dictionary shortcut has 'Show When Run' enabled, but the same toggle is turned off in the Overcast action. This way, Siri can wait to display the app's word snippet and speak its response without pausing the first 'Show Result' action; and because the Overcast shortcut can just start playback in the background, we don't need to see its UI. You should also notice how, despite having multiple 'Show Result' actions (two of them, plus the response from Daily Dictionary), Siri just keeps talking without any interruptions.
My end goal with this shortcut was to let Siri speak things I want to know in the morning back to me while starting to make breakfast, ending with podcast playback through the latest version of Overcast. It took me a while to put this shortcut together33, but I'm happy with the finished product as it showcases some of Shortcuts' best system integrations, which weren't possible before iOS 12.
Read the HealthKit database to find out how much you slept last night.
A comprehensive shortcut for your morning routine. This shortcut can read you the news, list your upcoming agenda, turn on HomeKit scenes, and much more.
- Alas, the Shortcuts app doesn’t have a native way to check the context in which a shortcut is running (such as Siri or widget). I faked it by passing some text to the 'Run Shortcut' action and counting the input items in the external shortcut. If the count is greater than 0, it means the shortcut was summoned as a function. ↩︎
- Older versions of this shortcut couldn't support background execution of app actions, which are now fully functioning in the public releases of Shortcuts and iOS 12. ↩︎