← all projects
case study · lead generation

General Contractor Lead Gen

Scrapes for leads, sends the cold outreach, and monitors the funnel cycle — end to end, automated.

Renaissance-style illustration of a figure descending toward a group reaching upward, representing the lead-gen funnel, in Prometrifi's dithered Digital Renaissance style.
the gap

New bid opportunities don't announce themselves.

Getting on a general contractor's bidder list means finding out they're building something in the first place — usually by checking tender portals and bid boards manually, every day, hoping to catch a posting before it's already been filled. Most of that checking turns up nothing. The one day it doesn't is the one that's easy to miss.

how it runs

A daily scrape, not a daily chore.

01

Scrape

A daily run pulls today's batch of general contractor and bid-board listings, normalizes the raw results, and filters out anything off-category.

02

Dedupe

Each lead is checked against who's already been contacted, so the same general contractor never gets reached out to twice.

03

Draft

For new leads, outreach content is drafted automatically — the ask to be added to the bidder list, ready to review.

04

Track

Every lead lands in a tracked pipeline — date added, deadline, doc link, draft content — as a page ready for review, not an inbox.

built with

The actual stack.

n8n workflow automation Apify actor scraping Supabase lead store Notion pipeline tracking
where it stands
Runs on a daily schedule — new leads land in the pipeline automatically, deduped against who's already been contacted.
the architecture

One pipeline, 4 stages.

01 Scrape Today's batch of general contractor and bid-board listings.
02 Dedupe Checked against who's already been contacted.
03 Draft Outreach content written for what's new.
04 Track Logged to a pipeline, ready for review.
proof of work — the pipeline

The n8n canvas, in full.

n8n workflow canvas: a daily 4am scrape trigger runs an Apify actor, normalizes and filters general contractor data, checks Supabase for already-contacted leads, drafts content for new leads, and logs them to Notion.
Every morning at 4am: scrape, normalize, filter, dedupe against who's already been contacted, draft outreach for what's new, and log it to Notion.
proof of work — sample output

The lead pipeline.

Notion database table of GC leads with columns for lead name, date added, closed at, conversation ID, deadline, doc link, and drafted outreach content.
What lands in Notion — each GC as a tracked row, with the outreach draft already written and a doc link ready to review.
Lead pipeline status table with columns for estimated value, GC or agency name, project reference, proposal sent date, replied date, sent date, source (bid invitation or tender match), and status (pending review, declined, invited, submitted, awarded).
Every lead tracked end to end — source, dates, and outcome. Several have already closed as Submitted or Awarded.
let's work together

Have a project in mind?

hello@prometrifi.co
← back to all projects