Building a Monthly Digest Engine

Earlier this month I made two decisions about the newsletter that you may have noticed:

  1. I got rid of the “Quick Hits” section (which was mostly my own content) in favor of a 300-500 word section on some top of mind topic.
  2. I added a monthly digest of all the content I put out during the month, sent on the last weekday of the month,.

The two are related. I still want a way to let my newsletter subscribers know about the content I’ve put out, in-case they missed it. But it also serves 2 other purposes:

  1. It allows me to promote the month’s podcast episodes one more time.
  2. The sponsors get one more mention in the newsletter each month.

After putting it together manually, I knew there had to be a better way, so I built version one of a Monthly Digest Engine, designed to aggregate and format all of my links, which I can then add to ConvertKit.

Here’s how I built it.

Version 1 of the Monthly Digest Engine

I should mention that this is definitely a v1, or even a beta, because it’s not where I’d like it to be.

But as you’ve heard my say before, automation is iterative.

First I’ll tell you what it does, and then I’ll tell you what I want it to do.

Constraints

I should also mention that there are a couple of constraints — one can be overcome with a little more research. One appears to be insurmountable.

  1. You cannot pass HTML to a Google Doc when you append text. It’s very annoying.
  2. I want multiple sources supported, with sections for each content property.

The Google Docs Setup

First, I knew I wanted to capture content from several sources: my personal site, the podcast, and my podcasting articles and workflows. I also wanted to log interesting links.

Because there’s not an obvious way to create sections in a Google Doc, I decided for Version 1 to have discreet documents for each content property.

These all exist in a folder, but the folder which may come into play in the future.

It’s also worth nothing that I’ve added a blank unordered list to each document. You’ll see why in a second.

Building the Automations

That means on the automation side, I need a single scenario for each content source (mostly RSS feeds, but also Pocket for interesting links).

One of the things I miss in my move from Zaiper to Make is Zapier supports multiple RSS sources in a single Zap.

I feel like that could have been very useful here.

Nonetheless, I have a working solution for capturing the new content as they publish to the feeds.

Sending the Links and Titles to the Proper Google Doc

Once an RSS feed get a new item, the process across automations is basically the same:

I capture the feed into, send it to the appropriate document, and format the text as such:

[Title](URL)

I do this using the “Append paragraph” module.

The second frustrating thing about Make’s Google Docs integration (perhaps a limitation of Google’s API) is that you can’t send HTML or formatted text to the Doc using Append Paragraph.

However, both Google Docs and ConvertKit support Markdown. So I’m sending the text as Markdown.

Oh, and that unordered list? Append Paragraph adopts the style of the text immediately preceding it.

Then, at the end of the month, I collect the links from each doc and add them to a new Broadcast in ConvertKit.

Improvements

There are a few areas where I want to improve this.

The first is a new feature: I want to, at the end of each month, run a separate automation that combines all the documents into one, properly formatted piece of text that I can drop into ConvertKit.

There are a few ways I can achieve this, but I think a Document Template is the way to go.

Then I’d have to grab all the documents from the folder, and combine them into the template.

I could likely use a repeater/loop for this, but I’ll have to test.

Ideally, I’d use Make’s built-in Segments support to have just one document for all of the RSS feeds, and then I could place the links based on header. But I need to figure out how they work first, since I don’t natively get a list headings to search for.

The biggest issue for me is not being able to create formatted text, as it creates a separate, potentially breaking step in the process.

I think in a perfect works, I’d send the digest stuff directly to Craft, which gives me more flexibility. But until I get a Pushcuts server up and running again, that’s not an option.

Similar Posts

  • Favorites of 2022

    The end of the year is always a fun time for me to reflect on many things and look forward to what’s coming. 2022 is even more special because it’s the year I left web development to focus on podcasting full-time. As part of that, I like to review my favorite tech and media from…

  • WordCamp US, or Why I Love the WordPress Community

    Last week I attended the inaugural WordCamp US, where I spoke as well as attended the Community Summit. The Community Summit “is a smaller, work-focused event. Community leaders gather to discuss and work on issues that the WordPress community faces.” It was a great time, and between that, the actual WordCamp, and Contributor Day, I…

  • Are WordPress-Specific Platforms Viable Products?

    [audio src="https://episodes.castos.com/5f436edb798df2-94459192/are-wordpress-specific-platforms-viable-products-.m4a" /]

    Talk to any business owner worth their salt and they’ll likely tell you that you need to pick a niche. This can be a niche in a product, like ConvertKit. It could be a niche in a market, like serving single parents who work from home. But lately I’ve been wondering if a niche near and dear to my heart is a actually a good one, and that’s WordPress.

    Brought to you by GoDaddy Pro

  • | |

    My Thoughts on the Galaxy SIV

    Since the Samsung Galaxy SIV was announced, I was pretty much waiting on baited breath for its release for Verizon customers; I was so excited I went out and picked it up the day after it was released, the soonest I could (I had actually pre-ordered it on May 18th through Amazon, but due to…

  • |

    Google I/O Day 2

    Note: This article was published while I was in my early 20s. I was much younger and dumber. Please don’t hold it against me. One of the perils of having a 20+ year old website! This is a continuation post from Google I/O Day 1. With a fresh perspective after the Day 1 sessions, I…

  • Favorites of 2019

    Hey it’s my favorite time of year! With this post I’ve now been doing “Favorites” post for 5 years, which is neat. At this point I have a good process down and I’ve been keeping notes so as to not fall victim to recency bias. Huzzah! Let’s get to it.