What a Real Lead Follow-Up System Looks Like
A step-by-step walkthrough of how a lead follow-up automation works: the trigger, the sequence, the tools, and what makes the copy land.
Most descriptions of lead follow-up automation are vague. "Automated emails," "follow-up sequences," "CRM integration." Useful in concept, useless as a blueprint.
This post is a walkthrough of what the system looks like: the trigger, the data it reads, the emails it sends, the tools it uses, and the logic that decides when to stop.
The flow, from start to finish
Lead submits form
↓
Webhook fires (instantly)
↓
n8n receives the event, reads the form fields
↓
Email 1 sent (within 2 minutes)
↓
Lead logged in Supabase with full context
↓
Follow-up timer starts
↓
Day 3: Email 2 sent (if no reply)
↓
Day 7: Email 3 sent (if no reply)
↓
Reply detected → sequence stops, owner notified
↓
Lead books a call → sequence stops, owner notified
That's the whole thing. No magic, no complexity. The power is in the timing, the copy, and the fact that it runs without anyone watching it.
Step 1: The trigger
Every lead follow-up system starts with a trigger, the event that starts the sequence.
The most common trigger is a website form submission. When someone fills out a form, most form builders can send a webhook, a real-time HTTP notification, to any URL you specify. That webhook contains the form data: name, email, message, whatever fields the form has.
Other common triggers:
- Calendly or similar booking tools: new booking created, or a cancelled/no-show booking (different sequence)
- Phone call: some phone systems (RingCentral, OpenPhone) can trigger a webhook when a missed call happens
- Direct message: with a little more setup, this works for DMs on Instagram or Facebook
- CRM entry: when a new lead is manually added to your CRM, trigger a follow-up
The principle is the same regardless of source: something happens, a signal fires, the automation catches it.
Step 2: The first email (and why copy matters most here)
The first email is the most important one. It arrives while the lead is still thinking about you, and it shapes how the rest of the sequence lands.
Here's what works and what doesn't.
This doesn't work:
Hi there, thanks for reaching out to Meridian Services. A member of our team will be in touch shortly. We typically respond within 1 business day.
This is worse than silence. It confirms that the response is automated, it makes no promises you can keep, and it gives the lead zero reason to stay engaged.
This works:
Hi Sarah,
Saw your message about the bookkeeping backlog. That's exactly the kind of thing we help with.
Quick question before I dive in: is the main issue the volume of transactions that need to be categorized, or is it more about the reconciliation step at month-end? The approach is a little different depending on which is the bigger pain.
I can carve out 15 minutes this week if you want to talk through it: [calendar link].
Isaiah
The key differences:
- Uses the lead's name and references something specific from their message
- Sounds like it came from a human, not a system
- Asks a relevant question that opens a conversation
- Has a clear call to action (the calendar link)
- Is short
The system can do all of this because it has access to the form data. The email template uses variables pulled from the form submission: name, the content of their message, which service they indicated interest in.
Step 3: The follow-up sequence
Email 1 doesn't get a reply. That's the normal case. Most leads are busy, distracted, or comparison-shopping. Non-response isn't rejection.
The follow-up sequence continues over the next 7–10 days. Here's what a 3-touch sequence looks like:
Email 2 (Day 3)
Hi Sarah,
Following up from my email earlier this week.
Most businesses I talk to in your situation have one thing that always runs behind, not because anyone's dropping the ball, but because there's no system to keep it current. Bookkeeping tends to be that thing for growing businesses.
We helped a [similar business type] owner get three months of backlog cleared in about two weeks and set up an ongoing system so they're never in that position again.
Worth a 15-minute call? Happy to show you exactly how the process works. [calendar link]
Isaiah
What's happening here: The first email asked a question. This one doesn't wait for an answer. It advances with a relevant mini case example (even one sentence works) and another CTA.
Email 3 (Day 7)
Hi Sarah,
Last note from me on this. I don't want to clutter your inbox.
If the timing's off or you're heads-down on something else, I completely understand. Happy to pick this up whenever it makes sense.
If you do want to understand what it would look like to get the bookkeeping cleaned up and running automatically, I'm here. 15 minutes is all it takes. [calendar link]
Isaiah
What's happening here: This is the "last touch" email. It signals finality, which often prompts a response from people who've been meaning to reply but kept getting distracted. It removes pressure without eliminating the opportunity.
Step 4: Reply detection and sequence stop
The most important technical piece is detecting when a lead has replied, and stopping the sequence immediately.
Nothing is more damaging to the relationship than continuing to follow up after someone has already responded. It signals that you're not reading their messages.
The detection works via IMAP polling or webhook: the system monitors your reply inbox, looks for messages from leads in the active sequence, and marks them as "replied" when a match is found. The sequence stops. You're notified.
This is one of the reasons you want the system to send from your actual email address, not a generic info@ or a dedicated automation account. If the lead replies, you need to receive that reply in your real inbox.
Step 5: What gets logged
Every lead and every action gets logged in Supabase:
| Field | What it captures |
|---|---|
name, email | From the form |
message | Original inquiry |
source | Which form / page / channel |
created_at | When the lead came in |
last_contacted_at | Last email sent |
sequence_step | Which email they're on |
status | new / in_sequence / replied / booked |
utm_source, utm_campaign | Where the lead came from |
This log is what makes the system auditable. You can always see what happened with any lead: when they came in, what they received, whether they replied, when they booked.
It also feeds the weekly report: how many new leads, how many replied, what's the conversion rate by source.
The tools
The standard stack for this system:
- n8n: the workflow engine. Receives the webhook, reads the form data, triggers the email sends, handles the scheduling, monitors replies.
- Supabase: stores the lead records and the sequence state. Gives you a queryable database of every lead.
- Resend: email delivery. Clean API, reliable delivery, solid analytics.
- Your calendar tool: Calendly, Cal.com, or similar, for the booking CTA.
All of these are tools you own. There's no proprietary platform you're locked into. If you ever want to change how the system works, you can, because the workflow lives in n8n, which is fully inspectable and editable.
What this costs to build
A standard 3-touch lead follow-up system (single form source, email channel, Supabase logging) is typically a first build: $800–$1,500, depending on complexity and the number of form sources.
It takes about 3–5 days from kickoff to go-live. The 30-day support window covers any copy adjustments or logic tweaks after you see it running on real leads.
If you have multiple form sources, multiple channels (email + SMS), or complex routing logic (different sequences for different inquiry types), that's a larger scope, but still tractable.
The discovery form is where this conversation starts.
Tell us what's costing you the most right now.
15-minute discovery call. We scope the problem, quote the build, and you decide if it makes sense.
Start the conversation