Streamlining Sales Prospecting: Meet Miquel’s LinkedIn Profile Finder
Imagine Miquel, a busy sales professional juggling dozens of leads daily. His challenge? Spending hours manually hunting down accurate LinkedIn profiles to personalize his outreach. Each minute lost searching translates into fewer follow-ups, lost opportunities, and revenue slipping away. Mistakes in identifying the right profile compounds the pain, causing embarrassing irrelevant contacts. That’s exactly the problem this LinkedIn Profile Finder workflow aims to resolve.
By automating discovery and analysis of LinkedIn profiles for prospects entered via a simple web form, Miquel can now reclaim precious hours and improve conversion rates with more targeted engagement.
What This Automation Does ⚙️
When a user submits a prospect’s full name and company via the embedded form, the workflow kicks into gear:
- 1. Constructs a Google search URL tailored to find LinkedIn profiles matching the prospect’s name and company.
- 2. Uses Bright Data’s Web Unlocker to scrape Google search results circumventing typical scraping blocks.
- 3. Extracts the HTML content from Google search result pages for analysis.
- 4. Sends the extracted HTML to GPT-4O-MINI, which parses and extracts LinkedIn profile details including links, full names, positions, and companies.
- 5. Filters profiles strictly matching the entered prospect details, narrowing results down to the most relevant entry.
- 6. Simultaneously conducts a company-focused Google search and analysis to gather business insights.
- 7. Generates a personalized outreach follow-up message using GPT-4O-MINI analyzing the combined company and person data as a buyer persona.
- 8. Sends this custom-tailored email directly to the user via SMTP with actionable advice for the next step in sales.
- 9. Provides friendly feedback via the form confirming that the email has been sent or notifying if no matching profile was found.
This automation slashes manual research time from hours to minutes and boosts sales effectiveness with AI-driven insights.
Prerequisites ⚙️
- n8n automation platform account (self-hosting optional for full control – see self-hosting) 🔌
- Bright Data account with Web Unlocker zone enabled for scraping 📊
- OpenAI account with GPT-4O-MINI model access 🔑
- SMTP email credentials for sending follow-up messages 📧
- A form trigger node configured within n8n for prospect input 💬
Step-by-Step Guide to Build the LinkedIn Profile Finder Workflow
1. Capture Prospect Data via Form Trigger
Navigate to your n8n editor and add a Form Trigger node.
Configure it with the path search-user, include two fields: “Person Fullname” and “Person’s company”, both as required.
Set the button label to “Get References” and a brief form description.
When triggered, this node captures prospect input for the workflow’s queries.
Common mistake: Forgetting to enable form publishing or misnaming fields will break downstream references.
2. Format Google Search URLs for LinkedIn and Company Analysis
Add two Set nodes named “Edit Url LinkedIn” and “Edit Company Search” respectively.
For LinkedIn search, set the expression to build a Google query:
=https://www.google.com/search?q=site%3Alinkedin.com%2Fin+{{ encodeURIComponent($json["Person Fullname"].trim() + " " + $json["Person's company"].trim()) }}
For the company search URL:
=https://www.google.com/search?q={{ encodeURIComponent($json["Person's company"].trim()) }}
You should see the URLs updating dynamically when the form triggers.
Common mistake: Typos in the expression or missing URL encoding can produce invalid search URLs.
3. Scrape Google Search Results Using Bright Data
Add two Bright Data nodes: one for LinkedIn results, one for company results.
Configure each with the URL from the corresponding Set node and use the “web_unlocker1” zone for reliable scraping.
Make sure your API keys are correctly set in Bright Data credentials.
Common mistake: Using incorrect zones or missing credentials will cause API failures.
4. Extract HTML Content from Scraped Pages
Add HTML Extract nodes to parse the title and body tags from the raw HTML responses: one for LinkedIn results, one for company results.
This pulls structured content for AI processing next.
Common mistake: Failing to map the input data property correctly will stop HTML extraction.
5. Parse Google Search Results for LinkedIn Profiles with GPT-4O-MINI
Add the OpenAI (Langchain) node configured with model gpt-4o-mini.
Set system prompt to instruct the AI to extract LinkedIn links, names, positions, and company info from the HTML content.
Use expressions to inject user input for matching verification in the prompt.
Common mistake: Incorrect JSON path references in prompts cause parsing errors.
6. Filter and Limit to the Most Relevant Profile
Use a Filter node to keep only matches with a “match” property set to true.
Follow with a Limit node to restrict output to the top profile match.
This step ensures precise targeting of the intended prospect.
Common mistake: Not correctly setting the filter condition can let unwanted profiles through.
7. Verify If a Profile Was Found or Not
Add an If node that checks for existence of data post-filter.
If no profile is found, connect to a Form node that shows a polite “No person found” message referencing the original input.
Common mistake: Failing to map the condition properly leads to always showing “not found” or no message at all.
8. Parse Company Google Results Using GPT-4O-MINI
Pass the extracted company HTML content into another OpenAI (Langchain) node to pull relevant business insights about the prospect’s company.
Configure prompts to output the company’s top matching search entry.
Common mistake: Using the wrong data input prevents accurate company parsing.
9. Combine Person and Company Data
Use a Merge node configured to combine data streams by position (synchronized merge).
This creates a consolidated dataset for the follow-up message generation.
10. Generate Personalized Follow-Up Email with GPT-4O-MINI
Configure an OpenAI (Langchain) node to receive merged company and person data.
Set a system prompt to analyze the data as a buyer persona, outputting recommendations and outreach steps in Tailwind-styled raw HTML.
Pro Tip: Tailwind styling in the HTML ensures a clean professional email look.
11. Email the Follow-Up to the User
Add an Email Send node with your SMTP credentials.
Set the recipient to the internal user email (e.g., [email protected]) with a subject like “Next followup” and HTML body from the previous node.
Common mistake: SMTP misconfiguration will block email dispatch.
12. Display Form Completion Message
Finish with a Form node configured for completion mode with a thank-you message confirming the email was sent.
Customizations ✏️
- Change Search Scope: In “Edit Url LinkedIn” node, modify the Google query to include other platforms like GitHub by changing
site:linkedin.com/intosite:github.comfor alternative profile sources. - Add More Data Fields: Extend the form trigger to collect position or email, then adjust GPT-4 prompts to parse additional information and enrich follow-up messages.
- Switch AI Model: Update OpenAI node modelId to a more powerful GPT version like
gpt-4for enhanced parsing and messaging sophistication. - Email To User Input: Modify the email recipient in the “Send Email” node to dynamically use the form submitter’s email field for personalized delivery.
Troubleshooting 🔧
Problem: “Bright Data API returns an error or no data.”
Cause: Wrong credentials or zone selection.
Solution: Double-check Bright Data API key and set zone to web_unlocker1. Test with sample URLs in Bright Data console.
Problem: “GPT-4O-MINI returns parsing error or empty results.”
Cause: Prompt template references incorrect data paths.
Solution: Validate JSON references in prompt, especially the expression inserting the user’s input parameters.
Problem: “Emails do not send.”
Cause: SMTP misconfiguration or network blocks.
Solution: Review SMTP credentials, use a test mail client, and ensure network firewall rules allow SMTP traffic.
Pre-Production Checklist ✅
- Confirm proper API keys for Bright Data and OpenAI configured in n8n Credentials.
- Test form trigger with valid sample prospect data to verify all nodes receive expected input.
- Ensure all expressions pointing to JSON data fields match the current workflow structure.
- Verify SMTP settings by sending a test email directly from the “Send Email” node.
- Validate the AI response formatting is safe for email HTML use.
Deployment Guide
Activate the workflow by toggling it to “active” in n8n.
Embed the form URL on your site or share directly for users to submit prospect information.
Monitor workflow runs via n8n’s execution log for errors or unusual results.
Periodically update AI prompts and API credentials to keep data fresh and compliant.
Frequently Asked Questions
- Can I replace Bright Data with another scraping service?
- Yes, but you need to adjust the scraping nodes and ensure the service supports Google SERP extraction with similar anti-bot measures.
- Is GPT-4O-MINI sufficient for accurate parsing?
- Generally yes for initial experiments, but upgrading to GPT-4 can improve data extraction fidelity and message quality.
- Is the prospect data securely handled?
- All data flows within n8n and trusted APIs. Use HTTPS endpoints and secure your SMTP credentials. Avoid logging sensitive information unnecessarily.
- Can this workflow handle many simultaneous requests?
- It is designed for low to moderate volume; higher load may require scaling n8n workers and upgrading Bright Data plans.
Conclusion
By building and deploying this LinkedIn Profile Finder workflow in n8n, guided by Bright Data scraping and GPT-4O-MINI parsing, you’ve cut down manual prospect research time dramatically.
This automation brings personalized and actionable sales insights swiftly via email, empowering Miquel and sales teams to focus on closing deals rather than chasing data.
Next steps could include integrating CRM updates, expanding profile sources, or automating additional outreach follow-ups to further boost your sales process automation.
Keep experimenting and improving — your smarter prospecting journey starts here!