SaaS Email Automation Template Library
30 lifecycle emails written for developer audiences: plain-spoken, short, no marketing-speak. Each comes with the full body copy, send timing, the segment that should receive it, and a note on what to A/B test. Swap the {placeholders} and ship.
Format · 30 templates · 5 lifecycle stages · Free, no gate
01Onboarding8 templates
Welcome and first step
ON-01Subject: “you're in. here's the one thing to do first”
Timing · Immediately after signup
Segment · All new signups
Hi {first_name},
Thanks for signing up for {product}. Skip the tour for now.
The fastest way to see if we're useful: make your first API call. It takes about two minutes and you'll have real data back.
Here's the quickstart: {quickstart_url}
If you get stuck, just reply to this email. A human reads it.
{sender_name}Note: A/B test a single clear CTA versus three links; single CTA usually wins on activation.
No first action nudge
ON-02Subject: “stuck on setup?”
Timing · Day 2 after signup
Segment · Signups with no first action
Hi {first_name},
I noticed you signed up for {product} but haven't run your first {key_action} yet. No judgment, setup steps pile up fast.
Most people get tripped up on the API key. If that's you, here's exactly where it lives: {api_key_url}
Want me to look at your account and tell you the next step? Reply with a yes and I will.
{sender_name}Note: Test offering a screen-share versus a docs link; the human offer lifts replies but costs time.
First success celebration
ON-03Subject: “nice, your first {key_action} worked”
Timing · Triggered on first successful action
Segment · Users who completed first action
Hi {first_name},
You just ran your first {key_action} with {product}. That's the hard part done.
Next, most teams wire up {feature} so this happens automatically instead of by hand. Here's the five-minute version: {feature_url}
That one change is usually where people decide we're worth keeping.
{sender_name}Note: Trigger speed matters; send within minutes of the event for the dopamine to land.
Connect your stack
ON-04Subject: “{product} plays nice with what you already use”
Timing · Day 3 after signup
Segment · Active trial users
Hi {first_name},
Quick one. {product} connects to {integration_1}, {integration_2}, and {integration_3} out of the box.
If you're already running one of those, the integration takes about three minutes and removes a manual step you're probably doing now.
Here are the setup docs: {integrations_url}
Tell me what's in your stack and I'll point you to the right guide.
{sender_name}Note: Segment by detected stack if you can; named integrations convert better than a generic list.
Invite your team
ON-05Subject: “doing this solo?”
Timing · Day 5 after signup
Segment · Single-seat active accounts
Hi {first_name},
You've been using {product} on your own. That's fine, but accounts with a teammate or two stick around a lot longer, mostly because the work doesn't bottleneck on one person.
Adding someone takes one link: {invite_url}
They'll land in the same workspace with the setup you've already done. No re-config.
{sender_name}Note: Test framing as collaboration benefit versus reliability benefit; developers respond to the bottleneck angle.
Core feature deep dive
ON-06Subject: “the part of {product} people miss”
Timing · Day 7 after signup
Segment · Active trial users
Hi {first_name},
Most people use {product} for {primary_use}, then stop. Fair, it works.
But {feature} is the thing that actually saves the hours. It handles {pain_point} so you don't have to think about it.
Here's a short walkthrough, no signup wall: {feature_url}
Set it up once and forget it. Reply if the docs aren't clear and I'll fix them.
{sender_name}Note: Tie the feature to a concrete pain; abstract feature tours get ignored.
Trial midpoint check-in
ON-07Subject: “halfway through your trial”
Timing · Day 7 of 14-day trial
Segment · Trial users, halfway through
Hi {first_name},
You're halfway through your {product} trial. Quick gut check: is it doing what you hoped?
If yes, here's how to make the rest of the trial count: {usage_url}
If not, tell me what's missing. I'd genuinely rather hear it now than watch you churn quietly. Reply to this email and it comes straight to me.
{sender_name}Note: The honest churn line outperforms upbeat copy; it reads as a real person, not a sequence.
Trial ending reminder
ON-08Subject: “your trial ends in 3 days”
Timing · 3 days before trial end
Segment · Trial users with activity
Hi {first_name},
Your {product} trial ends in three days. You've already run {usage_summary}, so it's clearly doing something for you.
To keep going without a gap, pick a plan here: {pricing_url}
Nothing breaks the second it ends, but you'll lose access to {key_benefit}. If you have a pricing question, reply and I'll answer it straight.
{sender_name}Note: Inserting real usage numbers beats generic urgency; pull {usage_summary} dynamically.
02Nurture7 templates
Use case teardown
NUR-01Subject: “how {customer} cut {metric} with {product}”
Timing · Day 10 after signup
Segment · Engaged users, not yet paid
Hi {first_name},
Short story that might be useful. {customer} was spending hours on {pain_point}. They wired up {feature} in {product} and cut {metric} by {result}.
No magic, just removing a manual loop. Here's the full breakdown with their actual config: {case_study_url}
If your setup looks similar, the same approach should work. Happy to sanity-check it if you paste me your flow.
{sender_name}Note: Show the real config, not just the outcome; developers trust mechanics over metrics.
One good tip
NUR-02Subject: “small {product} trick worth 20 minutes a week”
Timing · Day 14 after signup
Segment · Active users
Hi {first_name},
Quick tip, no pitch.
If you're doing {common_task} by hand in {product}, you can automate it with {feature}. Set the trigger once and it runs itself.
Here's the exact config: {tip_url}
That's the whole email. Steal the tip.
{sender_name}Note: Pure-value emails with no CTA build trust; send these between asks to avoid pitch fatigue.
Changelog highlight
NUR-03Subject: “we shipped {feature_name}”
Timing · On feature release
Segment · All active users
Hi {first_name},
We just shipped {feature_name}. You asked for this one (well, a few of you did).
What it does: {feature_summary}. What changes for you: {user_benefit}.
It's live in your account now, nothing to install. Docs are here: {changelog_url}
If it breaks or feels off, reply and tell me. Real feedback shapes what we build next.
{sender_name}Note: Ship notes that lead with user benefit, not internal version numbers, get opened twice as often.
Common mistake warning
NUR-04Subject: “the {product} setup mistake that bites people”
Timing · Day 18 after signup
Segment · Active users with risky config
Hi {first_name},
Heads up before it bites you.
A lot of {product} setups skip {best_practice}. It works fine until {failure_scenario}, and then it doesn't, usually at the worst time.
The fix takes two minutes: {fix_url}
Worth checking your config now while it's quiet. If you're unsure whether you're affected, reply and I'll take a look.
{sender_name}Note: Prevention emails earn goodwill; trigger to accounts whose config actually matches the risk.
Power user spotlight
NUR-05Subject: “how the power users run {product}”
Timing · Day 21 after signup
Segment · Mid-engagement users
Hi {first_name},
We looked at how the heaviest {product} users actually work. Three habits stood out.
First, they automate {task_1}. Second, they connect {integration} so nothing falls through. Third, they set up {feature} alerts so problems find them, not the other way around.
Here's how to copy all three: {playbook_url}
None of it is complicated. It's just the stuff people skip.
{sender_name}Note: Aspirational peer framing works; test 'power users' against a named-customer version.
Office hours invite
NUR-06Subject: “bring your {product} question”
Timing · Day 25 after signup
Segment · Engaged free or trial users
Hi {first_name},
We run live office hours every {day}. No slides, no pitch. You bring a {product} question or a setup you're stuck on, and we work through it on the call.
Last week we untangled a {example_problem} in about ten minutes.
Grab a slot here: {office_hours_url}
Or just reply with your question and I'll answer async if a call is a hassle.
{sender_name}Note: Offering an async fallback to the call lifts overall response from developers who avoid meetings.
Soft conversion ask
NUR-07Subject: “worth keeping?”
Timing · Day 30 after signup
Segment · Engaged users, still on free
Hi {first_name},
You've been using {product} for a month and you're clearly getting something out of it ({usage_summary}).
The free plan caps you at {free_limit}. If you're bumping into that, the paid plan lifts it and adds {paid_benefit}.
Here's the breakdown, no surprises: {pricing_url}
No rush. If the free plan still fits, keep it. Just wanted you to know the option's there.
{sender_name}Note: Low-pressure tone plus a real limit reference converts better than a hard deadline for self-serve devs.
03Upsell5 templates
Approaching plan limit
UP-01Subject: “you're close to your {limit_type} limit”
Timing · At 80 percent of plan limit
Segment · Paid users near a usage cap
Hi {first_name},
Quick heads up: you're at {usage_percent} percent of your {limit_type} limit on {product}.
Nothing breaks at 100 percent, but {overage_behavior}, which you probably don't want mid-month.
Bumping to {next_plan} clears the ceiling and adds {next_plan_benefit}. Here's the upgrade: {upgrade_url}
Or if this was a one-off spike, ignore me. Reply if you want to talk through the right tier.
{sender_name}Note: State exactly what happens at the cap; vague urgency reads as a money grab to technical buyers.
Feature gated upgrade
UP-02Subject: “you just tried {gated_feature}”
Timing · Triggered on gated-feature attempt
Segment · Users who hit a paywalled feature
Hi {first_name},
You tried to use {gated_feature} in {product}. It's part of the {plan_name} plan.
Here's what it does so you know if it's worth it: {feature_benefit}. Teams usually reach for it once they're past the manual stage, which sounds like where you are.
Upgrade and it unlocks instantly: {upgrade_url}
Want a quick demo of it first? Reply and I'll send a two-minute clip.
{sender_name}Note: Intent is highest right after the paywall hit; trigger within minutes, not on a daily batch.
Team seat expansion
UP-03Subject: “looks like your team's growing”
Timing · When active seats approach plan cap
Segment · Accounts near seat limit
Hi {first_name},
You've got {active_seats} people active in {product} and your plan covers {seat_limit}. You're about to run out of seats.
Rather than block your next teammate, you can add seats here: {seats_url}
If you're scaling past {threshold} people, the {team_plan} plan is cheaper per seat and adds {team_benefit}. Reply and I'll run the math for your headcount.
{sender_name}Note: Offering to do the per-seat math yourself removes friction and surfaces expansion deals early.
Heavy usage to higher tier
UP-04Subject: “you're using {product} hard”
Timing · After 60 days of high usage
Segment · High-usage paid accounts
Hi {first_name},
You're one of our heavier users now: {usage_summary} this month. That's great, and it means a couple of {next_plan} features would genuinely save you time.
Mainly {next_plan_benefit_1} and {next_plan_benefit_2}. Both are built for accounts at your volume.
Here's the comparison: {pricing_url}
Not pushing. If your current plan still fits, stay put. Reply if you want my honest read on whether it's worth it.
{sender_name}Note: The 'honest read, might not be worth it' line builds the trust that closes the next upgrade.
Annual plan switch
UP-05Subject: “save two months on {product}”
Timing · Day 90 of monthly subscription
Segment · Monthly subscribers, stable usage
Hi {first_name},
You've been on {product} monthly for three months and usage looks steady. If you're planning to stick around, annual billing saves you {savings_amount} (basically two months free).
Switch here, takes one click: {annual_url}
It's the same plan, just billed yearly. You can still cancel; you just lock the lower rate now.
Not urgent. Mostly didn't want you overpaying out of habit.
{sender_name}Note: Frame as saving the customer money, not securing revenue; the 'overpaying out of habit' line converts.
04Retention6 templates
Usage drop alert
RET-01Subject: “everything ok with {product}?”
Timing · After 14 days of no activity
Segment · Paid users with a usage drop
Hi {first_name},
Your {product} usage dropped off a couple weeks ago. Could be totally normal (vacation, shipped the thing, slow season). Could be something broke.
If it's the second one, tell me what happened and I'll help fix it. Reply straight to this.
If you've just outgrown the use case, I'd still like to know why. That feedback is worth more to me than the email open.
{sender_name}Note: Sincere and low-pressure; this email recovers more silent churners than any discount offer.
Unused feature reactivation
RET-02Subject: “you're missing the best part of {product}”
Timing · 30 days after signup, feature unused
Segment · Paid users not using core feature
Hi {first_name},
You're paying for {product} but haven't touched {key_feature} yet. That's the part that does the heavy lifting on {pain_point}.
Without it, you're basically using half of what you pay for.
Five-minute setup, here: {feature_url}
If there's a reason you skipped it (didn't fit, too fiddly, didn't know it existed), reply and tell me. We can usually fix the reason.
{sender_name}Note: 'Half of what you pay for' reframes feature adoption as loss aversion, which retains better.
Renewal reminder
RET-03Subject: “your {product} plan renews soon”
Timing · 7 days before renewal
Segment · Paid users approaching renewal
Hi {first_name},
Your {product} plan renews on {renewal_date}. Nothing you need to do, it just continues.
This quarter you ran {usage_summary}, which is why I figured you'd want it to keep going without a gap.
If anything's bugging you about the plan or the price, this is a good moment to say so. Reply and I'll sort it before the charge, not after.
{sender_name}Note: Surfacing value before the charge reduces surprise-renewal chargebacks and cancellation reflexes.
Failed payment recovery
RET-04Subject: “your {product} payment didn't go through”
Timing · On payment failure
Segment · Paid users with a failed charge
Hi {first_name},
Your last {product} payment bounced. Usually it's an expired card, nothing dramatic.
Your account's still live for now. Update your card here and it sorts itself: {billing_url}
We'll retry in {retry_days} days. After that, {product} pauses, which I'd rather avoid for you.
If there's a billing issue on our side, reply and I'll look into it today.
{sender_name}Note: Keep dunning calm and specific; panic-toned failed-payment emails get marked as spam.
Quarterly value recap
RET-05Subject: “what {product} did for you this quarter”
Timing · End of each quarter
Segment · Active paid accounts
Hi {first_name},
Quick recap of your last 90 days on {product}: {usage_summary}. By our rough math that saved you around {time_saved}.
The goal isn't to brag, it's to make sure you can see the value when budget season comes around and someone asks what this line item does.
Full breakdown in your dashboard: {dashboard_url}
Anything you wish it did but doesn't? Reply. That list shapes our roadmap.
{sender_name}Note: Arming the champion with numbers for budget defense is the highest-leverage retention play in B2B.
Cancellation save
RET-06Subject: “before you go”
Timing · On cancellation initiation
Segment · Users who clicked cancel
Hi {first_name},
You started canceling {product}. No hard sell, I promise.
If it was missing a feature, too pricey, or just didn't fit, I want to know which. Reply with one word and I'll act on it.
If it's price, here's a {discount} on the next {discount_period}: {offer_url}. If it's a gap we're about to ship, I'll tell you the date.
And if it's just time to move on, no hard feelings. Thanks for trying it.
{sender_name}Note: Ask the reason before offering the discount; reason-first saves more accounts and protects margin.
05Win-back4 templates
What changed since you left
WIN-01Subject: “{product} got better since you left”
Timing · 30 days after churn
Segment · Churned users, past 30 days
Hi {first_name},
You left {product} a month ago. We've shipped a few things since that might change your mind.
The big ones: {improvement_1} and {improvement_2}. If either of those was your reason for leaving, it's probably fixed now.
Your old workspace is still here, settings intact. Pick up where you left off: {return_url}
If we're still not a fit, tell me what's missing. I'll either build it or point you somewhere better.
{sender_name}Note: Preserving the old workspace removes re-setup friction, the top reason churned devs don't return.
Honest feedback ask
WIN-02Subject: “what did we get wrong?”
Timing · 45 days after churn
Segment · Churned users who never replied
Hi {first_name},
Not pitching you. I'm trying to figure out why {product} didn't stick for you.
Was it the price, a missing feature, too much setup, or just bad timing? One word is enough. It honestly helps us fix the thing for the next person.
Reply to this and it comes straight to me, not a support queue.
Thanks either way. Sorry it didn't work out.
{sender_name}Note: A no-offer feedback email often re-engages more churners than a discount; people respond to being asked.
Comeback offer
WIN-03Subject: “come back for {discount} off”
Timing · 60 days after churn
Segment · Churned users, no response yet
Hi {first_name},
Last nudge, then I'll leave you alone.
If {product} would be useful again, here's {discount} off your first {discount_period} back: {offer_url}. Your old data and config are still saved, so there's no rebuild.
We also fixed {top_complaint}, which was the thing people griped about most.
No offense taken if it's a no. Just didn't want you to miss it.
{sender_name}Note: Pairing the discount with a fixed top complaint outperforms a discount alone on reactivation rate.
Final sunset email
WIN-04Subject: “we're closing your {product} account”
Timing · 90 days after churn
Segment · Long-churned users, fully inactive
Hi {first_name},
Housekeeping. You haven't used {product} in 90 days, so we're scheduling your workspace for deletion on {deletion_date}.
If you want to keep your data, export it here: {export_url}. Takes a minute.
If you want to come back instead, one click reactivates everything as it was: {reactivate_url}
No offer attached, just didn't want to delete your stuff without telling you first.
{sender_name}Note: The deletion deadline creates genuine urgency and recovers a surprising slice of dormant accounts.
The triggers behind these emails are mapped in the Onboarding Excellence Playbook. Want the whole lifecycle designed and wired for your product? That is PMM-as-a-Service territory.
Ready when you are.
Discovery calls are 20 minutes. First one's on me.