New Actions and Updates
In addition to parameters, conversational shortcuts, and a revamped editor, Apple also had the time to ship new actions and updates to existing actions in iOS 13. Let’s take a look.
Set Playback Destination
One of the most useful new actions of Shortcuts in my experience, ‘Set Playback Destination’ lets you set a specific output device from a shortcut, without manually selecting it from Control Center or Settings. This action comes with a parameter that opens a picker to select one AirPlay or Bluetooth device to set as the audio output destination for the device where the shortcut is running. The action supports local audio output (device speakers), HomePods, Apple TV, AirPlay-enabled devices (including TVs), AirPods, and generic Bluetooth headphones.
As I’ll detail later, I’ve implemented this action in various shortcuts that fetch Apple Music playlists (or Podcasts episodes) and start playback on a nearby HomePod or my AirPods. Even though iOS makes it easy to switch between different output devices from Control Center, I’ve enjoyed the convenience of doing so with shortcuts that can be activated from a widget or, even better, with an automation such as tapping an NFC sticker. More importantly, these shortcuts also contain other actions for music or podcast playback, which have helped me create “media templates” that wouldn’t be supported by Control Center alone.
‘Set Playback Destination’ uses AirPlay 2 for streaming to AirPlay devices: in my tests, switching from local playback through the iPhone’s speakers to a HomePod involved a small delay of about a second, not the 3-4 seconds typically required by AirPlay 1. Unfortunately though, this action can’t connect to multiple AirPlay 2 speakers at once (a feature supported by AirPlay 2), nor can it create independent audio streams on AirPlay 2 devices – it can only stream directly from iOS to AirPlay 2. In the future, I’d like Apple to continue expanding the AirPlay 2 implementation of this action.
Apple TV Remote
In more media-related enhancements, Shortcuts in iOS 13 comes with a suite of actions to control the Apple TV device, with another useful one launching with iOS 13.1.
In iOS 13, Shortcuts comes with four Apple TV actions:
- Play/Pause Apple TV
- Show Remote Control
- Sleep Apple TV
- Wake Apple TV
The names are pretty self-explanatory: these actions perform the selected task on an Apple TV on the same local network as the device running Shortcuts. The Apple TV device is a parameter: you’ll have to pick an Apple TV found on your network from a list.
While the other actions control the Apple TV directly, ‘Show Remote Control’ simply loads the Apple TV remote UI for the selected TV on your iOS device.
In iOS 13.1, Shortcuts will gain an additional Apple TV action: ‘Open App on Apple TV’. As the name suggests, this action lets you open a specific app on your Apple TV – and not just built-in Apple apps, but all third-party apps and games that you may have installed on the selected Apple TV. This action will unlock fascinating possibilities for Apple TV automation: for instance, you’ll be able to create custom shortcuts that set your lights to a specific color, pause all your HomePods, wake the Apple TV, and open Netflix – and you can do it all with one tap from a widget, or by using a Siri phrase.
For now, Shortcuts’ Apple TV integration is limited to waking or sleeping an Apple TV and toggling its playback state. They are welcome enhancements, as I’ll detail in my shortcut examples later, but I believe more interesting automation use cases will become possible in iOS 13.1.
Set Appearance
As part of Shortcuts’ deeper integration with the Settings app in iOS 13, Apple added an action to set the device’s appearance to light or dark mode. There really isn’t much to explain: the mode is a parameter, and you can either enable light or dark mode, but you can’t toggle between them, which is a surprising omission.
I’m guessing that this action will be used to switch between appearance modes from a widget, or as a tool to communicate something to the user depending on the output of other actions. If you have a shortcut that runs every morning, you could have Shortcuts enable dark mode if the forecast for the day is rainy. Or if your todo list contains over 30 items for the day – whatever communicates a sense of dread and despair to you. Just an idea.
Home
Along with a magic variable to check on accessory characteristics in conditional blocks, Shortcuts’ integration with the Home app extends to two new actions to get the state of accessories and control them – both with the same UI and full set of controls available in the Home app.
When Apple relaunched Workflow as Shortcuts last year, the app’s HomeKit integration was limited to a ‘Run Home Scene’ action that let you manually pick one among your existing HomeKit scenes. In iOS 13, that custom implementation has been completely ripped out in favor of embedding parts of the Home app’s UI into Shortcuts as modal panels that look and behave exactly like in the Home app, for better or worse.
The ‘Get State of My Home’ action is the standalone version of the magic variable that can be embedded in conditional blocks. The action lets you pick an accessory from a Home window so you can select a characteristic to read as a parameter. The variable returned for accessory characteristics can be embedded in other actions, which opens up some intriguing possibilities for automation based on the state of accessories around the house.
With ‘Control My Home’, you essentially have a mini Home app embedded within Shortcuts that lets you assign state and characteristics to devices before running a shortcut. It’s like setting up a scene or automation in the Home app, only it’s done from the Shortcuts editor. With this action, it’s finally possible to create shortcuts that go beyond turning on scenes: you can fully control any of your HomeKit accessories, and you can even assign multiple accessories to the same action to change their state at once.
The “downside” of this approach is that, because accessories are controlled with a Home UI inside Shortcuts, you won’t be able to pass text variables to an accessory. I think that’s probably for the best: you wouldn’t want incorrect output from an action to perform something unexpected around the house.
I’ve been having fun creating custom shortcuts that let me change the color of my lights from a widget using a ‘Choose from Menu’ action, or which turn off the lights, pause music, and set my HomeKit security system to “armed” in one go. And because the Home actions are natively integrated with the HomeKit framework on iOS, they’ll work with remote access out of the box, so you’ll be able to control accessories and get their state via Shortcuts even when you’re away from home.
Podcasts
Apple built a native integration with the system’s Podcasts app to retrieve podcasts from the user’s library and play them, as well as search the Apple Podcasts catalog and subscribe to new shows. The new actions, available under Apps ⇾ Podcasts in the action library, are the following:
- Get Details of Podcast
- Get Episodes of Podcast
- Get Podcasts from Library
- Play Podcast
- Search Podcast
- Subscribe to Podcast
Modeled after existing integrations with other Apple apps – namely Reminders, Notes, and Music – these actions can natively access the contents of your Podcasts library in the background and have been designed from the ground up with support for parameters.
In the ‘Play Podcast’ and ‘Get Episodes of Podcast’ actions, the Podcast bit is a parameter represented by an empty blue field that you can tap to load a list of the podcasts you’re currently subscribed to as fetched from the Podcasts app directly by Shortcuts. You can start playing a podcast simply by picking a show as a parameter in the ‘Play Podcast’ action; if you go the traditional route and use actions to get a variable from the Podcasts app such as ‘Get Podcasts from Library’, you’ll be able to inspect the resulting magic variable and change its type, just like you can with other existing actions in Shortcuts for iOS 12.
Searching for and subscribing to podcasts have also been fun additions to Shortcuts: the entire iTunes database of shows can be queried from Shortcuts, and once you’ve found a show you want to listen to in the future, you can subscribe to it without ever opening the Podcasts app. Podcasts actions play particularly well with ‘Set Playback Destination’ and they’re well-suited for automated triggers: you could, for instance, start playing the latest episode of one of your favorite podcasts as soon as Bluetooth headphones are connected to your iPhone. I’m glad to see another Apple app such as Podcasts ship Shortcuts actions; next up – I’d like to search Podcasts transcripts.
Accessibility
Shortcuts in iOS 13 comes with over a dozen new actions to enable specific Accessibility settings. It’s an extensive list: you can open the Magnifier, activate options such as Reduce Transparency or AssistiveTouch, and even tweak the system’s text size choosing one among multiple available sizes. All actions support both ‘Turn On/Off’ and ‘Toggle’ behavior, too.
While iOS 13 makes it easier to reach the Accessibility screen as it’s now a top-level item in the Settings app, certain features still require too many taps to activate. With Shortcuts, key Accessibility settings – including the powerful new Voice Control – can now be activated with one tap from the app’s widget, and they can be combined with other actions for personalized automation. I use the AssistiveTouch action to quickly enable mouse support when my Logitech mouse connects to the iPad Pro. I recall Apple specifically calling out Workflow’s Accessibility potential when the app was acquired in 2017, so it’s good to see the story reach its logical conclusion with full Accessibility integration in Shortcuts.
Other Action Improvements
Here’s a list of smaller, yet appreciated changes to other actions in Shortcuts for iOS 13.
New ‘Location’ action. New in iOS 13, the ‘Location’ action has a parameter that opens a screen where you can choose to fetch the current location or search for an address in Apple Maps. The ‘Get Current Location’ action still exists, but I find this one more versatile thanks to its blend of current location and user-defined addresses.
Better Home screen shortcuts. Adding a shortcut to the Home screen no longer relies on the hack-y workaround that I reverse-engineered last year. You can now install a shortcut on the Home screen directly from the Shortcuts app as the feature is not based on Safari web clips anymore.
When you run a shortcut from the Home screen in iOS 13, it’ll open directly into the Shortcuts app, which runs the shortcut immediately without showing you a splash screen first (splash screens are typical of web apps installed on the Home screen).
Thanks to these improvements, running shortcuts from the Home screen is faster, more reliable, and more useful than it could ever be in Workflow and iOS 12’s Shortcuts app. I’ll have more to say about my Home screen shortcut setup, as well as a surprise I’ve been preparing this summer, soon. But not yet.
Choose from List. In iOS 13, if the ‘Choose from List’ action has to present over 7 items at once, it’ll use a new popover design (a sheet on iPhone) that comes with an integrated search bar. The same also applies to the ‘Choose from Menu’ action.
Get Article. The options supported by the ‘Get Article’ action haven’t changed, but its parsing is now powered by the Safari Reader engine (rather than the third-party Diffbot API) and runs on-device. In my experience, Safari Reader extraction has been faster and more accurate than Diffbot. Additionally, the ‘Get Article’ action now has a parameter for a URL to extract an article from – you won’t have to connect it to a ‘Safari Webpage’ item, and it’ll work inside the Shortcuts app for any link that points to a web article.
Authentication with SSH keys. In iOS 13.1, Shortcuts is gaining the ability to run script on servers using SSH keys for authentication rather than plain passwords. You can generate both RSA and ed25519 keys from within Shortcuts, which should help when connecting to servers that implement modern public-key authentication systems.
New ‘Send Email’ action. In iOS 13, the ‘Send Email’ action no longer requires authentication with an email provider but is instead a full extension of the Mail app. You can send a message with any of the accounts you’ve configured in the Mail app and assign parameters for body text, subject, and recipients.
What’s great about this action is that if you disable the ‘Show Compose Sheet’ toggle, messages will be sent via Apple’s Mail app in the background. Plus, you can decide whether you want to send a message immediately or save it as a draft in Mail instead.
As someone’s who’s recently gone back to Apple’s Mail app, I’m happy to see native integration with Shortcuts that doesn’t force me to log into all my email accounts again.
Support for Notes folders. Both the ‘Create Note’ and ‘Find Note’ actions now support creating or finding notes in specific folders. Alas, this is the only improvement for Notes actions in iOS 13, which are still limited to plain text and don’t support formatted text or attachments. I hope that’ll become possible before iOS 14.
Share shortcuts with shortcuts. In iOS 13.1, in addition to the standard share sheet method, you will be able to generate iCloud.com links for your shortcuts using the ‘Get Link to File’ action. This tweak is a welcome addition for all those who share shortcuts with others on a regular basis: now instead of interacting with the share sheet, you can combine the ‘Get My Shortcuts’ action with ‘Get Link to File’ to share shortcuts more quickly; you’ll only be asked to confirm sharing with an alert.
Moreover, the ‘Get Link to File’ action supports uploading multiple shortcuts at once, which makes it an ideal candidate for shortcuts that generate backups of your entire Shortcuts library. Considering that the ability to import shortcuts from files has been removed in iOS 13, it makes sense for Apple to extend the ways in which users can back up their shortcuts as iCloud URLs instead.
Playback actions. Shortcuts’ playback actions (Play, Skip Forward, Skip Backward) now let you control on which device to control playback using the same picker UI of ‘Set Playback Destination’. Also, the ‘Play’ action supports both play, pause, and a play/pause toggle mode.
Show Reminders lists. You can now open a specific Reminders list with the ‘Show Reminders List’ action. That’s it. That’s all it does.
Get All Alarms. Lastly, it is now possible to get a list of all the alarms you’ve already set up in the Clock app using the ‘Get All Alarms’ action. This is useful when combined with ‘Choose from List’ and ‘Toggle Alarm’ to pick one of your configured alarms and enable it for the next morning.