Complete Guide: Free Trial Started → 7-Day Onboarding Drip (Day 0, 3, 7) with n8n
A trial signup is the single highest-intent moment in your entire funnel — and most SaaS teams waste it. The user clicked "Start free trial," saw an empty dashboard, and closed the tab. Nothing happen
A trial signup is the single highest-intent moment in your entire funnel — and most SaaS teams waste it. The user clicked "Start free trial," saw an empty dashboard, and closed the tab. Nothing happened next. No welcome, no nudge, no reason to come back on day 3 when the initial excitement faded. By day 7, when the trial quietly expires, they've forgotten your product exists. This guide shows you how to wire a 3-email onboarding drip (Day 0, Day 3, Day 7) in n8n that fires the instant a trial starts, keeps HubSpot in sync the whole way, and turns cold signups into paying customers — without a marketing-automation platform's monthly bill.
The Problem: Trials Die in Silence
The math is brutal. Industry benchmarks put free-trial-to-paid conversion between 15% and 25% for self-serve SaaS — which means 75–85% of the people who raised their hand never buy. The biggest leak isn't pricing. It's the gap between signup and activation. A user who never reaches their "aha moment" during the trial has no reason to pay when the credit-card wall appears.
Three failure points cause most of this:
- No Day 0 welcome. The user signs up, gets a bare confirmation email (if any), and is left to figure out the product alone.
- No mid-trial re-engagement. Day 3 is when interest naturally dips. If nobody pulls them back in, they drift.
- No conversion push. Day 7 — the end of a typical trial — arrives with no clear upgrade offer, so the decision defaults to "no."
Manually sending these emails doesn't scale, and full-blown lifecycle tools like Customer.io or Braze are overkill (and overpriced) when all you need is a reliable, timed 3-step sequence tied to your CRM.
The Solution: A Time-Delayed Drip That Runs Itself
The workflow is simple in concept: a trial signup enters n8n, three emails go out on a fixed schedule (Day 0, Day 3, Day 7), and every touch is logged back to HubSpot so your sales and success teams see exactly where each contact sits in the sequence.
Each email has a distinct job:
- Day 0 — Welcome & activate. Sent within seconds of signup. One clear first action ("Connect your first integration"), not a feature dump.
- Day 3 — Engagement & value. A use-case story or quick win that reminds them why they signed up and pulls them back into the product.
- Day 7 — Upgrade offer. A direct conversion push with a reason to act now — a discount, a bonus, or a deadline tied to the trial's end.
Because the delays are handled inside n8n, the sequence is self-timing: you never touch it after a signup lands. And because HubSpot is updated at each step, you get full-funnel visibility without a second dashboard.
Step-by-Step Setup in n8n
Here's how the workflow is built node by node. You can adapt the trigger and email nodes to your stack, but the skeleton stays the same.
1. Capture the trial signup (Trigger)
Use a Webhook node as the entry point. Point your signup form or app backend to POST to the webhook URL with the new user's email, first_name, and signup_date. Set the HTTP Method to POST and enable "Respond Immediately" so your app isn't blocked waiting on the drip. If your trial data lives in Stripe, swap in the Stripe Trigger node listening for customer.subscription.created with a trial period instead.
2. Create or update the contact in HubSpot
Add a HubSpot node set to Contact → Create or Update. Map the email as the unique identifier and write a custom property like onboarding_stage = "day_0_sent". Using "Create or Update" (an upsert) means you won't get duplicate records if the contact already exists. Store the returned HubSpot vid (contact ID) so later nodes can reference the same record.
3. Send the Day 0 welcome email
Use a Send Email (SMTP) node, or the Gmail / SendGrid node if that's your sender. Pull the subject and body from an HTML/Set node so your templates live in one place. Personalize with {{ $json.first_name }} and include exactly one call-to-action link back into the product.
4. Wait 3 days
Drop a Wait node configured to resume after 3 days. n8n persists the execution to disk and wakes it at the right moment — no cron juggling, no external scheduler. This is the core mechanic that makes the drip "just work."
5. Day 3 email + HubSpot update
After the wait, add another Send Email node for the engagement message, followed by a HubSpot node updating onboarding_stage = "day_3_sent". Optionally, insert an IF node before the send that checks a HubSpot property like has_activated — if the user already converted or upgraded, branch them out of the sequence so you don't email a paying customer an "upgrade" pitch.
6. Wait 4 more days, then send Day 7
Add a second Wait node set to 4 days (Day 3 + 4 = Day 7). Follow it with the final Send Email node carrying the upgrade offer, then a closing HubSpot node writing onboarding_stage = "day_7_sent" and, if you like, creating a task for sales to follow up personally on high-value trials.
The full node chain reads: Webhook → HubSpot (upsert) → Email (Day 0) → Wait 3d → IF (still trialing?) → Email (Day 3) → HubSpot → Wait 4d → Email (Day 7) → HubSpot. That's the entire engine.
Why This Beats a Marketing Platform
For a busy technical founder, the advantages stack up fast:
- Zero recurring seat cost. n8n runs on your own infrastructure. A drip that would cost hundreds a month on a lifecycle platform runs for the price of a small VPS.
- Full ownership of logic. Want to branch on product-usage data, enrich the contact, or trigger a Slack alert when an enterprise trial starts? Add a node. You're not boxed into a vendor's rule builder.
- CRM stays the source of truth. Because every step writes back to HubSpot, your existing reports, lists, and sales workflows keep working — the drip feeds them rather than fragmenting your data.
- Timing that actually fires. The Wait node guarantees the Day 3 and Day 7 emails go out on schedule even if your app is down or your team is asleep.
- Measurable lift. Moving trial conversion even from 15% to 20% is a 33% revenue increase from the same top-of-funnel traffic — pure margin, no extra ad spend.
Common Pitfalls (and How to Avoid Them)
A few traps catch teams building this for the first time:
- Not branching out converted users. If someone upgrades on Day 2, they should not receive the Day 7 "please upgrade" email. Always gate the later sends behind an IF node that checks conversion status in HubSpot.
- Ignoring email deliverability. A drip is worthless if it lands in spam. Authenticate your sending domain with SPF, DKIM, and DMARC, and warm up a dedicated sending address before pushing volume through it.
- Hardcoding email copy inside Send nodes. Keep templates in a single Set node (or an external table) so non-engineers can edit copy without touching the workflow logic.
- Forgetting execution persistence. Wait nodes only survive restarts if n8n is configured with a proper database (Postgres) and queue mode for production. On the default SQLite/in-memory setup, a restart mid-wait can drop pending drips.
- No error handling on the webhook. Attach an Error Trigger workflow so a malformed signup payload alerts you instead of silently failing — a dropped trigger is a lost customer.
- Unsubscribe blind spots. Honor opt-outs. Check a suppression property in HubSpot before each send to stay compliant with CAN-SPAM and GDPR.
Get those right and you have a compounding asset: every trial that starts is automatically walked through activation, re-engagement, and a conversion ask — while your HubSpot stays perfectly in sync. Build it once, and it converts trials for you every day after.
Ja construimos isso pra voce
Nao comece do zero. O Free Trial Started → 7-Day Onboarding Drip (Day 0, 3, 7) e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.
Instalar por $49 →