Indiecity

Guide · 17 Aug 2026 · 15 min

How to write a cold email that books a SaaS demo

Field guide

A short note, a real name, and a calendar for the 15 minutes they book.

In 2026 everyone can generate a “personalized” cold email in ten seconds. The inboxes filled up. Same openers. Same fake research. Same soft ask. Buyers learned the pattern. The channel did not die. The AI version of it stopped working.

What still books a SaaS demo is boring and human: one person who already has the pain, one detail only they would recognize, and one clear ask for 15 minutes. Indiecity is for one person or a team under twenty. You do not need a warmed domain farm. You need notes you would send with your name on them.

What “works” means here

A cold email that works books a demo or a real next step. Opens and vanity reply counts are not the goal. Someone who says “interesting, send more info” and never picks a time is still zero.

In August 2026, Harshit Tiwari wrote on Indie Hackers after shipping with zero paying customers. Manual LinkedIn DMs got replies. People were curious. They were not paying. That is the trap: treating a reply like a customer. A booked demo is a step. Payment is still the proof. If you need the filter for compliments versus money, use how to tell if people will pay.

Indie Hackers · u/Harshit Tiwari

I shipped v2 with zero paying customers. Here's the honest version.

August 2026. Manual outreach got replies. Revenue stayed at zero. Curiosity is not a demo, and a demo is not a payment.

Why AI slop stopped working

Building got cheap. Attention did not. Pieter Levels said it in June 2026: everyone can build apps with AI, and almost nobody has an audience, ad money, or a free way to get seen. So founders outsource the scary part to a model. The model writes the same email for everyone.

In April 2026, Ryan Doyle wrote on Indie Hackers about pure-AI outbound. Buyers had seen two years of mass AI mail. They could spot a pure-AI message in the first line. The personalization fields could be correct and the note still failed. Volume without a human voice is noise.

That is the rule now. If a stranger could swap the company name and send the same text, delete it. If only this person could have received that first line, keep writing.

Before you write a single line

Cold email fails most often before the draft. Wrong buyer. No signal. Fuzzy offer. You cannot fix that with a better subject line.

Write three things down before the email:

  • Who: one job title, one company size, one context (for example ops lead at a 20-person agency, not “founders”).
  • Signal: a public fact that proves they have the problem now (a hire, a tool they use, a thread they wrote, a one-star review they left, a process that broke in public).
  • Offer: the one outcome you show in 15 minutes, and a price you can say out loud.

No signal means no email yet. Go find the room where they already complain. Search for people asking for a tool that does X. Read one-star reviews. Show up the same day someone vents. Then the note is a reply to a need they already feel.

You can't wait for users to come to you. You have to go out and get them.

That line is from 2013. It is more true now that shipping is easy and inboxes are full.

The shape of a demo-booking email

Keep five parts. Nothing else.

  1. Subject: specific to them. Company plus problem. Tool they use. Event that just happened.
  2. Opener: one sentence only they would recognize. Not “I came across your profile.”
  3. Problem: the messy thing in their words, not your feature list.
  4. Proof of fit: one line on who you help and what changes in 15 minutes.
  5. Ask: one clear question. Two time windows if you must. No five CTAs.

Paul Graham has said he responds faster to short emails, and often replies to two-liners immediately while long ones sit forever. Your buyer treats long mail the same way. Keep it short.

Banned lines in 2026:

  • “Hope this finds you well.”
  • “I came across your profile and was impressed.”
  • “Quick question” when the body is a pitch.
  • Three paragraphs about your origin story.
  • A PDF, a six-slide deck, or a Loom before they asked.
  • “Touching base” / “circling back” with no new reason.

Scripts you can send this week

Replace the brackets. Do not paste these raw to a list. The brackets are the work. If you already know the person, skip the cold opener and use notes for people you know.

Subject: [Company] and [the messy workflow]
Hey [name]. Saw [specific signal: the job post / the thread / the tool in their stack / the review]. Teams in your seat often lose [time or money] to [pain in their words]. I built a small tool that does [one outcome] for [who]. Worth 15 minutes this week to see if it fits, or should I leave you alone?
Subject: Re: [tool they already pay for]
Hey [name]. Noticed you use [tool]. Most [role] I talk to still export to sheets for [step]. I show a 15-minute path that removes that step for [price or “a fixed monthly fee”]. Open to a short look on [day] or [day], or is this not a pain anymore?
Subject: [Their public complaint, shortened]
Hey [name]. You wrote about [exact pain] in [place]. I am not pitching a platform tour. I can show one screen that handles [that pain] in 15 minutes. If it is already solved, who on your team still owns it?
Warm-ish: someone you met once
Hey [name]. We spoke at [event / thread / intro] about [topic]. I shipped the thin version that does [outcome]. It is [price]. If that mess is still on your plate, I can walk you through it this week in 15 minutes. If not, one name of someone who has it is enough.

Notice what is missing: a feature tour, a case study wall, a “synergy.” The email earns the demo. The demo earns the sale.

Follow up without becoming noise

One follow-up is normal. Three guilt trips are spam. Add a new fact or a cleaner ask. Do not rewrite the same paragraph with “just bumping this.”

Follow-up, three to five days later
Hey [name]. Last note was about [pain] and a 15-minute look at [outcome]. Happy to show it [day] or [day]. If the timing is wrong, a one-line “not now” is perfect and I will stop.
After a soft yes with no time picked
Sounds good. Two options: [day] [time window] or [day] [time window]. Or grab any open slot here: [booking link]. If neither works, tell me a better week.

If they never answer the second note, close the file. Spend the next hour on a new name with a better signal. First replies still come from personal messages, not a sequence of two hundred.

On the demo, do not waste the yes

Fifteen minutes. Not a 40-minute product tour. Have them say the problem in their words. Show the one path that removes it. Say the price. Stop talking.

The Collison brothers at Stripe did not “send a link later” when someone agreed to try the product. Graham wrote about setting people up on the spot. Same spirit on a remote demo: if they want it, start them the same day. A payment link or invoice before the call ends beats a vague “I will follow up.”

The ask at minute twelve
If this takes [pain] off your week, it is [price]. I can start you today. Want to do that, or is something still missing?

If they need a second call, book it before you hang up. If they only wanted education, you learned something. Do not pretend a free office hour was a sales win. A booked demo is not the first paying customer. Keep learning calls and priced demos apart. Rob Fitzpatrick’s Mom Test is the learning version: their week, what they tried last time, no pitch. Switch to a priced demo only when the pain is clear. The full sequence from names to paid is in how to get your first 10 paying customers without ads.

A two-week outbound plan

  1. Day 1. Write the offer in one sentence. Put a price on the page. List 30 names with a signal next to each name.
  2. Days 2 to 6. Send three to five human emails a day. No identical openers. Track sent, replied, booked, paid.
  3. Day 7. Rewrite the first line of the email using only words people used back to you. Do not add features.
  4. Days 8 to 12. Send the next names. One short follow-up on silent threads. Ask every booked demo for one intro if they buy.
  5. Day 14. Count demos booked and payments. If you have demos but no payments, fix the offer or the ask on the call. If you have silence after 20 real fits, change the buyer or the signal. Do not buy a bigger list.

Keep a fifth column for the exact phrase they used for the problem. That phrase becomes the next subject line and the first line of your page.

How you know the emails are working

People reply with substance. People pick a time. Someone asks the price before you do. Someone pays after the demo. Those are the signals. “Cool idea” is not one of them.

If twenty people who match the buyer will not give you 15 minutes, you are wrong about the buyer, the pain, or the outcome you claim. That is useful. It is not a reason to hide in the editor and ship v2.

What to stop doing

  • Pasting the same ChatGPT opener to a scraped list.
  • Leading with your origin story instead of their mess.
  • Measuring success in opens instead of demos and payments.
  • Sending a deck before anyone asked.
  • Following up five times with no new reason.
  • Pitching on a learning call and calling that a demo list.
  • Buying domains and sequencers before you can write one honest note.
  • Building another feature because the inbox is quiet.

Send the next one

Cold email in 2026 is not a growth hack. It is a short letter to one person who already has the problem. AI made the bad version free. The good version still takes work: research, a clear offer, and the nerve to ask for 15 minutes.

When a demo turns into a paid customer and you will put your name on how it happened, send us the story. When the product is real, put it on the map. You can join Indiecity while you do the week. That gives you people to talk to. It does not write the note for you.

Until then, pick one name with a real signal and send the email.

FAQ

Questions people get stuck on

Is cold email dead in 2026?

Mass AI cold email is. Buyers can spot the tidy openers and flat compliments. Short notes written for one person still work when you name a real signal and ask for a short call. Paul Graham’s old line still holds: you go get users. You do not wait for them.

How long should the email be?

Short enough to answer on a phone. Paul Graham has said for years that he replies faster to short mail and often answers two-liners immediately. Aim for a few sentences: one specific opener, one outcome, one ask. If it looks like a pitch deck, cut it.

Should I use ChatGPT to write the email?

Use it to clean grammar if you want. Do not paste the same AI opener to a list. In 2026 that pattern is spam. Ryan Doyle wrote on Indie Hackers that pure-AI outbound is easy for buyers to detect in the first sentence. Write the specific line yourself. That is the part that books the demo.

What if nobody replies?

Send the next name. If twenty people who fit the buyer still ignore you, change the offer, the buyer, or the signal you lead with. Silence is data. It is not a reason to buy a sequencer and blast two hundred more.

Should I put a calendar link in the first email?

Usually no. Ask if 15 minutes this week is useful. When they say yes, send the link in the reply. A cold calendar dump feels automated. A human yes, then a link, feels like a conversation.

How is this different from a customer interview?

A learning call is about their week and what they already tried. You do not pitch. A demo is later, when they have the pain and you have a price. Mix the two and people stay polite. They do not book a second call. Use Rob Fitzpatrick’s Mom Test rules when you are still learning. Switch to a clear demo ask only when you can show one outcome.

What if they reply but never book?

Replies measure curiosity. In August 2026, Harshit Tiwari wrote on Indie Hackers after solid manual DM replies and zero revenue: people were curious, not paying. Send one short follow-up with two time options. If they stall again, move on. Do not build a feature to decode a soft no.

How many emails should I send each day?

As many as you can write as a human. For most solo founders that is a handful a day, not a sequence of hundreds. Ten real notes beat a warmed domain full of AI slop. Track sent, replied, booked, paid.

What subject line works?

Something only that person could open. Their company plus the messy workflow. A tool they already use. A hire, a launch, or a complaint they made public. Generic “quick question” and “thoughts?” belong in the spam pile.

When do I stop cold email and buy ads?

After you can say who books demos, what problem they pay to stop, and which sentence got them on the call. Ads put your pitch in front of strangers. If that pitch has not booked a human yet, you are paying to guess. Once people pay after demos, use [how to get your first 10 paying customers without ads](/stories/first-10-paying-customers-without-ads).

More from the journal