u/beliketrilok

Sharing what I Experimented With: Built an account-prioritization engine (Fit × Intent × Signal Decay) with Clay + n8n + HubSpot - ranked list of who to contact this week, not just who fits the ICP

Someone on one of the previous posts of mine suggested building something like this.

Problem statement: Sales teams waste time contacting companies that technically fit their ICP but aren't currently in a buying window. Fitting the ICP is a filter, not a ranking - the real question was, which accounts should sales actually contact this week?

ICP: US SaaS companies, 50–1,000 employees, B2B, $5M+ revenue

Workflow: trigger sources or signals (Funding, Hiring, Leadership Change, Job Postings, Tech Change) -> Enrichment -> ICP Fit Score -> Intent Score -> Account Score -> Signal Decay -> Prioritized account list

Fit Score:

  • 0–100: four criteria worth 25 points each: US-based, SaaS/B2B, 50–1,000 employees, $5M+ revenue.
  • Binary per criterion - either the account matches or it doesn't.
  • Calculated once and left alone; only recalculated if firmographics actually change (a company crossing from 40 to 55 employees, for example).

Intent Score:

  • 0–100, built from three signals I could reliably measure from a single enrichment pass:
    • Funding - 40 points if the company has raised it recently, 0 if not.
    • Headcount growth (3-month window) — scaled: >20% growth = 30 points, 5–20% = 18 points, 0–5% = 8 points, negative = 0.
    • Open job postings — scaled by relevance: a Sales/Revenue/GTM-titled opening = 30 points, any other open role = 15 points, nothing open = 0.
    • These three sum to the Intent Score (capped at 100).
    • Account Score = Fit × (Intent / 100) - keeps everything on a 0–100 scale and sets the tier: 60+ is hot, 30–59 is warm, and under 30 is cold.

Signal decay:

  • Each signal's contribution isn't fixed at the moment it's detected - it decays on a half-life curve: weight × 0.5^(days_since_signal / half_life).
  • Different signal types decay at different speeds: funding has a ~30-day half-life (a raise still matters a month later), hiring/headcount growth is ~21 days, and a single job posting is ~14 days (weaker, shorter-lived signal on its own).
  • This recomputes on a recurring cadence, not just once at detection time — so an account that scored hot two weeks ago with no new signals since automatically cools toward warm or cold without anyone touching it.

Outcome

  • Ran it against 10 real companies matching the ICP - got a genuinely differentiated ranking, not the ICP filter restated.
  • The two coldest-scoring accounts fit every ICP criterion on paper but had declining headcount, no funding activity, and no open roles.
  • Pulled a real sales/GTM contact for every account - name, title, verified email and wrote everything into HubSpot as Company + Contact records, each with a Note explaining exactly which signals drove the score.

Open to suggestions and thoughts/feedback.

reddit.com
u/beliketrilok — 13 hours ago
▲ 3 r/n8n

Need Help! Built real n8n/AI automation (WhatsApp API, Gemini parsing, lead pipelines) but no formal GTM title—does this read somewhere near "GTM engineer," and what should I build next?

I've spent the last few months building GTM-adjacent automation systems and want an honest read on where I actually stand.

What I've built:

  • A 5-workflow real estate lead system: lead intake with dedup and scoring from various sources, writes to a CRM layer, a WhatsApp Cloud API bot that qualifies leads conversationally, a nurture sequence, site-visit scheduling with real calendar booking, and a reporting rollup—all tested end-to-end against real Meta and Google infrastructure, not mock data.
  • From that, landed an actual sales call with a prospective client, which reshaped the build.
    • Their problem statement: Parse an open house sign-in sheet that contains client information, add the information to the CRM, read the daily digest email of off-market houses, parse property information from it (avoid ads and irrelevant information), add the property information to the CRM, match the property and buyers, and send email/WhatsApp alerts automatically as soon as there is a match.
    • I built a working workflow using Google Sheets as a CRM.
  • A lead-gen scraper (Google Places search → dedup → website scrape → email extraction) feeding a two-workflow cold email system: a daily sequence sender and a reply/stop-detection workflow that reads inbox replies and automatically updates lead status so the sender skips anyone who responded or opted out—something similar to Clay and Instantly
  • A couple of smaller side builds on the same pattern: an AI news digest (RSS → LLM extraction → daily email) and a resume-to-job-match tool using embeddings and similarity scoring and adding the information to Airtable.

I know Clay (used its free credits to find, enrich, transform, and export data) and Instantly (only familiar with the tool through tutorials). Didn't use it), and SQL basics, but I built most of the above myself in n8n instead of reaching for off-the-shelf tools—partly budget (trying to keep tool spend near zero), partly because I like to actually experiment and research a problem, explore all the possible solutions, and go for the best.

Where I think I'm weak: no real CRM experience (Salesforce/HubSpot—everything above uses Sheets/Airtable as a stand-in)

What I'm asking:

  1. Does this read as near GTM-engineer level—yes or no? In either case, what should I build next that would actually teach me something new, not just more of the same pattern?
  2. As per my research, the one skill that is required here is to understand a business and its problems deeply. How can I actually solve one? Are there platforms where people write about such problems and anyone can pick and experiment?
  3. What tools or techniques am I genuinely missing to move toward this role?

I would really appreciate the guidance here!

reddit.com
u/beliketrilok — 3 days ago

Need Help! Built real n8n/AI automation (WhatsApp API, Gemini parsing, lead pipelines) but no formal GTM title—does this read somewhere near "GTM engineer," and what should I build next?

I've spent the last few months building GTM-adjacent automation systems and want an honest read on where I actually stand.

What I've built:

  • A 5-workflow real estate lead system: lead intake with dedup and scoring from various sources, writes to a CRM layer, a WhatsApp Cloud API bot that qualifies leads conversationally, a nurture sequence, site-visit scheduling with real calendar booking, and a reporting rollup—all tested end-to-end against real Meta and Google infrastructure, not mock data.
  • From that, landed an actual sales call with a prospective client, which reshaped the build.
    • Their problem statement: Parse an open house sign-in sheet that contains client information, add the information to the CRM, read the daily digest email of off-market houses, parse property information from it (avoid ads and irrelevant information), add the property information to the CRM, match the property and buyers, and semail/WhatsAppsapp alerts automatically as soon as there is a match.
    • I built a working workflow using Google Sheets as a CRM.
  • A lead-gen scraper (Google Places search → dedup → website scrape → email extraction) feeding a two-workflow cold email system: a daily sequence sender and a reply/stop-detection workflow that reads inbox replies and automatically updates lead status so the sender skips anyone who responded or opted out—something similar to Clay and Instantly
  • A couple of smaller side builds on the same pattern: an AI news digest (RSS → LLM extraction → daily email) and a resume-to-job-match tool using embeddings and similarity scoring and adding the information to Airtable.

I know Clay (used its free credits to find, enrich, transform, and export data) and Instantly (only familiar with the tool through tutorials). Didn't use it), and SQL basics, but I built most of the above myself in n8n instead of reaching for off-the-shelf tools—partly budget (trying to keep tool spend near zero), partly because I like to actually experiment and research a problem, explore all the possible solutions, and go for the best.

Where I think I'm weak: no real CRM experience (Salesforce/HubSpot—everything above uses Sheets/Airtable as a stand-in)

What I'm asking:

  1. Does this read as near GTM-engineer level—yes or no? In either case, what should I build next that would actually teach me something new, not just more of the same pattern?
  2. As per my research, the one skill that is required here is to understand a business and its problems deeply. How can I actually solve one? Are there platforms where people write about such problems and anyone can pick and experiment?
  3. What tools or techniques am I genuinely missing to move toward this role?

I would really appreciate the guidance here!

reddit.com
u/beliketrilok — 3 days ago
▲ 11 r/n8n

Built a full lead-gen + 3-email drip campaign automation in n8n (trying to bypass instantly/clay)—sharing everything that I built. Need help in the deliverability fight that I'm still losing

The goal: automate cold outreach — source business leads, then run them through a proper 3-email sequence (Day 0 → Day 3 → Day 7 "breakup" email) instead of one-off blasts.

Stack:

  • Firecrawl for lead sourcing (pulling name + email straight from search-result snippets—way cheaper than full-page scraping)
  • A separate n8n workflow hitting the Google Places API for additional local-business leads (shared a post regarding the same a few days ago)
  • Google Sheets as the lightweight CRM / sequence-state tracker
  • n8n + Gmail node for the actual sending and reply detection

The pipeline (2 workflows):

  1. Daily Sequence Sender—Schedule Trigger reads the sheet, computes who's due for Email 1/2/3 based on sequence step + days elapsed, sends via Gmail, updates the row
  2. Reply & Stop Detection—Gmail Trigger polls the inbox, matches replies against the lead list, and halts the sequence for anyone who responds (or says STOP)

Where I'm stuck right now: deliverability. Even after fixing formatting, removing the attribution footer, and toning down the subject lines and body texts, test sends are still landing in spam on a personal Gmail account.

Anyone dealt with cold outreach from a personal (non-domain-verified) Gmail account successfully? Curious whether this is a "give up and get a proper sending domain + SPF/DKIM/DMARC" situation or if there's a realistic path through it.

reddit.com
u/beliketrilok — 4 days ago
▲ 3 r/n8n

I built a free lead-gen pipeline that scrapes Google Maps → finds business emails → drops everything in a spreadsheet (n8n + Google Places API)

Wanted to share a project I just finished building, mostly because the debugging process taught me more than the actual build did.

The goal: Get a spreadsheet of local businesses (dentists, in my case) with name, phone, website, and email—using free/near-free tools only.

The catch: Google's Places API doesn't give you email addresses. At all. It gives you name, address, phone, and website—that's it. So the real project was two pipelines stitched together.

The stack

  • n8n (self-hosted, Docker) as the orchestration layer
  • Google Places API (New) — Text Search + Place Details
  • A regex-based scraper hitting each business's own website to pull an email
  • Google Sheets as the output

How it works

  1. A list of cities feeds into Google's Text Search endpoint "dentist in Dallas, TX")
  2. Paginate through up to 3 pages per city (Google caps you at 60 results per query, period—no way around it, even on paid tiers)
  3. For each business, call Place Details to get phone and website
  4. If a website exists, fetch the raw HTML and regex-match for an email pattern
  5. Everything—including businesses without a website—gets appended to a sheet

The advantages

  • Genuinely free up to ~1,000 businesses/month (Google's free tier)
  • Fully self-hosted, no monthly SaaS lead-gen tool subscription
  • Trivial to retarget at any niche/location by swapping the search query
  • Doesn't silently drop businesses with no website—most scrapers I looked at just skip those

The challenges (this is where it got interesting)

  • Google's field-mask system is unforgiving. Fields like phone and website live in a totally different pricing tier (Enterprise) than name/address (Essentials/Pro), and if you don't explicitly request nextPageToken in your field mask, it just silently omits it from every response—no error, it just isn't there.
  • ~70% of small business sites fetched came back 403. Turned out to be three different things stacked on top of each other: Cloudflare's JS challenge (unsolvable by a plain HTTP request), Sucuri-style WAFs blocking data-center IPs, and outright geo-blocking of hosting providers. Fixed some with a proper user agent + SSL leniency + redirect following, but a real chunk of it is just unfixable without a paid scraping API that solves JS challenges.
  • Daily quota vs. monthly free tier are two different limits. Burned an afternoon confused about why I was getting quota errors well under my "1,000 free/month"—it turns out Google Cloud also enforces a separate, much stingier default daily cap on new projects that you have to manually request an increase for.
  • Rate limiting once volume went up. After fixing pagination (3x’d my result volume overnight), I started getting "too many requests" errors—I had to add batching (5 requests, wait 1 sec, repeat) to stay under Google's per-second cap.

Result: I was able to get 250 business emails out of ~600 businesses. Some businesses didn't have email on their website, and some were not willing to be scrapped 😂

Open to suggestions and feedback on how I can improve it.

reddit.com
u/beliketrilok — 7 days ago