Hey, I'm Marco and welcome to my newsletter!
As a software engineer, I created this newsletter to share my first-hand knowledge of the development world. Each topic we will explore will provide valuable insights, with the goal of inspiring and helping all of you on your journey.
In this episode I want to explain how I was able to create an email sequence system here on Substack, showing you the platform I would like to implement as SaaS.
You can get early access to the platform if you're interested. If you have any questions or feedback, feel free to reach out to me directly on LinkedIn or via email.
1) 💡 Introduction
I started writing this newsletter in December 2023, after starting Quickview, a newsletter that provides quick summaries of cryptocurrency videos. In each episode of Quickview, I include a paywall. This means everyone can read the summaries, but with a catch: the free subscription only allows you to watch 2 of the 6 summaries.
I explained here how I implemented it:
Every day, for over 3 months, I spent 10 minutes in the morning to send 4 categories of emails:
7 days after registration, free user: explaining the advantages in switching to paid subscription and introducing the referral mechanism.
10 days after registration: email to request feedback.
30 days after registration, free user: 20% discount on subscription.
60 days after registration, free user: 50% discount on subscription.
After looking around the platform and doing some online research, I found out that Substack doesn't have a built-in way to automate recurring emails. So, I thought to myself, why not figure out a way to automate this? And that's where the journey began.
1) Reverse engineering
As an experienced engineer who has spent many hours debugging, I decided to take a reverse engineering approach. I worked backwards from the desired result to understand how the platform communicates. After several attempts, I discovered that authentication occurs through a specific parameter. When this parameter is included, even in a call outside the platform, it allows for proper identification.
2) 🛠️ How it works
The integration is based on an account of mine that I use as a bot. This bot must be added by the owner to his newsletter and the owner must grant permissions to access newsletter subscribers.
The BOT's job is to mimic the manual steps of the user, but in an automated way. It can only do a few things:
Filter subscribers based on chosen criteria.
Create draft emails.
Publish draft emails.
Once the filters are set, the bot fetches all the subscribers who should receive the email, creates a draft email for the post, and then publishes it.
1) What workflows can be created?
There are no restrictions, you can use any filters available in Substack to customize the automation as you like. My suggestion is to first use the Substack interface to decide how you want things to work, and then implement it on the platform. We're currently working on this and will gradually start using it to gather feedback and validate it.
2) Testing the creation of the draft
The first feature we added was workflow testing. This means we test the process of getting subscribers and creating draft posts, but we don't actually send anything out yet. It lets users check if everything works properly before sending anything to subscribers and potentially making mistakes.
3) Configuring the body of the email
For the email content, we came up with a clever idea. Users can use a post draft they've already created as a template. The bot will fetch the title, subtitle, and body from that draft and use it to create the email that will be sent out.
4) When are workflows executed?
Currently, I have set up a process that runs active workflows every day at 09:00 UTC.
3) Case study: 🌀 Refactoring
Refactoring is a newsletter by Luca Rossi, it's got impressive numbers: over 60,000 subscribers, with over 1,000 of them having paid memberships.
Luca was one of the earliest users of the platform. I talked to him about my idea early on, and his feedback was really helpful. It helped me make sure the idea worked well, and I went ahead with making it happen.
1) Refactoring workflows
Before using the platform, Luca used to do several tasks manually every day. Now, he's smoothly integrated these tasks into the new platform, and he's even added some new ones. Here they are:
Invite your friends: Free, after 1 week
Join the community: Free, after 1 month
Name your fair price: Free, after 6 months
Join the Community: Paid, after 1 week
Check out the Library: Paid, after 1 month
Get 33% off Refactoring for teams: Paid, after 60 days
4)👨💻 Some pictures of the platform (🚧 developing)
Let me show you some of the pages I've created. My goal was to make something you can test, so I focused on functionality rather than making it look perfect (I'm not great at frontend stuff – I'm more of a backend person 😁).
I'll work on improving the design gradually to make it look better and more consistent.
1) Management for multiple newsletters
The platform is set up to handle multiple newsletters under one account. For example, in my case, I manage both Implementing and Quickview newsletters.
2) Workflows management
3) Workflow creation page
You can enter a name and description to help you recognize the workflow and understand what it does. The Custom draft title field is where you specify the name of the post draft that will be used as the starting point for the email.
4) Workflow detail page
On this page, you'll find all the details of the created workflow. It shows the selected filters, the name you gave it, the name of the draft post used as a base, and some buttons. These buttons let you turn the workflow on or off, delete it, or test the creation of the draft post for the email without actually sending it. This helps ensure that the subscribers are filtered correctly and that the email layout looks right.
As a convenience, you can add a prefix like [xxx] to the title of the draft used as the email body. This makes it easy to spot among other drafts and it won't be included in the email's title.
5) 🎥 Demo time
Let me walk you through how to create and test a workflow step by step. I'll demonstrate by creating a workflow that sends a daily email to people who have been signed up for 7 days with a free membership.
1) Filtering subscribers on Substack
As mentioned earlier, it's best to set up your filters on Substack first. Once you're happy with the results you get there, you can then go ahead and create them on the platform.
2) Creation of the basic workflow post draft
You need to choose the post draft that will be the starting point for your emails, you only need to do this once. You can edit the text in the draft whenever you want. From then on, the updated draft will be used automatically.
Make sure the title of the draft matches what you'll enter in the platform in the next section.
In my case, it's: [SEQ] Test email for newsletter episode.
3) Creation of workflow on the platform
Now, let's create the workflow on the platform. We're going to choose filters:
Subscription type: Free
Subscription date: 7 days ago
4) Testing of the workflow created
Now, let's test the workflow we created. This way, we can check if the filtering is working correctly and if we're happy with how the email looks, without actually sending it to the subscribers.
You can get early access to the platform if you're interested. If you have any questions or feedback, feel free to reach out to me directly on LinkedIn or via email.
And that’s it for today! If you are finding this newsletter valuable, consider doing any of these:
🍻 Read with your friends — Implementing lives thanks to word of mouth. Share the article with someone who would like it.
📣 Provide your feedback - We welcome your thoughts! Please share your opinions or suggestions for improving the newsletter, your input helps us adapt the content to your tastes.
I wish you a great day! ☀️
Marco
That Substack never built sequences natively is just mind boggling. Given that customer retention is the key for paid subscription revenue, it's really a sad oversight.
Hey, great idea!
How can we have access to the platform?