Waking up to 5 qualified leads every morning, on autopilot
Every day it reads 15 subreddits, finds business owners describing manual work in their own words, and leaves the best 5 in a sheet. We built it for our own outbound first.
The problem
The best outbound leads say it themselves, in public: "I do this by hand every week and I hate it." That sentence names the problem, the process and the person who owns it.
Those posts are spread across dozens of subreddits, and they are buried within hours. To catch them you would have to read hundreds of new posts a day.
Keyword search doesn't fix it. Search Reddit for "manually" and the posts that come back are, on average, about 5 years old. Far too late to reply to. The same search also finds "manual transmission for sale".
Before
Someone opens each subreddit, scrolls the newest posts, and skips everything that is old, off topic or selling something.
When a good thread turns up, the work has only started. They still have to read it, work out what the person's process actually is, and write an opening line that helps rather than pitches.
Do that every day, across 15 communities, and it is a job. Skip a day and the best threads are gone.
The lead is only warm for a day. After that, the thread has moved on without you.
Before
- Open 15 subreddits, one at a time
- Scroll past anything older than a day
- Skip the noise and the self-promotion
- Read the thread to find the real process
- Write a reply that isn't a pitch
- Repeat, every day
Hundreds of posts a day
Now
- Open the sheet
- Reply to 5 people
Ready before the day starts
Now
Every day at 8 AM IST it runs on its own. Nobody starts it and nobody watches it.
- 1Scan15 subredditslast 24 hours
- 2Dedupeseen before? skiponly new threads
- 3Qualifyscored 0 to 10060 or more
- 4Delivertop 5 to the sheetready by 8 AM
- Scan. It reads the newest posts in 15 subreddits and keeps only the last 24 hours.
- Dedupe. Any thread it has already recorded is skipped, so the same lead never comes back.
- Qualify. AI scores every candidate from 0 to 100 against a strict brief. Anything under 60 is thrown out.
- Deliver. The top 5 go into a shared sheet with the subreddit, title, link, author, upvotes, comments and post time.
The 15 subreddits cover 3 kinds of business:
- Small business and startups. r/smallbusiness, r/Entrepreneur, r/startups, r/EntrepreneurRideAlong, r/SaaS.
- Agencies and services. r/agency, r/marketing, r/DigitalMarketing, r/consulting, r/msp, r/freelance.
- Ecommerce. r/ecommerce, r/shopify, r/AmazonSeller, r/FulfillmentByAmazon.
Changing the list is a settings change, not a rebuild. The same pattern works for any niche.
What lands in the sheet
Each lead carries 2 things nobody has to write: the pain in one line, in the poster's own words, and an opener written as a helpful reply.
- Subreddit
- r/ecommerce
- Posted
- 3 hours ago
- Score
- 84 / 100
- Title
- Copying every order into our shipping sheet by hand. Is there a better way?
- Pain summary
- "Every night I copy each order from the store into the shipping sheet, one at a time."
- Outreach opener
- Copying orders across by hand every night is one of the easier jobs to hand off. What does the shipping sheet need from each order?
What the scoring looks for
Scores high
- Describes their own process, as it runs today
- Names what data moves, from where to where, and how often
- Sounds like the person who picks the tools
60 or more is kept
Scores low
- Self-promotion and hiring posts
- Hypotheticals
- "What do you automate?" discussion prompts
- Threads that already have a solution
Under 60 is thrown out
Better an empty morning than a junk row.
If nothing is good enough, nothing is added. 5 strong leads are worth more than 20 weak ones.
What we found while building it
Most of the work was in the parts that looked finished and weren't.
1 subreddit took the whole run
The scraper's post limit applied to the whole run, not to each subreddit. One run returned 300 posts from the first subreddit and none from the other 14. So we run it once per subreddit, 5 at a time, and merge the results.
The date filter didn't filter
The scraper's date settings didn't filter by date, and one of them started a 20+ minute crawl that returned nothing. So the 24 hour cutoff is enforced in our own code.
Keywords were years behind
Keyword search surfaced posts that were years old. So it reads the newest posts instead, and lets AI judge what is relevant.
No match, no lead
The AI answers in a strict, fixed format. Any lead that doesn't match a real post is dropped, never guessed at.
What changed
Hours of reading are replaced by a sheet that is ready when the day starts.
Every thread in it is under 24 hours old, so the reply lands while the conversation is still going. The person has already said what their problem is, and the first line is already written.
It adds 5 leads a day at most, which is about as many as 1 person will actually act on. No list to wade through.
It costs very little to run: 1 AI call a day, inside a free tier, plus $3 to $11 a month for reading Reddit, depending on how many subreddits it watches.
And it looks after itself. If 1 subreddit fails, the rest of the run still finishes. Retries are capped, so a bad day can't run up a bill. It only runs in production, so a test session can't start a real scrape by accident.
Replies and calls booked from it are still being counted. They go on this page when they are real numbers, not before.
Have a manual process eating your week?
Let's automate it. Tell us what the job is, how often it comes round, and where the data lives.
Book a Free DemoBuilt with Trigger.dev for scheduling and retries, Apify for reading Reddit, Google Gemini Flash-Lite for the scoring, Google Sheets for the output and the only memory it keeps, and TypeScript on Node.