How to Build a Lead Nurturing Drip Campaign in n8n (2025)

A lead nurturing drip campaign is a timed sequence of messages that walks a new lead from first contact toward a purchase, without you touching a keyboard. Most teams run these inside a rigid email tool, but n8n gives you something better: real branching, live CRM data, and multi-channel sends in one visual workflow. This guide walks through the exact nodes to build a drip campaign in n8n that reacts to what each lead actually does.

What a drip campaign is (and why n8n beats a rigid email tool)

A drip or nurture sequence sends the right message at the right interval based on where a lead sits in their journey. A classic email platform runs one linear path: everyone gets email 1, waits three days, gets email 2. It cannot easily read a deal stage in your CRM, skip a step for someone who already replied, or fire a Slack ping to sales when a hot lead opens twice.

n8n removes those limits. Because every node has access to the full data payload, you can branch on opens and replies with an IF or Switch node, pull a first name or company from Pipedrive or HubSpot, and send through Gmail, SendGrid, WhatsApp, or all three from the same flow. You own the logic instead of renting a template inside someone else's tool.

Step 1: Plan the sequence before you build

Never open n8n first. Map the sequence on paper so the build is just wiring. For each message decide three things: the stage it targets, the delay before it, and the exit condition that pulls the lead out early.

  • Stages: new lead → educated → considering → ready to buy. Each email should move the lead one stage forward.
  • Timing: tighter at the start (Day 0, Day 2), wider as trust builds (Day 5, Day 9, Day 14).
  • Exit conditions: a reply, a booked call, or a closed deal should stop the drip immediately so no one gets a "just checking in" after they already bought.

A concrete 5-email example timeline

  1. Day 0 — Welcome + quick win. Deliver the lead magnet and one immediately usable tip.
  2. Day 2 — Problem framing. Name the pain the lead is trying to solve and hint at the outcome.
  3. Day 5 — Proof. A short case study or result that shows the solution works.
  4. Day 9 — Objection handling. Answer the top reason people hesitate.
  5. Day 14 — Offer + deadline. A clear call to action with a reason to act now.

Any reply, click-to-book, or CRM stage change to "Won" cuts the sequence short.

Step 2: The trigger — how a lead enters the drip

Every drip starts with a trigger node. Pick the one that matches how leads arrive:

  • Webhook / Form trigger: fires the instant someone submits a landing-page form or opts in.
  • CRM trigger (Pipedrive, HubSpot): fires when a deal enters a specific stage or a contact gets a tag like nurture.
  • Schedule + query: a Schedule Trigger that runs every hour, then a CRM node that pulls contacts matching a filter for batch enrollment.

Right after the trigger, drop a Set node (Edit Fields) to normalize the lead's data into clean variables — email, first_name, company, lead_id — so every downstream node references the same field names no matter which source it came from.

Don't build the sequence from scratch

A proven 30-day, multi-email n8n drip that automatically re-engages lost or cold deals — with delays, branching and personalization already wired. Ready to import.

Get the 30-Day Reactivation Sequence template →

Step 3: Delays with the Wait node

The Wait node is what turns a burst of emails into a drip. Between each send, insert a Wait node set to "After time interval" (for example 2 days) or "At specified time" if you want every email to land at 9 a.m. in the lead's timezone. n8n pauses that single execution and resumes it automatically when the timer expires, so you do not need an external scheduler holding state.

For long sequences, prefer the Wait node's resume on webhook mode when you want an external event — like a reply — to wake the flow early rather than waiting out the full timer.

Step 4: Branch on behavior with IF / Switch

This is where n8n pulls ahead of a linear autoresponder. After each Wait, check what the lead did before sending the next message:

  • An IF node on opened = true can route engaged leads down a faster, more aggressive path and unopened leads to a re-send with a new subject line.
  • A Switch node on the CRM deal_stage field can send three different email 3s depending on whether the lead is cold, warm, or sales-ready.
  • An IF on replied = true or status = won routes straight to the exit branch and skips the rest of the drip.

Feed these nodes real data by placing a CRM "get" node just before the IF so you branch on the latest state, not a stale snapshot from enrollment day.

Step 5: Personalization with CRM fields and optional AI copy

Use the Set node and n8n expressions to merge CRM values into your email body: Hi {{ $json.first_name }}, saw {{ $json.company }} is scaling support…. Pulling from the CRM means the personalization is always current.

For deeper tailoring, add an optional AI step: a Basic LLM Chain or OpenAI node that takes the lead's industry, last activity, and pain point, then writes a custom opening line or subject. Keep the structure fixed and let AI vary only the personalized sentence — that gives you scale without losing control of the message.

Step 6: Send via Gmail or SendGrid

Connect the branch outputs to an email node. The Gmail node is fine for low volume and warm 1:1-style outreach; the SendGrid (or SMTP) node is better for volume, deliverability tracking, and dedicated sending domains. Map your email, subject, and HTML body fields, and enable open/click tracking so the next IF node has something to branch on.

Because it is all one workflow, you can add a parallel Slack or WhatsApp node on the "opened twice" branch to alert a human rep — true multi-channel nurturing that a standalone email tool cannot do.

Step 7: Stop the sequence on reply or conversion

A drip that keeps emailing someone who already replied burns trust. Guard against it two ways. First, at the top of each loop iteration, add an IF that re-checks the CRM: if replied = true, meeting_booked = true, or deal_stage = won, route to a NoOp "exit" node and stop. Second, use the Wait node in webhook-resume mode so an inbound reply (caught by an email or CRM trigger elsewhere) can cancel the pending step immediately. Always write the exit reason back to the CRM with an update node so reporting stays clean.

Step 8: Measure results

Log every send, open, reply, and exit to a Google Sheets or database node keyed by lead_id. Track the numbers that matter per email: delivery, open rate, reply rate, and how many leads reached the "Won" exit versus timed out at Day 14. Those per-step figures tell you exactly which email to rewrite — the one where opens hold but replies collapse is your weak link, not the whole sequence.

Ready to automate?

Building every Wait, IF, and personalization node from a blank canvas takes hours of trial and error before you send a single email. The Lost Pipedrive Deal → 30-Day Reactivation Email Sequence gives you a proven, multi-email n8n drip with the delays, branching, and CRM personalization already wired — import it, connect your credentials, and start nurturing today. It is the fastest way to turn everything above into a running campaign.

Ready to automate? Get this template on Gumroad →