Skip to content

After this module you can answer every portal lead within a minute (by text and email, from the right agent, with similar listings attached) and follow up automatically until they reply.

What it does

One workflow, four entry points sharing a lead registry:

Entry What happens
POST /webhook/re/lead or Gmail portal emails (Zillow, Realtor.com, Homes.com, Redfin) Parse the lead (structured JSON or the raw email), detect buyer/renter/seller, timeframe and pre-approval, find the listing they asked about plus up to 3 similar ones, dedupe (30 days), assign an agent round-robin, then send an instant SMS (Twilio) and email (Gmail) from that agent and schedule a day 1/3/7 drip
Hourly schedule or POST /webhook/re/drip/run Send drip emails that are due (check-in → listings → "should I keep you on my list?"), retrying failures next run. now can be injected for testing
POST /webhook/re/lead/stop Stop the drip when the lead replies, books or opts out
GET /webhook/re/lead/status?email=… Inspect one lead's record

Demo data: 8 Austin-area listings and 2 agents in Settings. ?dry_run=true on a lead returns the plan without saving or sending.

Flow

New Lead API / Portal Lead Emails ─┐
Drip Every Hour / Drip Run API ────┼→ Settings → Route ─new lead→ Parse → Has Contact? → Match Listings → Register (dedupe, round robin, drip) → Compose → Dry Run?
Stop Lead API ─────────────────────┤                    │                                                          └→ Text Them? → Twilio SMS → Gmail → Report → respond + alert agent
Lead Status API ───────────────────┘                    ├drip→ Find Due Messages → Send Now? → Gmail → Record Drip Results → respond (API)
                                                        ├stop→ Stop Drip → respond
                                                        └status→ Lead Status → respond

Verification status (n8n 2.43.6)

  • 30/30 checks without credentials: structured and raw portal-email parsing, buyer/renter/seller paths, listing matches (±20%, same city, active only), SMS length and opt-out, dedupe and round robin, drip timing at +12 h / +4 d / +8 d via injected clock, stop, 404, and send failures reported instead of crashing. Test leads are stopped at the end.
  • Not run with Twilio or Gmail credentials (WITH_CREDS=1 TEST_EMAIL=… [TEST_PHONE=…] ./test/test.sh). The raw-email parser was tested on a generic "Name:/Email:/Phone:" layout, not on real Zillow/Realtor.com emails; check one real email before relying on it.

Files

File Tier Purpose
lesson.md Free Step-by-step build, compliance notes
workflow/starter.json Free Triggers, routing, parsing, listing matches
workflow/learner.json Learner Finished workflow
workflow/code/ Learner Readable copies of the Code nodes
exercises.md Learner Practice tasks
solutions.md Learner Exercise solutions
notes.md Private Learning log
sell/ Private Offer, video script, blog post