3 min read

Podcast Automation

Podcast Automation

Some of you know I help run the Hello Turing World Podcast where we interview Turing Alumni and Staff. Recently I've migrated my systems for managing the podcast from Notion to Google Sheets.

Google Sheets is better than Notion

Let's first start out with what Notion gets right. Notion makes it simple to create attractive writing on the web. In Google Docs you have to mess with font and spacing to achieve a Notion-esque style, Notion just does this all out of the box.

Podcast episode Notion template

Notion allows you to embed databases into your documents and create custom views of your data like the Guest Scheduling board below.

Blood sweat and tears

While this studio dashboard looks nice, it demands considerable effort. Every card on the board signifies a guest's journey in our podcast creation process, from prospect to episode launch. Each stage involves a mix of messages to send, events to plan, and audio to produce and edit.

A nice feature in Notion is the ability to create multiple views of the same data. But, the ergonomics of the tabular view are just not nearly as good as Google Sheets.

Janky Google Sheets

Unhappy with the manual tedium I found myself executing every week in Notion, I decided it was time to move to Google. I created a similar table to track the status of each podcast guest in a google Sheet.


The first thing I automated was generating a podcast episode outline from a Google Doc template. In a past life I worked on the team that produced Autocrat and even though the tool is ten years old, it still does exactly what I need. With Autocrat I can merge fields from a Google Sheet into a Google Doc template and email and share the resulting new Google Doc.

Is it as pretty as Notion? Not quite, but it's fine.

The next piece of work to automate was the process of scheduling episodes. In the past we had just used Slack to coordinate. I turned to GoodTime to take the pain out of this. Now I have a link that allows invited guests to pick a time, which will then generate a Google Calendar event for me.

The last work to automate were the various pieces of communication I manually sent in Slack. Since this is a Turing podcast, all guests and hosts have Turing Slack, where the majority of Turing communication takes place. I made the decision to move all communication to email because it does not require me to figure out a Slack integration.

To automate emails required an html email template for each type of email I wanted to send. In our case, we send an invitation to schedule, a confirmation, a 2 day reminder, a day of reminder, a link to the raw recording, a link to the edited recording along with episode details, and then a thank you. Each of these emails is automatically sent via Google App Script trigger.

The trigger invokes a set of custom scripts that reads data from the sheet, determines which email template should be used, merges data from the sheet into the email template, and then sends off the email. As a result, my job is to just keep the sheet up to date, whereas with Notion my job was to keep the page up to date and send out communications.

If you are interested in a more thorough breakdown of how I built the script and what they do, let me know!