Follow UpAutomation

Follow-Up Email Automation — 2-Touch Sequence, Dual Sender | Hyxil
Home/ AI Automation/ Portfolio/ Follow-Up Automation
Outbound
18 n8n nodes
6pm weekdays · Day 3 + 7

Two follow-ups, sender-matched, skipped the hour someone replies.

An 18-node n8n workflow that runs Monday–Friday at 6pm. FU1 three days after silence. FU2 four days after that. Same Gmail account that sent the first email. Cap of 8 per type per day. Reply or bounce ends the sequence.

The problem

First email is not the sequence

The Cold Email Sender handles day 0 at 5pm. This workflow is only the two touches after that. Without it, a no-reply row sits forever. With a sloppy follow-up, you chase someone who already answered or bounce a dead address again.

Both follow-up copies are pre-written in the workflow — not Claude on each send. They are short, reference the original, and use a reply-only ask. The first email is the AI-written one from the scraper.

The sequence

Three touchpoints. Then it stops.

Day 0

Initial email

AI-written. Sent by the 5pm sender — not this workflow.

+3 days

Follow-up 1

Re-surfaces the offer. Only if no reply and no bounce.

+7 days

Follow-up 2

Soft close. Door left open. Final automated touch.

After day 7

Sequence ends

No more automated contact. The row stays in the sheet.

Who it is for

Desks that already split sending across two inboxes

The published build routes on a sent_from column (nick or david). If the first email went from Nick, both follow-ups come from Nick in the same thread. Same for David. The lead never gets a second name on a “Re:” of the original subject.

Outbound teams with a first-touch machine

You already have sent_at and a written body. This workflow only asks who still needs a bump.

Anyone pairing the bounce tracker

replied and bounced are checked before every send. The hourly tracker can stop the sequence within an hour of a reply landing.

What it checks

FU1 and FU2 are separate filters in the same 6pm run

Follow-up 1 — all must be true

  • Status = Sent
  • replied is empty
  • bounced is empty
  • followup_1_sent is empty
  • followup_2_sent is empty
  • sent_at is more than 3 days ago

Follow-up 2 — all must be true

  • Status = Sent
  • replied is empty
  • bounced is empty
  • followup_2_sent is empty
  • followup_1_sent is not empty
  • followup_1_sent is more than 4 days ago
How the 18 nodes run

One weekday cron. Two independent paths.

1

6pm, Monday to Friday

Cron 0 18 * * 1-5. One hour after the initial sender so the two workflows do not contend for the same rows in the same minute.

2

Full sheet into both filters

Same read feeds FU1 and FU2 independently. A row can only match one path on a given night because FU2 requires followup_1_sent to already exist.

3

Cap 8 → loop → wait 2–5 min → route → send → stamp

Each type is capped at 8 per day. Random wait 120–300 seconds. Gmail chosen by sent_from. FU1 writes followup_1_sent; FU2 writes followup_2_sent.

Published FU1 copy — hardcoded, not generated per send
Subject: Re: [original subject]

Hi {{ Company }} team, Just floating my last note back up. I still have the audit findings on your Google Maps and local search presence, happy to send them over by reply. Worth a quick look?

Published FU2 copy — soft close
Subject: Re: [original subject]

Hi {{ Company }} team, Last note from me. If local search visibility is not a priority right now, no problem at all. If it becomes one later, the audit notes are here whenever you want them. Just reply anytime.

What you get

A second machine, not a longer first email

Follow-up stack

n8n weekday schedule, Google Sheets, Gmail (Nick) and Gmail (David) as published on the live write-up. Copies are swapped per client offer — the timing, caps, and sender match stay the architecture.

n8n · 18 nodes 6pm weekdays Day 3 + Day 7 8 / type / day 2–5 min delay Dual sender Google Sheets

This build

CategoryOutbound
Nodes18
Trigger6pm · Mon–Fri
FU1Day 3
FU2Day 7
Cap8 / type / day

Need the two-touch loop?

We walk sender routing and the reply-stop filters on a call.

Get a proposal

Depends on

Day 0 sendSender
Reply / bounceTracker

FAQ

Follow-Up Automation — short answers

Does this send the first email?
No. Day 0 is the Cold Email Sender at 5pm. This workflow only sends FU1 and FU2, and only when the first email already has Status = Sent.
Will it follow up after a reply?
Not if the Bounce Tracker has written replied = yes (or bounced). Those fields are required empty on both filters. A reply in either inbox can stop the sequence on the next hourly tracker run, before the next 6pm job.
Why are the follow-ups hardcoded?
The published build keeps FU1/FU2 short and consistent: re-surface, then soft close. Claude writes the first email from research. Follow-ups are not regenerated, so tone does not drift and you do not spend tokens on a two-line bump.
What does “sender-matched” mean?
The sheet stores sent_from as nick or david. Follow-ups route to that Gmail account and go out as Re: the original subject, so the thread stays with one person.
Can the copies change for our offer?
Yes. Timing, caps, and routing are the reusable architecture. The audit-style wording on the live page is what this shipped demo uses — a client build swaps the body to match the service you sell.

Want day-3 and day-7 on the same thread?

We will walk the 18-node weekday run — dual filters, 8-cap, sender routing, and the reply-stop fields — against your sheet.

info@hyxil.com · (214) 810-1552

Scroll to Top