I built a leads workflow that scrapes and scores businesses by how bad their website is
▲ 7 r/n8n_ai_agents+3 crossposts

I built a leads workflow that scrapes and scores businesses by how bad their website is

I built a weekly n8n workflow that scrapes local businesses that need a website redesign, ranked by how weak their web presence actually is — not just by whether they showed up in a search.

How it works

  1. Setup (you run it once). Creates two n8n Data Tables — one for leads, one for a history of past searches. No separate database.
  2. Weekly trigger. An LLM picks a fresh business type and city each week, and it sees the results of every past search — leads found, how many came back hot — not just which segments were already tried. So it's not just avoiding repeats, it refines toward markets that are actually producing hot leads and mints one Gluecrawl job that scrapes their info (website, address, phone number, etc)
  3. Score, don't just list. Every business that comes back gets its own site fetched and checked: dead domain, parked page, 4xx — that's a hot lead. A site that's just a script bundle with no real text gets flagged unreadable, not scored as "has nothing." A domain that repeats across multiple listings gets caught as a franchise, since nobody at a chain branch is your buyer.
  4. Build the call list. Output is a markdown brief, hot leads before warm, and every line already carries the reason — which doubles as the opening line of the call.

What you can do with it

  • Call them. Every lead carries a phone number, so an outbound-calling node (Vapi, Bland, Twilio) after the brief turns this into an automated dialer, not just a list you work by hand.
  • Send it instead of storing it. Drop a Gmail, Slack, or Telegram node after the brief and it lands in an inbox instead of a table.
  • Work it. Point a HubSpot, Pipedrive, or Airtable node at the leads table and push the hot tier straight into a pipeline.
  • Personalize it further. Run each lead's flagged issue through a second LLM call to draft a first line — just keep that downstream of the scoring step, not inside it.
  • Point it at a different directory or niche entirely. Nothing about the scraping or scoring is specific to local business listings.

Limitations

  • Qualification is heuristic, not visual. Check and Score fetches raw HTML and never renders JS, to keep the check cheap and fast. A site that's mostly client-rendered can come back looking emptier than it is. Fix: swap that node for an AI agent that actually loads and reads the page — more accurate, more expensive per lead.
  • Gluecrawl's free tier caps you at 2 active scrapers, and this workflow mints a new one every week — you'll hit that ceiling by week three. Fix: upgrade the plan, or add a step before job creation that deletes the oldest scraper first.

If you fix one of the limitations above, or improve the workflow some other way, please share it!

Requirements:

Template (MIT, free to import): https://github.com/deep-soup-labs/gluecrawl-n8n-templates/blob/main/templates/local-leads-by-web-presence.json

u/justvalen — 7 days ago
▲ 34 r/n8n_ai_agents+3 crossposts

I built a fully automated AI newsletter — point it at any news sites

I built an AI newsletter that runs entirely inside n8n: it scrapes a set of news sites every week using Gluecrawl, keeps a running memory of every article it's already covered so nothing gets repeated, and has an LLM write the digest from whatever's new. All of it — including the memory — runs on n8n's native Data Tables, no separate database needed.

How it works

  1. Setup (you run it once). Creates two data tables and then creates a scrape job per news site. Scraper creation is the expensive step, so it only happens once per site, not on every run.
  2. Weekly trigger. Instead of recreating jobs, the schedule reruns the ones already created. That's what keeps this step cheap and consistent: a rerun is billed for the pages it actually fetches, not for re-analyzing the site the way a plain scraper (or something like Firecrawl) would charge on every run.
  3. Dedup against the archive. Every scraped article gets checked against the data table of everything seen before. Only genuinely new URLs get written to the archive and passed forward, so a story sitting on a homepage for three weeks only gets written up once.
  4. Write the digest. Whatever's new that week goes into a single LLM prompt (grouped by source, capped per source so cost doesn't scale with how big a news index is). If nothing's new, the LLM never even gets called.

What you can do with it

- Send it instead of storing it. The digest lands as a row in a table — swap that for a Gmail or Slack node and it lands in an inbox instead.

- Scale it. Add a job node in setup, copy one of the per-site nodes into the weekly branch, and wire it into merge sources. You can scrape hundreds of sites.

- Publish it. Ghost, WordPress, and Webflow will take the digest as Markdown directly.

- Turn it into social posts. Run the same weekly brief through a second LLM call asking for five short posts, then fan those out to LinkedIn.

- Point it at a different beat. Nothing about the scraping or dedup logic is AI-news-specific.

- Go daily instead of weekly. Move the trigger and shrink how many stories per source make it into the prompt, and each edition stays short.

- Build a searchable archive. The full text of every article already sits in the table — point a vector store at it and you can ask questions across months of coverage, not just read the latest digest.

Requirements:
- Gluecrawl API key https://www.gluecrawl.ai/dashboard/settings/api-key
- OpenAI API key https://platform.openai.com/api-keys

Template (MIT, free to import): https://github.com/deep-soup-labs/gluecrawl-n8n-templates/blob/main/templates/ai-newsletter.json

u/justvalen — 10 days ago

172M tokens consumed 76% of my weekly quota (Pro x5)

https://preview.redd.it/d7q28gs12ahh1.png?width=1035&format=png&auto=webp&s=7848e1ddee73f66a9a73970e5b7a78dced13e24b

I’m having issues with my Codex plan. Only a few sessions using the Luna and Terra models—and none using Sol—consumed most of my weekly quota.

I’m also keeping my Claude Code account (Pro ×5), and it feels like I get about 20 times more usage there than with Codex. I often see people saying that Codex limits are generally more generous, but that hasn’t been my experience. In practice, it feels much closer to a $20 plan.

reddit.com
u/justvalen — 16 days ago

Is this token consumption normal in Codex? Pro (x5)

This is my first week using Codex, and I’ve already consumed 1.4B tokens in just one week.

I’ve been using Claude Code for months, and my usage averages around 15M tokens per week - that’s two orders of magnitude lower.

I’m also having problems with my weekly limits. A single session on a small repository with a few codebase questions can consume 4–5% of my quota, so I want to know if my usage metrics are normal.

Is there a difference between how Claude Code and Codex calculate usage?

u/justvalen — 19 days ago

Pro (x5) weekly limit: 4 messages on GPT-5.6 Terra Low consumed 4% after reset

A single session on GPT-5.6 Terra Low consumed 4% of my weekly usage after only four visible messages. The questions were about a codebase, and it didn’t generate much output.

The session was a coding task, so Codex made several tool calls and internal model rounds. Local usage data showed roughly 2 million tokens, almost all input/context tokens, with most of that marked as cached input.

Is this expected behavior for the Pro (x5) plan? I switched from CC to Codex this week, and I’m already regretting it.

Has anyone else experienced unusually high weekly-limit consumption immediately after a reset?

reddit.com
u/justvalen — 19 days ago