After creating a static blog generator in Workflow that also generates an RSS feed, I started toying with the idea of using Workflow to create a personal podcast feed that I can curate and add individual episodes to, in much the same way as Huffduffer.
The result of this is a workflow to create your own private Dropbox-hosted podcast feed and add links to individual podcast episodes you come across on the web, without needing to subscribe to each individual podcast, and it even works with DRM-free audiobooks.
To use this workflow, navigate to a podcast’s episode page (for example, a recent episode of Upgrade on Relay FM) and then run this as an action extension. The workflow will do its best to detect the title and description of the podcast, as well as the link to the audio file, all of which are displayed in an input dialog so they can be confirmed when running. If it can’t automatically detect any specific information, you can still enter it manually.
The workflow outputs two files to your Dropbox
Every time you add a podcast episode, it’s prepended to the
podcast-feed.txt file – this is the list of all the podcast episodes you’ve added which the workflow uses when creating the
workflow.rss feed each time.
The workflow only needs three pieces of information to add an episode or audio file:
- Link to audio file
If it can’t detect them automatically, the text input dialog will simply be blank for you to manually provide them.
Both of these files are placed in the Dropbox Public folder so that the direct public link to the RSS feed can be used when subscribing1. You can get this from the Dropbox web interface by selecting the
workflow.rss file and then “Copy Public Link”.
Add the direct link of the RSS feed to your podcast app of choice and any time you add an episode using this workflow, your podcast app will download it the next time the feed is refreshed2.
A couple of things to keep in mind when using this workflow:
- Every podcast website works differently and there’s no standard layout for providing a podcast episode link or its show notes. I’ve tested this workflow with a variety of different shows, both on podcast networks and individual offerings, and added some fallbacks for detecting the direct audio file link3.
- Similarly, show notes are tricky because of the way they are often formatted. Instead, this workflow will pull a short description of the episode and include a link to the episode page.
- It won’t be able to detect any information if you run it directly from within podcast apps if you try and share a show – this workflow only supports visiting a particular show’s episode page.
Further Usage (Private audiobook feed, anyone?)
Similarly, you could make some tweaks to this workflow and use it to create your own podcast RSS feed, directly on your iOS device. As a basic podcast workflow, you could:
- Record an episode in Voice Memos and then save the recording to Dropbox
- Add the recording as a podcast episode to a feed using this workflow
- Provide the RSS feed for people to subscribe to
Going beyond podcasts, you can use this to add any audio file you come across on the web. For simplicity, this workflow filters out anything that isn’t an MP3 or M4A file, and none of the episode detection is required. Each step requires confirming the text or filling in the blanks, so you could simply run this as a normal workflow and enter the title and description, along with a direct link to an audio file.
If you’ve got an audiobook in a DRM-free MP3 format, for example, you could host it on Dropbox and then add each file using this workflow. This is a great way to use Overcast‘s speed features with audiobooks.
The standard Dropbox link generated by Workflow or the Dropbox iOS app isn’t a direct link to the RSS feed and won’t work. There are ways to get the direct link from a Dropbox link by swapping out the
dl.dropboxusercontent.combut I couldn’t say for certain if the link would ever change as the file changes. The Dropbox Public folder, however, is much better suited for long-term direct linking. ↩
During testing, the Apple Podcasts app would pick up the feed changes instantly. Overcast takes a little longer, likely as it has a fixed schedule for checking feeds, so an episode might not appear the moment you add it, but it will do shortly. ↩
This workflow has three different methods it will try to detect an audio file, each with an increasing level of unreliability. Sometimes, it just isn’t possible but you can always copy the direct link and try again. ↩