All modules
Module 03 · foundations · beginner
Google Sheets Lead Tracker
After this module you can capture leads from any website or tool into a clean, deduplicated Google Sheet.
What it does
POST /webhook/lead with {name, email, source}. The workflow trims and lowercases the data, rejects invalid leads with a 400, and writes valid ones to a Google Sheet. If the email already exists, it updates that row instead of adding a duplicate.
Flow
New Lead → Normalize → Valid Lead? ─true─→ Save Lead (Sheets: append or update by email) → Respond OK
└false→ Build Error → Respond Error (400)
Verification status
- Validation path (400s): tested on n8n 2.43.6.
- Google Sheets save + dedupe: needs your Google credentials. Run
WITH_CREDS=1 ./test/test.shafter connecting.
Files
| File | Tier | Purpose |
|---|---|---|
| lesson.md | Free | Step-by-step build, including Google credentials |
| workflow/starter.json | Free | Webhook + Normalize only |
| workflow/learner.json | Learner | Finished workflow |
| assets/leads-template.csv | Free | Sheet header row |
| exercises.md | Learner | Practice tasks |
| solutions.md | Learner | Exercise solutions |
| notes.md | Private | Learning log |
| sell/ | Private | Offer, video script, blog post |