Automation April: Creating Show Notes from GoodLinks
This month is the second annual Automation April, a celebration of automation on Apple platforms hosted by the team at MacStories. It’s a time for the community to share ideas and learn together as we try to make our devices work for us. And it’s a lot of fun.
I like to tinker with Shortcuts year-round. I’ve created several that have made my devices more personal and certain tasks much simpler in my daily workflows. But recently, I’ve been working on something that I thought might be beneficial to other people as well, and so I decided to share it as a part of this special month-long event.
My shortcut is called Show Notes from GoodLinks, and it’s meant to help podcasters, YouTubers, and other creators generate show notes automatically from content they’ve saved in GoodLinks. I’ve been using it for the past couple of months to quickly make episode notes for my podcast Magic Rays of Light, and it’s been really helpful.
How It Works
At a high level, Show Notes from GoodLinks pulls links from tags you select in GoodLinks, combines them with introductory and closing text that you provide, and saves the formatted show notes in the Notes app. It’s pretty simple when you break it down.
It all starts with a list of the tags you’d like to pull from. You enter these tags when you first install Show Notes from GoodLinks, and the list can be edited anytime at the top of the shortcut. You can list as many tags as you like. I have eight tags in my list, and they correspond to the segments on my podcast. Some might just have a single podcast tag in GoodLinks that they’d like to pull from, and that works, too.
Once you’ve got your list of tags set, the shortcut checks to see where you’d like your show notes to be saved to. You can point the shortcut to an existing note, enter the name of a new note you’d like to create, or leave the note name blank and let the shortcut automatically generate a note for you. I have a persistent note called Show Notes that is updated every time I run the shortcut, but you can create a new note each time you run the shortcut if you prefer.
Next is the introductory text. Many podcasts and channels have a fixed bit of information that they like to include at the beginning of show notes, and that can be entered here. If you’d prefer to enter custom introductory text each time you run the shortcut, you can change this text variable to Ask Each Time. Either way, the shortcut adds your introductory text to the top of the show note.
After the introductory text comes the main section: links. Using nested repeat loops, the shortcut will loop through each tag in your list and add every link in that tag to the show notes. It’s a lot of fun to watch your note magically fill with all the links you’ve been saving! At the end, you have a nice, clean list of all of your links.
Then the shortcut will optionally add closing text to the show notes. Like the introductory text, this can be the same every time you run the shortcut, or you can set it to Ask Each Time.
Finally, the shortcut will open your show notes so you can see them in all their glory.
That’s how Show Notes from GoodLinks works. It’s not too complicated, but it saves a lot of copying, pasting, and formatting that usually goes into making show notes. Since I’ve started using it, I’ve been able to store all of my links nicely in GoodLinks and quickly extract them when the time comes.
Side Note: The Problem with Tags
This shortcut does highlight one issue with using tags as a primary organizational structure: Tags disappear when they have no content.
In this use case, that presents a problem because Show Notes from GoodLinks looks for the same tags each time it runs, but users will likely clear out their links from the app once their show notes have been created. Especially for shows that publish on a regular schedule, show notes are constantly being cleared out and started from scratch to keep the content fresh and relevant.
So if empty tags in GoodLinks disappear and the nature of show notes requires that links be deleted regularly, how does one ensure that the correct tags are available in GoodLinks each time the shortcut is run? This was an issue I had to work through when I first tried using GoodLinks for this purpose.
Here’s the solution I came up with: I added a random link to GoodLinks and tagged it with each of my tags, marked it as read, and then adjusted a couple of settings in GoodLinks to make it disappear. By choosing Hide Read Links in each tag view and changing the setting Badges > Links & Tags to unread only, I was able to hide this junk link and make my tags appear empty. But since they technically have a hidden link in them, the tags no longer disappear, even when they appear to have zero links. (I also changed the Mark As Read setting to Manual to make sure the links I want in my show notes don’t accidentally get marked as read and hidden.)
This solution also requires one adjustment to Show Notes from GoodLinks. The Get Links action has a parameter called Include Read Links that is on by default. If you use my solution to create empty tags in GoodLinks, you’ll want to toggle this parameter to off. Otherwise, the hidden junk link will be exported each time the shortcut is run.
Of course, the other option would be to manually recreate your tags each time they get cleared out, but that leaves a lot of room for error. It’s unfortunate that GoodLinks relies only on tags to organize links rather than allowing users to create custom, permanent folders. But that’s an option the developer is considering, so I hope it changes soon and I no longer have to rely on my workaround.
In the meantime, it works well. Now that it’s set up, I don’t even notice it anymore, but it is something to keep in mind when using this shortcut.
Next Steps
I created Show Notes from GoodLinks with the hope of making it useful to as many people as possible. In its current form, I think it’s something a lot of people could benefit from. One thing I love about it, though, is that it can also be adapted to fit other peoples’ specific use cases as well.
One extension I’ve added to my own version of the shortcut is link prefixes. For certain segments of my podcast, I want links to have a word or phrase in front of them. If Sigmund and I are discussing a trailer on the podcast, I want to the word “Trailer:” to appear in front of the link in our show notes. I accomplished this by storing my GoodLinks tags in a dictionary rather than a list with the tags as keys and the prefixes as values. Then when I add those links to my show note, I can automatically put the prefix in front of them.
This shortcut can also be used with link-saving apps other than GoodLinks. I originally built it to work with Anh Do’s upcoming app Interlink before switching to GoodLinks. By changing one action (the Get Links action), the shortcut can pull links from Interlink when it’s released. I’ve also tried subbing in an action from Anybox in place of GoodLinks and believe it can work with a bit of finessing, though I ended up deciding not to pursue it myself. I’m hopeful the shortcut will be compatible with other apps in the future as well.
Another way I’ve customized the shortcut to fit my use case is by adding a Delete Links action at the end to remove all unread links from GoodLinks. This wasn’t something I was comfortable including in the public version of the shortcut because I didn’t want anyone to accidentally lose any data, but it’s saved me from having to go in and manually clear out GoodLinks every week. Just another example of getting my devices to do the work for me!
I’m sure there are many other ways Show Notes from GoodLinks can be customized to fit the needs of others. I’m always open to ideas, and if you end up giving the shortcut a try and putting on your own spin on it, I’d love to hear about it.
This is the first shortcut I’ve ever made that I felt like truly had a use case outside of my own personal workflow, and I’m happy to be sharing it. If you’d like, you can download Show Notes from GoodLinks and try it yourself. It’s saved me a ton of time and effort lately, and I hope it can do the same for someone else.
Thanks for reading, and happy Automation April!