Lead research tool in n8n: 16 free sources, every email checked by Sabin MainaliLead research tool in n8n: 16 free sources, every email checked by Sabin Mainali

Lead research tool in n8n: 16 free sources, every email checked

Sabin Mainali

Sabin Mainali

I built a lead research tool for the sales team at Calilio, a B2B SaaS phone system. A rep picks a country, one or more industries and a target of 10 to 100 leads. One click runs a 73-node n8n workflow, and checked leads stream back into a table the rep can download as CSV. The work was AI-assisted with Claude Code and human-checked.

What was the problem?

Calilio's sales team needs a steady supply of companies to call, and a list is only useful if the team can trust it. A guessed email bounces. A company that was already contacted wastes a call. So the tool had to find real contacts, prove each email can receive mail, and never hand over the same company twice.

What did I build?

The tool is a small web app in front of an n8n workflow. A run goes like this:
The rep fills in a three-question form: country, industries, and how many leads (10, 25, 50 or 100).
The workflow searches 16 free public databases for matching companies, such as OpenStreetMap, Wikidata and SEC EDGAR. No paid data provider is used.
It skips companies the team already has and finds the website of each new one.
It reads each site politely: robots.txt first, then the homepage, the sitemap and the pages most likely to list contacts.
Google Gemini reads those pages and returns a company profile, a named decision maker and the public contact details. That is one AI call per company.
Each lead gets a score, and only qualified leads move on.
Leads land in a 49-column table that keeps the source URL of every contact. The rep downloads it as CSV.
The form a sales rep fills in: country, industries and number of leads.

How did I check the output?

Every email passes four checks. Is it a real address? Is it a template like no-reply@? Is it on a list of about 8,700 throwaway domains? Does the domain accept mail?
No email is guessed. The tool keeps only addresses the company published on its own domain.
When an email fails, the tool removes it and writes the reason next to it. The phone number and the rest of the lead stay.
Six duplicate checks run before a lead is saved: lead ID, email, profile URL, phone, company plus contact name, and domain. They run in one database transaction, so two copies of the same lead cannot both get through.
If too few companies pass, the run stops short and says why. It never pads the list to hit the target.

What was the result?

A working lead tool the sales team starts from a web form.
No paid data subscription. The only paid call is the AI step.
Measured AI cost on a real run: $0.0046 per company researched.
Built in 19 days, from 3 to 22 September 2026, across 31 versions of the workflow.
The tool is still in testing, so I do not quote a leads-per-week number yet.

What would this look like for your business?

Tell me who you sell to and where. I build an n8n workflow that finds matching companies, checks each contact and delivers the leads to a sheet or your CRM. You get a short call to map your current process, one workflow built, tested and documented, AI steps where they help, a written handover guide and 7 days of fixes. That is my "AI workflow automation with n8n" service, $450 on Contra.
Like this project

Posted Sep 15, 2026

Internal tool for the Calilio sales team. n8n finds companies in 16 free public sources, checks every email in 4 steps and never hands over a lead twice.