Logging Podcasts, and time spent

Hi all,

I was going to put this in the ‘Challenge’ section, but no one has posted there yet, so I didn’t know if it was the best place for it.

I should caveat this before I start that this is being thrown out as an open ‘challenge’ or request of sorts. Personally I have no idea how to do what I’m going to ask you all, so again apologies if this isn’t how this should work but …

I spend a lot of time listening to podcasts at the moment. I’m trying to get into eBooks more, and I have a good backlog to listen to, but there are just so many good things to listen to out there.

That being said, I’d thought it would be fun / interesting (for my nerdy brain at least) to record what podcast I listen to each day, along with a ‘time spent’ (just the length of the show, not to be over complicated by working out if I skip or whatever) into something like AirTable. I could, of course, do this manually, but that would get laborious very quickly.

So, the challenge / request is: Do you think this is something that could be automated? An option to post to Twitter / Micro.blog / Mastodon with a ‘this week I listened to…’ or ‘today in podcasts…’ or something would be a gold star bonus.

What do you all say? Pushing my luck? I bet if someone can come up with this they’d get a LOT of love on the interwebs. Just saying! :slight_smile:

In pure automation terms, that’s going to be entirely dependent upon the podcast client you are using making that information accessible.

I’ve heard on some podcasts in the past that a few of the many of the more popular podcast clients on iOS for examplle specifically don’t capture stuff like that as it is exactly what marketers would love to get their hands on, and is an anti-privacy sort of thing.

But perhaps your podcast client does make that information available. What do you use and what platform(s) do you listen on - Android/iOS/Windows/Mac OS/*nix/etc.?

Assuming it doesn’t do that then it’s going to be a case of you manually logging the times and podcast. But there may be some ways to ease that with automation and the online posting is exactly the sort of thing automation could support.

Hi @sylumer,

Thanks for this. Apologies, you’re correct, I should have shared more detail. I currently listen exclusively on an iPad or iPhone, using Overcast.
Just to clarify, I’m not expecting the app or service to track anything about my usage, per sey. What I envisioned was to use the iOS share sheet to send the podcast name (and if possible to length of the show you’re listening to) to something like AirTable or even Numbers to record the name of the show, episode and listening time (again, just assuming you listen to it all, it doesn’t have to be truly accurate and take into account skipping or you finishing it early etc.).

Kind regards,

Andy

1 Like

Here’s my start: https://workflow.is/workflows/fc04994f9f5a4a17a6a75048358c1fbb

This will likely only work when sharing from Overcast, and maybe not always. It only gets the name of the podcast and the name of the episode so far (I can get the episode art too, without much trouble).

1 Like

Hi @RosemaryOrchard,

That’s awesome, thanks for sharing this! This looks like an awesome basis to expand upon with the album art etc. like you mentioned. I’ll download it and have a play ASAP.

Thanks again for taking a look!

Andy

1 Like

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 :wink:

3 Likes

Hi @sylumer,

Wow, that looks super impressive. Thanks for sharing, and again for giving such a detailed explanation! I plan on having a dig around with this tonight, to see if I can A) understand it and B) expand upon it as you’ve suggested.

Very exciting!

Andy