Articles · August 22, 2026 · SaaSTracker Editorial
Add scoring and routing to a homemade enrichment waterfall
Your waterfall produces verified emails. These two extra n8n stages decide which ones deserve a human: a plain additive rubric, then score-band routing.
The pipeline from our enrichment waterfall playbook ends with a sheet of verified decision-maker emails for about $75 a month. That sheet has a problem the playbook did not solve: every row looks the same. A founder at a company that is hiring SDRs and just raised a round sits next to a marketing manager at a nine-person agency, and both get the same sequence on the same day.
Treating them identically wastes the lead you worked hardest to find. The fix is two more stages in the same n8n plus Google Sheets architecture: a scoring stage that turns the data you already collected into a single number, and a routing stage that sends each score band somewhere different. Lead scoring here means nothing fancier than an additive rubric: each signal is worth a fixed number of points, the points are summed, and the sum decides the lead's path. No machine learning, no model to train, no black box to argue with. A Saturday of wiring, and the incremental cost starts at zero.
Why score at all when everything is already verified
Verification answers one question: will this email bounce. It says nothing about whether the person behind it is likely to buy this quarter. When every verified lead enters the same sequence, three things go wrong in practice.
Your best leads get commodity treatment. The account that matches your ideal profile on every axis deserves a researched first line, and instead it gets template three.
Your worst leads burn sending capacity. Daily sends from a small mailbox are scarce, and spending them evenly across a list where the bottom third barely qualifies is a quiet tax on reply rate.
You learn nothing. When results come back, you cannot tell whether the campaign worked for anyone in particular, because "anyone in particular" was never defined.
A rubric fixes all three for the cost of two columns and a Code node.
The scoring rubric is a table, not a model
Everything the score needs either already exists in your sheet or costs one cheap lookup. The waterfall wrote a title for every qualified lead (from the Serper search snippet), so seniority is free. Company signals need one enrichment call per domain. The intent flag needs a listening tool checked on a schedule.
Here is a working rubric for a team selling into B2B SaaS. Steal the structure, not the numbers; the points should encode your own closed-won pattern.
| Signal | Source | Points |
|---|---|---|
| Title contains founder, CEO, or owner | Already in the sheet | +3 |
| Title contains VP, head, or director | Already in the sheet | +2 |
| Title contains manager | Already in the sheet | +1 |
| Hiring for a role your product serves | TheirStack job postings | +2 |
| Runs a technology you integrate with | Wappalyzer or BuiltWith lookup | +2 |
| Funding round or expansion news in the last year | PredictLeads API | +2 |
| Intent flag: publicly discussing the problem you solve | Trigify social listening | +3 |
| Verification came back catch-all rather than valid | Already in the sheet | -2 |
Two design rules keep the rubric honest. First, cap any one category so a single noisy signal cannot dominate: a lead should not hit the top band on job postings alone. Second, include at least one negative signal. The catch-all penalty above is a good default, because a catch-all address that passed verification is still your likeliest future bounce, and the score should remember that even when the status column says sendable.
Where the company signals come from
The title points are free, but the middle rows of the rubric need data the waterfall never fetched. All of it is available at small-team prices, and every one of these providers has a free way in, so you can wire the whole stage before spending anything.
For hiring signals, TheirStack reads job postings and tells you what a company is recruiting for and what tools those job ads mention. It includes free credits on signup, and the entry subscription is $49 a month for 1,500 credits. A company hiring three SDRs is telling you its outbound budget just grew; that is worth two points in anyone's rubric.
For technology signals, Wappalyzer's free tier covers 50 lookups a month, and BuiltWith offers free individual site lookups with no limit through its website and extensions. If your product integrates with a specific platform, knowing the prospect runs it is the difference between a generic pitch and a relevant one. Wappalyzer's Pro tier is $250 a month, so most small teams reserve the free lookups for top-band candidates only.
For funding and company news, PredictLeads delivers dated, source-linked events through an API with no dashboard attached, which suits an n8n workflow perfectly. The first 100 API calls per month are free, then a $40 monthly minimum at $0.04 per credit. One call per domain, run only against leads that survived verification, keeps you in the cheap bands.
For the intent flag, Trigify watches social posts for people discussing your problem space, starting at $40 a month. The useful property for this architecture: its credits are consumed mainly by enrichment rather than listening, so a broad search costs nothing until you resolve contact details, and you already resolved yours in the waterfall. If job changes matter more than conversations in your market, LeadMagic detects those through an API at three credits per request, with plans from $49.99 a month. The rest of the options are in the intent and buying-signals category; the right listening tool depends on where your buyers talk.
The economics follow the waterfall's own rule: spend nothing on leads that already failed. Score only rows whose status is qualified and verified. On a 1,000-domain list that typically means 500 to 700 scoring passes, and if you start with only the free allowances (TheirStack signup credits, 50 Wappalyzer lookups, 100 PredictLeads calls), the marginal cost of the entire stage is zero until the volume proves it deserves a budget.
The scoring stage in n8n
Add the stage after verification, before write-back. The shape:
- Gate: an If node passes only rows with a verified email.
- Enrich for score: HTTP Request nodes call TheirStack, the technology lookup, and PredictLeads for the domain; a scheduled sibling workflow refreshes the Trigify intent flag into its own sheet column so the scoring run just reads it.
- Score: a single Code node applies the rubric and outputs an integer.
- Write back: the score lands in a
scorecolumn, and each contributing signal writes a short note into ascore_reasonscolumn.
The score_reasons column is the detail that makes the system trustworthy. "7: founder, hiring 2 AE roles, discussed cold email on LinkedIn this week" survives an argument with a skeptical teammate. A bare 7 does not. This is the same principle as the qualification one-liner in the original waterfall: every row should explain itself.
Resist the urge to tune weights weekly. Set the rubric, run it for a full sequence cycle, compare reply rates by band, then adjust once. A rubric you change daily is a model you cannot learn from.
The routing stage: bands, not judgment calls
Routing is a Switch node on the score column. Four bands cover almost every team:
| Band | Score | Destination |
|---|---|---|
| Hot | 7 and up | Human review tab |
| Primary | 4 to 6 | Main sequence |
| Standard | 1 to 3 | Lighter, shorter sequence |
| Hold | 0 and below | Parked; rescored next cycle |
The hot band does not go into a sequence at all. The Switch node copies the row to a review tab in the same spreadsheet, and a human spends two minutes per lead writing a real first line before anything sends. A dozen hot leads a week is ten to fifteen minutes a day, which is the cheapest conversion lever in the entire stack.
Primary and standard bands map to different sequences in whatever sender you use. The difference should be effort, not just length: the primary sequence earns personalization tokens from the enrichment data (the technology they run, the role they are hiring), while the standard sequence stays short and generic, three touches and out.
The hold band is the one teams forget to build. A lead scoring zero today is not dead; it is early. Park it, and let a monthly rescoring run promote it the week the funding event lands or the job ad goes up. This is where the signal providers quietly earn their fee: a static list decays, but a rescored list gets warmer without any new list buying. It is also most of what Clay is doing when it re-runs a table on a schedule, minus the platform bill.
Two operational notes. Log every routing decision to its own column with a timestamp, so a lead that moves bands leaves a trail. And never route the same lead into two sequences at once; the status column from the original playbook is your lock, so a row leaves verified for exactly one of review, sequenced_primary, sequenced_standard, or hold.
What the upgraded pipeline costs
Take the 1,000-domain run from the original playbook, which landed at $75 to $80 a month fixed. Scoring adds, at typical pass-through of 500 to 700 scored leads: TheirStack at $49 for 1,500 credits, PredictLeads at its $40 minimum once you clear the free 100 calls, Trigify at $40, and free-tier technology lookups reserved for hot-band candidates. Call it $130 a month on top when every provider is on a paid plan, roughly $0 while free allowances hold, and the routing stage itself is free forever; it is a Switch node and a second spreadsheet tab.
Whether the paid version is worth it is a per-list question, and the rubric answers it for you: if the hot band replies at multiples of the standard band, the signals are earning their keep. If the bands perform identically, your rubric is measuring the wrong things, and you learned that for $130 instead of guessing.
The short version
Score with a plain additive rubric: seniority from the sheet you already have, company signals from TheirStack, a technology lookup, and PredictLeads, an intent flag from Trigify, and a penalty for catch-alls. Route with a Switch node: 7 and up gets a human, the middle gets sequences matched to effort, zero gets parked and rescored monthly. Two stages, one Saturday, from $0 on free allowances to about $130 a month fully paid.