How to Automate Importing Substack Subscribers into Kit through Gmail
It's a workaround. It's a hack. It's super annoying, but it does work.
Hi,
Substack doesn’t have an API, making it one of the most frustrating platforms on the internet. Seriously, you can’t even use Zapier, which I have honestly never seen before. However, there is a workaround, in case you, like me, want to actually run a business through Substack, and needs things like welcome sequences, segmentation, and/or tagging.
I personally use Kit and Gmail, so that’s what I’m sharing with you. This same process can be used from most other email programs. Please, don’t ask me how to do this through other systems. Just…extrapolate from known data.
So, you have a Substack newsletter and want to manage subscribers in (Convert)Kit—but you’ve likely discovered that Substack doesn’t offer an API to make life easy. Fear not! We can still link everything together using Gmail (where you receive subscriber notifications), Zapier (to parse and forward those details), and of course, Kit itself (to handle all your email automations and tagging).
In this article, you’ll learn how to set up a system that neatly captures new free subscribers, new paid subscribers, and unsubscribes, then tags them properly in Kit so you can stop or start the right email sequences at exactly the right time.
1. Understanding the Different Substack Notifications
Substack conveniently emails you any time a key event happens, like when someone signs up as a free subscriber, becomes a paid subscriber, or unsubscribes. Here are the main notifications you can expect to see in your inbox:
New Free Subscriber
Subject line: “New free subscriber to [Your Publication]!”
What It Means: Someone just signed up to receive your free Substack content.
Kit Action: Tag them as “Free” (or add them to your free subscriber form).
New Paid Subscriber
Subject line: “New paid subscriber to [Your Publication]!”
What It Means: A free subscriber has upgraded or a new person joined as a paying member.
Kit Action: Tag them as “Paid,” remove them from the free sequence (if needed), and send any premium-welcome emails you’ve created.
Email Disabled
Subject line: “Email disabled for [Your Publication]”
What It Means: A free subscriber turned off email updates for your newsletter, so they’re not getting your Substack sends anymore.
Kit Action: Either unsubscribe them in Kit or tag them in a way that excludes them from future sends.
Unsubscription
Subject line: “Unsubscription for [Your Publication]”
What It Means: The subscriber canceled or unsubscribed. The body of the email tells you if they were previously free or paid, and sometimes includes “Reason: requested by user” or “Reason: billing failed.”
Kit Action: If they were paid and now unsubscribed, remove the “Paid” tag and stop sending premium content. If they were free, remove them from the free list. You might also want to unsubscribe them entirely in Kit.
Billing Fail
Subject line: Often still “Unsubscription for [Your Publication],” but the email body says “Reason: billing failed.”
What It Means: A paid subscriber lost access because their payment didn’t go through.
Kit Action: Tag them “Billing Fail,” remove the “Paid” tag, and optionally send a reactivation sequence asking them to update their payment info.
Each one of these events needs a different response on Kit’s side—like tagging someone as “Paid,” removing them from your “Free” workflow, or unsubscribing them entirely.
2. Setting Up Gmail Filters to Catch Each Event
Because Substack sends all these notifications from the same address (no-reply@substack.com), the quickest way to categorize them is by their subject lines. In Gmail, create filters for each type:
New Free Subscriber
Filter by “From:
no-reply@substack.com
” and “Subject contains:New free subscriber
.” If you have multiple publications you will need to add each publication to this automation.Apply a label, like
Substack - Free
.
New Paid Subscriber
Filter by “From:
no-reply@substack.com
” and “Subject contains:New paid subscriber
.”Apply a label, such as
Substack - Paid
.
Email Disabled (which is Substack for unsubscribed)
Filter by “From:
no-reply@substack.com
” and “Subject contains:Email disabled
.”Label:
Substack - Disabled
.
Unsubscription (which is Substack for stopped paid membership)
Filter by “From:
no-reply@substack.com
” and “Subject contains:Unsubscription for
.”Label:
Substack - Unsub
.
Billing Fail
If you prefer a separate label, look for “Unsubscription” plus the body containing “Reason: billing failed.”
Label:
Substack - Billing Fail
Or just funnel these “Unsubscription” emails into one label and let Zapier do the sorting based on the reason.
If you’d rather not create four labels, you can do a single label for all Substack notifications. However, separate labels let you keep things neat in Gmail and make your Zapier set-up simpler.
3. Building Zaps in Zapier to Update Kit
Once Gmail has labeled these emails, you can create a Zap for each label that:
Triggers whenever a new labeled email hits your inbox.
Extracts the subscriber’s email address from the body or subject.
Updates that subscriber’s status in Kit.
Let’s look at the Zap structure in a bit more detail:
3.1 Trigger: “New Labeled Email” in Gmail
Inside Zapier:
Choose Gmail as your trigger app.
Pick “New Labeled Email” as the event.
Select the Gmail account receiving Substack notifications.
Specify the label (e.g.,
Substack - Free
).Test and make sure Zapier sees a recent sample that matches your filter.
3.2 Parse the Subscriber Email (If Needed)
Substack’s email body typically includes the subscriber’s email. If Zapier can’t find it automatically, use Formatter by Zapier:
Insert a new Formatter step.
Select “Text” → “Extract Email Address.”
Map the Gmail “Body Plain” to the Input field.
Test and confirm you get the correct email address in the output.
3.3 Updating Kit
If your Zapier plan includes Kit (formerly ConvertKit) actions:
Add a Kit step—like “Add Subscriber to a Form,” “Tag Subscriber,” or “Unsubscribe Subscriber.”
Map the extracted email to the “Email” field.
Assign the right tag or form. For instance:
New Free Subscriber → Tag “Free.”
New Paid Subscriber → Tag “Paid.”
Email Disabled or Unsubscription → Possibly remove them from all sequences, or “Unsubscribe Subscriber.”
Billing Fail → Remove “Paid” and add “Billing Fail” so you can follow up.
If Kit’s direct integration isn’t available to you, there’s a workaround: sending an email (via “Gmail” or “Email by Zapier”) to a special import mailbox in Kit. But most folks will find the direct “Add Subscriber” or “Tag Subscriber” action simpler and faster.
4. Automating Sequences in Kit
Now that you’re tagging these subscribers in Kit based on their Substack status, it’s time to put those tags to work:
Free Subscriber Onboarding
When someone gets tagged as “Free,” start a friendly welcome sequence or add them to a free newsletter automation.
Paid Subscriber Onboarding
The moment Kit sees the “Paid” tag, remove any “Free” sequences and start a special paid welcome or premium content drip.
You can also schedule monthly check-ins or offer loyalty bonuses at 1, 3, 6, and 12 months.
Unsubscribed / Disabled
If a subscriber has unsubscribed or disabled email in Substack, you might prefer to unsubscribe them in Kit too (so they don’t keep getting your freebies). Or you could tag them “Unsubscribed” and exclude them from future sends.
Billing Fail
If the email says “Reason: billing failed,” you can tag them “Billing Fail” and possibly send a short reactivation sequence. If they fix it, Substack will send you a “New paid subscriber” email again, and the cycle continues.
5. Things to Remember (and Check Often)
Gmail Filters
If Substack changes its subject lines, your filters might break. Keep an eye out for changes or missed notifications.
Zapier
Check your Task History in Zapier every so often. If you see repeated errors, it might be because the email address wasn’t parseable or the subject changed.
Manual Removal on Substack
If you need to truly remove someone from Substack’s list, that has to be done on Substack’s dashboard. Unfortunately, there’s no API to handle that part for you.
Test Regularly
Every couple of months (or whenever you update your automations), subscribe and unsubscribe with a test email. Upgrade to a paid subscription, cancel, etc. This ensures the entire chain—Gmail, Zapier, and Kit—is still firing perfectly.
Even though Substack doesn’t offer a fancy API to sync your subscribers to Kit, the combination of Gmail filters, Zapier workflows, and tag-based automations inside Kit handles the job surprisingly well. You’ll be able to welcome new free readers, thank folks who go paid, and make sure unsubscribed or disabled users don’t keep getting messages. All of this happens seamlessly in the background, so you can focus on writing and growing your publication.
If you want to learn more, then I have an article about how to build email sequences for a book launch that might be helpful.
Remember to review and tweak your workflows as your newsletter grows. As long as you stay on top of any changes to Substack’s email notifications (and occasionally test your Zapier flows), you’ll have a system that’s nearly as good as a direct API.
What do you think?
Have you tried any other workarounds for integrating Substack with Kit (or other email platforms)? How did it go?
What’s your top priority when it comes to automating your newsletter growth—seamless onboarding, subscriber segmentation, or something else?
Let us know in the comments.
If you enjoyed this one, I highly recommend checking our archive, with over 900 posts about how to help you build your own author career, including our course, fund your book on Kickstarter. You can take it for free with a seven-day trial, or give us a tip if you want to support us without committing long term.