I’ve put together an example from which I think you can build out your own more fully fledged solution - Yes … you will need to do some more leg work on this!
Here’s the example workflow - Podcast Track (No Keys). But do read on so that you understand what it is doing and what you need to set-up.
It takes an Overcast URL (as shared from the share sheet from the Overcast iOS app) or if you don’t pass it anything I’ve added in a couple of example URLs. You’ll need to share fro Overcast to Workflow and select the appropriate workflow.
Select to reveal screenshots of sharing from Overcast
The workflow takes the URL, fetches the Overcast web page, parses the underlying HTML and pulls out the podcast name and the episode name.
Whilst appending a time mark to the URL pulls the elapsed and remaining times into a browser for the player (ad then it’s just some text parsing and mathematics to combine them, the Get Contents of URL action in Workflow doesn’t support the player and so this never gets returned. If it had I could get the episode timing to the second. I know because I got a workflow doing the calculations and parsing before I actually noticed that the action failed to retrieve the data.
Instead, following the link to all episodes provides listings with to the minute accuracy on the timing. I therefore had to go with processing that.
You’ll see when the workflow runs that there’s a Quick Look where I show the individual items of data.
Select to reveal what the presented information looks like
I then pop-up a choice of what to do with the data.
Select to reveal the menu options
The first option is to Tweet it. I’ve created an example statement to Tweet incorporating the data items and passed that into a Tweet action. You would just need to select your preferred Twitter account. The basic premise would extend to any social media integration you care to use. You could also retrieve the podcast artwork and where a network client supports it you could include the appropriate image - though I noticed Overcast is set-up for Twitter cards so in that particular case the point may be moot.
For AirTable, you’ll need to set-up a workspace and table to store the data in. For this example I created a table called “Podcast”, and you’ll see that referenced in the URL. If you had a different table name you would need to amend that. I set the table to have four fields. TimeStamp, Podcast, Episode and Duration. For the sake of simplicity and expediency I set them all as text avoiding messing around with data types. If this was something for my own use and not just an example, I would absolutely be taking the time to work more with the data types. You can see these specified under the fields entry in the AirTable PUT action.
To use AirTable you’ll need to provide the ID for the workspace and your API key (which must be prefixed by "Bearer " for the authentication process). You’ll also need to have set-up your table.
Select to reveal what you must set for using AirTable
Once the POST action completed, assuming all of your details are correct, you should see your data appear in your table in AirTable.
Select to reveal data from the workflow as it appears in AirTable
I think that covers everything