Categories
Shortcuts

7 Shortcuts for meetings and making new contacts

After a meeting with someone new yesterday, I realized there was a few places where I could have used the Shortcuts app to speed up the processes around our encounter.

Before the meeting, I was headed somewhere new and needed to figure out how to get there on time.

During the meeting, I was fumbling with my phone a bit, handing it to them to type in their contact information, and didn’t have an easy way to share mine either. Plus, I dealt with everything after the meeting too – writing down notes, sharing my info, and following up later.

From all this, I noticed a few repeating patterns, that could be automated using mostly default apps – the data I need already exists or can be entered on the fly.

So, I came up with a few jobs to be done:

  • Knowing when to leave to get to the meeting on time
  • Getting directions to the meeting when it’s time to leave
  • Sharing your “business card” contact information
  • Logging someone else’s contact information
  • Taking helpful meeting notes afterwards
  • Following up with them the same day (or later)
  • Scheduling that follow up if it’s not today
Categories
Links Shortcuts

A Pair of Shortcuts to Log Podcast Episodes in Airtable and Play One at Random in Overcast 🔗

Julia M. on her blog Rampant Procrastination:

1. Open the information tab in Overcast of a podcast you wish to log to Airtable.

2.Select the text of the information tab from the podcast title down, grabbing as much of the episode description as you would like to be included in the notes field in Airtable. Press copy to put this text on the clipboard.

3. This shortcut is used as a sharesheet extension, so press the share button and select Shortcuts, then run the shortcut to log the podcast.”

This post is a great write-up from Julia explaining a way she’s saving podcast episodes to Airtable, plus pulling from that database to play one again at random.

She has little technique for grabbing information from Overcast on the clipboard before sharing the episode, and wrote up how she’s extracting the information from once it’s in the shortcut before sending it through Airtable’s API.

Definitely subscribe to her new blog and give her a follow.

If you have a blog post about Shortcuts, always feel free to tweet me the link. I post some of them here and in my newsletter too.

Categories
Links Shortcuts

Six Colors: Simple sleep tracking with Shortcuts 🔗

Dan Moren, writing for Six Colors:

What I really wanted was for iOS to be a bit more intelligent. For example, it could realize that when I turn off my bedside light (which is a HomeKit-compatible Philips Hue bulb) I’m going to bed. And then, when I pick up my phone in the morning it could log that I’m awake, and store the resulting information in the Health app.

Alas, that functionality doesn’t exist. So I made it myself using a pair of Shortcuts.

While I was away at Disneyland, this great set of shortcuts snuck by me.

This is the exact approach I have so often – I think “why can’t my pocket computer do this?” and then Shortcuts lets me roll my own solution.

Read the link on Six Colors.

Categories
Shortcuts

How to create a deep link to file in iCloud Drive so you can directly access it later

If you’re looking to access one of your files by clicking on a URL instead of navigating through your Files app, you can copy a link to that file using the Share sheet on iOS.

Categories
Podcasts Shortcuts Video

How to jump between the audio and video of Supercomputer

For episode 19 of Supercomputer, instead of hitting the “call” button to record, we pressed “video chat” and proceed to produce our podcast. I edited out some moments, added chapter markers for the audio file, and uploaded the video to YouTube.

This last week, for episode 20, I also added visual chapters, actually used Alex’s correct audio file, and shared our second video recording to YouTube.

But podcasts are for audio, right?

Categories
Shortcuts

Lightroom adds native Import action to Shortcuts app, first of its kind 🔗

Yours truly, writing for iMore:

For users who’ve updated to the latest version of Adobe Lightroom for iOS, there is a special surprise waiting – a new dedicated Lightroom action for the Shortcuts app, Apple’s newest automation tool for building custom Siri Shortcuts.

This enables users to batch import photos to Lightroom, apply the built-in Presets, and otherwise act on your photos in the process of custom shortcuts in the Shortcuts app, opening up mobile photography to deeper automation potential.

Lightroom is the first native action from a third-party app added to Shortcuts since the days of Workflow, so hopefully this is a sign of more actions to come.

Some things to note:

  1. RAW support is RAW-only, otherwise the RAW+JPG gets imported as a JPG
  2. The action passes content through as output, so you can put Delete Photos right after and they’ll be removed from Photos too
  3. Applying the Presets only takes advantage of the defaults, but hopefully this will change one day.

I’m super excited, because this was a big sticking point in The Verge’s review, and it’s hopefully the first of many Shortcuts actions.

Head over to my friend Shawn Blanc’s site for a good example shortcut – he selects photos and uses the Shortcuts action extension to add them, but what he doesn’t mention is this works great with drag & drop on iPad too.

See the full linked post.

Categories
Shortcuts

Using Shortcuts to open into Twitter Lists

One of my long-favorite shortcuts that I use all the time is the one that I’ve built to open the Twitter app and into my lists that I’ve curated over the years.

When I run the shortcut, I can choose from the titles of my lists, and then Shortcuts builds the deep link into Twitter, then opens into that List for me.

A few months ago I was on Automators and talked through the step-by-step process of how the shortcut works.

Soon after though, I realize that I was having trouble once I opened the list – Twitter was displaying in the earth that “tweets could not be loaded.”

This was seemingly a bug on their end, but after some help from an Internet friend who works at Twitter we were able to diagnose that the deep links were in fact case sensitive. Opening a link with a capitalized name of my List would take me to the lists area but not display tweets, but once the title was all lowercase it would work.

Turns outTM, it was me making the error all along – adding one Change Case action set to Lowercase fixed it, and now my Open Twitter Lists shortcut works as designed again.

If you want to hear the whole breakdown I suggest you listen to the episode of Automators and also subscribe to their show – I’m a big fan.

I also recommend creating lists if you’re coming to the Twitter app from Tweetbot and want to capture some of the same experience for keeping up with a small group of people. Lists have always been my secret weapon for Twitter and, until recently, were buried deep with in the app.

Now, with my shortcut in the widget, it’s easy to jump right into a series of smaller, curated timelines and not as easily get distracted by the rest of Twitter.

Here’s to hoping this helps me get in and out, still get some enjoyment out of Twitter, while also finally reducing the stats in Screen Time.

Add the shortcut here, and go into the Notification Center and to the left to add the Shortcuts widget in your Today View – that way you can run the shortcut without ever opening the Shortcuts app.

Categories
Podcasts Shortcuts

Automating blog posts for my podcast Supercomputer

If you were a visitor to my site in November, you might’ve noticed a lack of posts on the blog. While I’ve been producing videos and podcasts the whole time, I had a mental block on creating the short posts here on my website for each and just didn’t bother to write them up.

As we’re approaching the end of the year, I decided to get my act together and automate more of blog posts for my work, starting with podcast episodes.

That way I’d have no excuse not to do them, I could spread the news for my podcast more easily, and along the way put together a handy shortcut that I repurpose for my YouTube videos, articles on other sites, and eventually embedded shortcuts here on my blog.

To accomplish this, I built a Post Podcast shortcut that I can run each Friday when we release a new episode of Supercomputer.

When I was finished, my shortcut was made up of four component parts:

  1. Getting the RSS feed of my podcast from iTunes and choosing the episode,
  2. Turning the title into a slug,
  3. Extracting the information for a Post To WordPress action, and finally…
  4. Manually grabbing the embed code for the actual episode itself so people can listen online if they want

Normally, this entire process would require a dedicated CMS—like the service Transistor we use to host our site—plus some fancy back-end scripts so everything can happen in the background.

Since I don’t have that, and am just one man, I wanted to make the entire process as easy as humanly possible so I didn’t avoid it again in the future.

Here’s what I came up with.

Getting the podcast feed from iTunes

I’m going to take zero credit for this portion and give it all to Matt Sayward, who heard my request for such a feature and sent me the following shortcut that extracts the original RSS feed for an iTunes-hosted podcast.

I was originally hoping it’d be possible to grab direct iTunes links to the episodes that’d open in the Podcast app itself, but that doesn’t seem possible at all with the iTunes API currently.1

But what this part of shortcut DOES get me is the original RSS feed for my show, which comes from Transistor, right from the iTunes show link.

Once I’ve pasted in a link, the Match Text action uses what’s called a regular expression is isolate just the right portions of the URL2, then Get Group from Matched Text grabs just the unique iTunes ID at the end of the link.

From there, the following URL action builds an iTunes lookup link with that ID and passes the URL into Get Contents of URL to grab the information from the web. The resulting information returns as text marked up in JSON dictionary formatting, which enables the next two Get Dictionary Value actions to look into the “results” data and gets just the “feedUrl”.3

Because RSS is a fantastic open standard that’s also used for normal articles, the Get Item From RSS action and Shortcuts functionality to get Articles from web pages are able to both work with the data coming from my show feed.

Grabbing these RSS items as Article media, I can extract Title, Date, Excerpt, Link, and more from each.

After that, adding in Choose From List lets me pick from the RSS items for just the right episode.

Later throughout the shortcut, the magic variable for that Chosen Item is re-used again multiple times – to format the body of my blog post, fill out the data for WordPress, and also build a unique slug.

Note: I skip the slug part for now, and come back to it later.

Formatting my blog post

Once I’ve gotten the individual chose item from the RSS feed, I wanted to extract all of the component parts to build up my blog post to near-completeness, requiring me to only fill in some extra commentary (and later the embed code for the episode).

To enable the ability to input the commentary live while the shortcut is in progress, I added Ask For Input with a prompt “What commentary do you want to add?”. That way, when the shortcut is run, I can add some thoughts on the fly4

Once I type in my commentary, that is used in the body of the subsequent Text action by placing the Ask For Input variable in the text field. 5.

In that Text action, I’ve added a boilerplate line introducing the new episode, following by an offset quote. That quote uses the Chosen Item set to Excerpt, which pulls the description already provided for the episode so I don’t have to rewrite it.

Under that my commentary text is placed, and then I leave a few lines blank for when I later want to paste in my embed code.

Then, under all of that, I’ve added standalone links for all the different ways you can listen to my show – on the web, in iTunes, in Overcast, on Spotify, and in apps like Castro and Pocket Casts. Like I mentioned before these are all direct links to the show itself instead of the individual episode – I couldn’t figure out how to get episode links since iTunes, Castro, and Pocket Casts all use unique ID strings in their URLs for each episode instead of the encoded title or iTunes overall show ID.

Still, that’s good enough – I want new subscribers to follow the show, and for everyone else this post is a reminder to check their podcast player.

Since this is all written in plain text, I then use the Make Rich Text From Markdown action to convert the marked-up text into actual inline links that WordPress can read properly.6

Magic Variables for Post to WordPress

Within the Post to WordPress action, I used Magic Variables repeatedly to set up the Title, Excerpt, and Publish date.

For the Title of the post, I use the Chosen Item from the RSS feed and, after tapping on the variable again, see that the Type is Article and there’s available details for articles7. Out of the options, I chose Title, which extracts the title of the article found from the chosen RSS item.

After that I appended a microphone emoji, part of what I’m using to signify podcast posts (vs a video camera for my YouTube video and a link emoji for linked posts).

The Type for Post to WordPress is Post, because I’m not creating a new page, uploading media, or adding a project – all of which have different parameters than the Post type.

For Format, I chose Standard – I’m not sure if its more “proper” for websites to share these as link posts, so I’m open to feedback.

My category is the Podcasts group here on my site, so every new podcast blog post I add will automatically be grouped there – for my future video shortcuts, I’ll change this, and if you want to pick the category, use a List and Choose from List elsewhere and fill the Chosen Item for that in here.

With Tags I’m just hard-coding “Supercomputer” and “podcast” in there, since I want more association when people are searching for the show and to be able to filter by all of my podcast posts down the line.

The Excerpt is also filled out with the “Excerpt” from the RSS feed item, which for podcasts is the short description provided for each episode. This way, the theme for my site will also show the description on the home page, with the post looking similar to the episode in the podcast feed (displaying a title + description).

Publish Date is also filled out using the Chosen Item magic variable, and in this case I don’t need to format the date any further because it fits with the WordPress style by default.

Building a new slug from the article URL

Under the advanced section, I’ve also added a Slug so that my URL is automatically set with supercomputer prepended to the front of the title.

The rest of the slug is filled out by a series of actions that I set up closer to the top just after Choose From List – I added these after I realized I’d need a custom slug, but since actions need to be arranged in order of the Shortcut operation I had to add it above Post to WordPress.

To get the original article link, I use Get Details of Diffbot Article right after Choose From List to pull out just the URL – that way the link is isolated and I can act on it in the next step.

After getting the URL, I then use Split Text to separate the inputted link by a custom separator. The part is aimed at isolating the end of our Transistor website links – they all append the show’s title in URL-encoded text, so if I can grab that I already have the title ready for another slug.

In this case, I’m splitting the text by the forward slash found throughout the URL, so that I can split the incoming website link into the individual sections of that link.

After splitting at the forward slash, I then wanted to get just the correct item – Split Text passes out a list of items, and at this point I needed to figure out which once I wanted.

To accomplish this, I had to figure out the index of the item in the list so that I could program to grab the title whether it was first, second, third, and so on.8

Since I didn’t want to count them manually or try to associate its place in the list with the current index, I instead turned to quick debugging technique – I added the Split Text magic variable to a Show Alert action to preview it inline before continuing.

When I did this, I saw that the correct URL-encoded title was the fifth line, so I’d need to use the Get Item From List action, get the “Item At Index”, and then enter 5 for the index.

While the reason for this section is custom to our podcast provider, the technique for getting items from indexes is still universally applicable across many shortcuts.9

The output of that Item from List is then used in the Slug field of the Post to WordPress action, along with another dash so everything is readable by computers as a proper URL.

Entering the embed code

Once the shortcut reaches this point in the action steps, my new blog post gets sent up to WordPress as a Draft post, and then as Output the Post to WordPress action returns the new URL. This is automatically saved as a variable, so that we can return to the new post in just a moment.

Before I open up the post to edit it, I want to grab the embed code from Transistor, which that enables people to play the podcast right from a website – that way my blog posts are more interactive than just a link out.

However, that embed code isn’t associated with the direct episode link on supercomputer.fm – instead, Transistor uses a custom Share URL with its own unique ID that I’m not able to generate on my own.

At this point, I was slightly stumped – that embed is an important part of what I wanted my posts to be. Since I couldn’t automate it entirely, I instead built in a quick route for me to manually grab the embed code and go back to the post on WordPress.

I realized that each of our Edit pages on Transistor’s back-end link out to those unique Share pages, so I added a URL action and Open URLs following it so I could jump into that page.

Then from there, I could tap the Share link to open the unique sharing page for every podcast episode hosted on Transistor, and from there grab the Embed Code by copying it to my clipboard, and then come back.

The URL I’ve built to open into the edit page uses the same variable from Item From List (which contains a URL-encoded version of the title of episode), and opens the final link into the Edit backend page.

After Open URLs, I’ve added Wait to Return, which enables Shortcuts to continue waiting in the background until I return the app to the foreground, after which it will continue on and run the rest of the shortcut.

Once I come back with the embed code copied to my clipboard, I then use another URL and Open URLs action to open back into the newly drafted blog post.10

Shortcuts will open into the new post, and I can paste in my embed code directly.

I’ll usually Preview it at this point just to make sure everything’s all good, but then I can post the nicely-formatted piece for my new podcast episode right away.

Preventing overwork from a thousand cuts

While explaining this shortcut takes 2,000 words, publishing these posts now takes me about 2 minutes – I can pick from the recent episodes, add commentary, the post uploads, I grab the embed link, paste it, and publish.

Instead of seeking out all of this information, typing it up, remembering my style guide, and doing this all from the small screen of my phone, I can just ask Siri to kick it off once I’ve published a new episode and I have my blog post up almost instantly.

In my opinion, this is much preferable to the month-long lag time I had for the Supercomputer posts that went out for our November episode.

Plus, I entirely removed a section of this shortcut from this write-up – I also take all of the same information and automatically log it into my Airtable database of published articles, making an API call seamlessly in the background11. (But that’s beyond the scope of this already long post).

For me, this is just one of thousands of little widgets with deep capabilities I’m able to create with Shortcuts – I now have the ability to automate important parts of my work, all from the phone in my pocket or tablet in my hands.

Get the shortcut, and see the full screenshot.1

Plus, while you’re here, subscribe to Supercomputer.


  1. In reality, sending people to the podcast page via link is likely aimed at new subscribers, so I want those people to go to the whole show itself anyway and add the show so they get all future episodes. Individual episodes are already downloaded in current subscribers’ podcast app of choice, so they’re probably not clicking these links anyway. 
  2. Look up regular expressions on Google or get a book if you’re interested in more – it’s a dense topic, but extremely valuable
  3. Web request and acting on JSON data using Get Dictionary Value actions are beyond the scope of this piece – worth looking into here within the Shortcuts User Guide for starters. 
  4. This language could be even more guiding by adding in “Chosen Item > Title” so I could see the episode title in context as I’m trying to leave commentary, but while building it I realized that’s only relevant for past episodes and each week when I run this I doubt I’ll lose my place. 
  5. I renamed it to “Commentary” using the Rename button that appears when you tap on an already-placed variable, just above what’s normally the keyboard area – see here for more. 
  6. Previously I had retrieved my whole embed URL at this point and pasted it in before uploading, but for some reason the code block messed up when being converted to Markdown and my app links weren’t getting passed to WordPress. Since this wasn’t working, I changed the order of operations and just get the embed code at the end – good enough. 
  7. Check out the Shortcuts User Guide section on variables for more – if you’re reading this all and you’re confused, it’s okay, it’s pretty confusing at first. 
  8. If you’re new to Shortcuts or programming, the “Index” is the position in a list of items – first, fourth, twelfth, etc. In Shortcuts, Lists are one-indexed, so the first item is at index 1, the second is at index 2, etc. 
  9. If the slug of RSS items from your provider doesn’t include a URL-encoded version of the title – make your own with a few actions! Get just the Title of the article, then Change Case to make it all lowercase, then Replace Text to switch any spaces with dashes. 
  10. Here the URL is also constructed using the same Slug structure from above, so I open directly into the new post instead of the default link. Post to WordPress returns something like https://www.matthewcassinelli.com/?p=781&preview=true, which is not the canonical URL – I ran into issues when I then wanted to share from that page. 
  11. The linked screenshot also includes another Show Alert that I used to check to make sure the API data was added successfully. 
  12. My Airtable API key isn’t included, but inside you can see the dictionary of data I’m sending along with screenshots of the Airtable API fields and example response from the corresponding section built custom for my table. Read this documentation from Apple on using APIs with Shortcuts – it uses the same Dark Sky example I wrote in the original Workflow documentation. 
Categories
Shortcuts Video

Look ahead at your day with “Agenda” 📹

Today I released my fifth YouTube video, focusing on building an agenda for the day and walking people through the process of building it.

This is a full-Siri shortcut, meaning it’ll work on iPhone, iPad, Apple Watch, AirPods, HomePod, and CarPlay, with Siri speaking out the results to you:

It includes overdue and upcoming reminders, today’s calendar events, and contacts who have a birthday today – so many people say they only use Facebook for birthdays, so this could help you break that habit too.

In the video I demonstrate the use of Repeat With Each, Magic Variables, and Count/If actions to do some logic where I didn’t get quite the results I wanted.

As usual I’d love any feedback on the video – it’s slightly long, but there’s lots of good material to absorb. There was some fuzziness with my audio too, but I managed to get it listenable enough.

On to the next video – seems like Shortcuts 2.1 will be dropping alongside iOS 12.1 tomorrow!

Categories
Links Shortcuts

Apple Shortcuts: The Bicycle for the Mind is Back, but it’s Electric 🔗

Stu Maschowitz of Prolost has put a fantastic piece out on the Shortcuts app:

“To me, whether Jobs intended it this way or not, the “bicycle for the mind” is the tool that empowers you to repurpose it for your specific needs, not just to consume things with it, or use it in the same way as everyone else.”

Later in the piece (emphasis mine):

“Job’s bicycle analogy was all about efficiency of locomotion. Without a bicycle, we’re highly inefficient animals at just getting around, but we can build tools, like bicycles, which put us at the top of the list.

But I also take from it that riding a bicycle is good for you. It makes you stronger. Buying a tool and using it is like driving a car — you’ll get to your destination, and efficiently, but you’ve done nothing to better yourself. Every day that car will take you exactly the same distance.

But each day you ride a bicycle, your legs get stronger. You get where you’re going, sure, but maybe more importantly, the more you ride, the farther you can go.

This is the way I look at the Jobs bicycle analogy: When you build your own tools, you make your mind stronger, and able to go farther the next day.

As I use Shortcuts more and more, I feel myself somewhere between driving a car made of apps built by other people and riding a bicycle of my own creation. I’m creating genuinely useful tools, and I’m pushing myself farther each day I ride[…]”

Stu’s piece is one of the best I’ve seen about the current state of Shortcuts, what it means to learn and use them regularly, and he also provides some really handy examples.

I highly suggest everyone train their Shortcuts muscles today, because you never know how it’ll help you out tomorrow being that much stronger at it.

Definitely check out the full piece (16 minutes) and get the shortcuts from his site too.