Automating Lead Research with n8n, Perplexity, and Apify: A Case Study
Good sales reps do their homework before a call. They look the person up on LinkedIn, skim what they've been posting, read about the company, maybe check reviews to see what customers complain about. It's the right thing to do and it takes 45 minutes if you do it properly, which is why it gets done properly about a third of the time.
The team I worked with on this wanted it done properly every time, without hiring someone to do it. This is the case study of the n8n workflow that does the homework for them.
The Problem
The client is a B2B sales team. Before every outreach or call, someone had to put together a prospect report: LinkedIn profile and recent posts, company background, and customer reviews, distilled into likely pain points and what to lead with. Manual research took 45 minutes or more per lead, and the quality varied depending on who did it and how much time they had that day.
They wanted the same brief, at the same quality, for every prospect, delivered before the rep needed it.
How It Works
The workflow runs in n8n and is triggered by a booked call:

1. A call gets booked. The trigger is the calendar. When a prospect books time, the workflow starts, so the brief exists before anyone has to think about it.
2. Research the person. Relevance AI pulls the prospect's public LinkedIn profile: recent posts, job history, education. Those get parsed into separate pieces so the later steps can use them cleanly.
3. Research the company. A Perplexity call writes a company summary with recent news, where they sit in their market, and who they compete with, with citations. Then Apify scrapes the company's one-to-three star TrustPilot reviews. The bad reviews are deliberate. That's where the pain lives.
4. Analyze. Two GPT nodes do the thinking. The first writes a combined person-and-company profile. The second reads everything and produces a list of likely pain points, each paired with how the client's offering addresses it.
5. Build and send the brief. The output gets dropped into a clean HTML template and emailed to the rep, with the prospect's name in the subject line so it's easy to find on the way into the call.
Forty-five minutes of research, done in under two.
Where the Time Actually Went
Rate limits. Every source in this workflow has limits on how fast you can hit it, and they're all different. Pacing the calls and building fallbacks so one blocked request didn't kill the whole run took longer than wiring the sources up.
Four sources, one voice. Posts, job history, a company summary, and a pile of angry reviews are four very different kinds of text. Getting a model to turn them into a single readable brief, rather than four summaries stapled together, was most of the prompt work.
Context limits. At the time, long review lists and long post histories didn't fit in one model call. That meant chunking and summarizing in stages, which is less of a problem with today's models but was a real constraint then.
Email that looks right. An HTML report that renders cleanly in Gmail, Outlook, and on a phone is more finicky than it should be. Light, simple HTML won.
The Results
- Research time per prospect went from 45+ minutes to under two.
- Time saved in the first month: 6 to 8 hours per week.
- Briefs were more consistent and more detailed than the human-written ones they replaced.
- Every prospect got personalized pain points, with no writer in the loop.
"We used to spend half an hour researching each lead before outreach. Now it's all there, clean summaries, company context, even pain points we hadn't thought about. Tom made it easy for us to scale research without losing the human touch." - Sales Strategy Lead
Since launch, we've added Slack delivery to the sales channels, retry routines so a failed scrape doesn't break the run, and tags so briefs can be grouped by region, industry, or campaign.
What I'd Do Differently Today
Fewer nodes, one agent. The research and analysis groups in that diagram are now a single agent call with a few tools: search the web, read a profile, pull reviews. The agents post covers why that's possible now and wasn't then. I'd still keep the trigger, the HTML step, and the email as plain, predictable nodes.
Keep the bad reviews. If I had to cut a source, it wouldn't be this one. The company summary tells you what the company says about itself. The one-star reviews tell you what's actually broken, and that's what a good opening line is made of.
Flag uncertain matches. The one failure I worry about with this kind of system is researching the wrong Jane Smith. Today I'd have the workflow note how confident it is in the profile match and put a small warning at the top of the brief when it isn't sure, so the rep knows to double-check before quoting someone's LinkedIn post back to them.
Wrapping Up
The shape here is worth copying even if your sources are different: something happens (a call gets booked), the system gathers from several places, one model writes the brief, and it shows up where the person already looks. The trigger is the underrated part. In my experience, research that runs because a meeting was booked actually gets read, and research that runs on a schedule tends to pile up in a folder nobody opens.
If you're weighing something similar, what to know before you automate is the checklist I'd start with, and the low-code overview covers the platforms this could run on.
If you want help thinking through what to automate first, book a free 30-minute call and we'll map it out together.
Frequently asked questions
Can you automate prospect research before a sales call?
Yes. In this build, a booked call triggers the workflow: it pulls the prospect's recent LinkedIn posts and work history, researches the company, scrapes the company's one-to-three star reviews, and has a language model write a profile and a list of likely pain points. The brief lands in the rep's inbox as an HTML email. Under two minutes, no researcher involved.
Where do the pain points come from?
Mostly from the bad reviews. One-to-three star TrustPilot reviews are where customers say what frustrates them about a company, and a model reading twenty of those alongside the company summary can usually name the two or three problems a prospect is living with. The prospect's own LinkedIn posts fill in what they personally care about.
What tools do you need for automated lead research?
An orchestrator (n8n here), something to pull LinkedIn data (Relevance AI in this build), a research model with web access (Perplexity), a scraper for reviews (Apify), a language model to write the summary (OpenAI), and email. Each piece is swappable. The pattern is what matters: gather from several sources, summarize once, deliver where the rep already looks.
How accurate are AI-generated prospect briefs?
Good enough to replace a 45-minute manual version, and more consistent, because the quality no longer depends on who did the research. The weak spot is a wrong profile match, which is why I'd flag low-confidence matches for a quick human check rather than let them through.
How long does it take to build?
More than 15 hours for this one. Each source has its own rate limits and quirks, the prompts that turn four sources into one readable brief took real iteration, and getting an HTML email that looks clean in every inbox is its own small project.
