LinkedIn + Browserflow, personalized requests on autopilot
Copying LinkedIn profile links into a sheet, writing “personalized” notes from scratch, then losing your place after the fifth tab. It’s busywork that looks small, but steals whole afternoons.
Growth marketers feel it when pipeline goals creep up. A solo founder feels it when “networking” turns into a second job. And if you run an agency, LinkedIn outreach automation is the difference between consistent outreach and random bursts of activity.
This workflow uses Browserflow to pull leads from a LinkedIn search, Groq to write tailored connection notes, then sends requests in controlled batches. You’ll see what it does, what you need, and how to avoid the common failure points.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: LinkedIn + Browserflow, personalized requests on autopilot
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "Groq Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Scrape profiles from a linke..", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>On form submission"]
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out1", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Send a linkedin message1", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Limit", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Code1"]
n7 --> n5
n6 --> n0
n0 --> n7
n4 --> n6
n1 -.-> n0
n3 --> n2
n2 --> n4
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n3 trigger
class n0 ai
class n1 aiModel
class n7 code
classDef customIcon fill:none,stroke:none
class n3,n7 customIcon
The Problem: LinkedIn Outreach Gets Messy Fast
Manual LinkedIn outreach sounds simple until you try to do it consistently. You run a search, open profiles one-by-one, skim for context, then attempt a “personal” note that doesn’t sound like a template. After a few messages, you’re tired, the quality drops, and you start second‑guessing everything. Worse, you can’t easily control pacing, which increases the risk of tripping rate limits or getting flagged. And when results come in later, there’s no clean record of what you sent or why you reached out in the first place.
It adds up fast. Here’s where it usually breaks down.
- Finding 20 good profiles can take an hour, even before you write a single message.
- Context switching between search results, profiles, and notes kills momentum, so outreach happens in bursts instead of daily.
- Messages drift into generic filler, which means more ignored requests and more time rewriting.
- Without batch control and delays, you end up sending too quickly or inconsistently, which is exactly what platforms dislike.
The Solution: Browserflow Scraping + Groq Personalization + Automated Sends
This n8n workflow turns a LinkedIn search into a small, controlled outreach batch with tailored connection notes. It starts when you submit a simple form trigger in n8n (think “run my search now”). Browserflow then scrapes profiles from your chosen LinkedIn search and returns a JSON list of people, including names, profile URLs, taglines, locations, and summaries. n8n splits that list into individual leads, caps the batch size (currently three), and passes each profile into an AI Agent powered by Groq’s LLaMA model. The agent generates a networking-first message based on what’s actually on the profile. Finally, a Code step validates and formats the output so Browserflow can send the connection request with sensible delays and retries.
The workflow starts with a LinkedIn search scrape via Browserflow. Then Groq drafts a short, specific connection message for each person, and n8n formats it for sending. Browserflow handles the actual invite action so you’re not clicking through tabs all day.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you want to connect with 15 people from a LinkedIn search each week. Manually, if you spend maybe 5 minutes reviewing each profile and 5 minutes writing a note, that’s about 2.5 hours (and that’s before the tab chaos). With this workflow, you trigger the run in a minute, let it process in small batches (three at a time), and only review the drafted notes if you want. Even if you spend 15 minutes spot-checking, you still keep roughly 2 hours for work that actually moves deals forward.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Browserflow to scrape searches and send invites
- Groq to generate low-cost personalized messages
- Groq API key (get it from your Groq dashboard)
Skill level: Intermediate. You will connect credentials, test small batches, and adjust the prompt and limits safely.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
Form submission trigger. You start the run when you’re ready, which is useful for outreach that you want to control (not something firing all day).
LinkedIn search scraping in Browserflow. Browserflow fetches profiles from your saved search criteria and returns the lead list as structured data, including URLs and short profile summaries.
Batching and AI personalization. n8n splits the list into one lead at a time, caps how many get processed (three by default), then sends each profile into the Groq-powered AI Agent to draft a networking-style connection note.
Formatting and dispatch. A JavaScript step cleans up the AI output, adds automation parameters like randomized delays, then Browserflow sends the actual connection requests.
You can easily modify the batch limit to match your comfort level and LinkedIn risk tolerance. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Submission Trigger
Set up the form that starts the workflow and captures search inputs for LinkedIn profile scraping.
- Add the Form Submission Trigger node as the workflow trigger.
- Set Form Title to
Linkedin job form. - Set Form Description to
search job. - Add form fields for Search Term, City, and Counrty, all marked as required.
Search Term, City, and Counrty.Step 2: Connect Browserflow for Profile Extraction
Configure the scraping step that pulls LinkedIn profiles based on the form input.
- Add the Extract LinkedIn Profiles node and connect it after Form Submission Trigger.
- Set Operation to
scrapeProfilesFromSearch. - Set Search Term to
{{ $json["Search Term"] }}, City to{{ $json.City }}, and Country to{{ $json.Counrty }}. - Set Nr Of Pages to
4. - Credential Required: Connect your
browserflowApicredentials.
Counrty in the form and expression. If you change it to Country without updating the expression, the node will receive empty values.Step 3: Set Up Record Splitting and Limits
Split the scraped results into individual profiles and cap the number processed per run.
- Add Split Records after Extract LinkedIn Profiles.
- Set Field To Split Out to
data. - Add Cap Items after Split Records.
- Set Max Items to
3to limit outreach volume.
Step 4: Set Up AI Message Generation and Parsing
Generate personalized outreach messages with Groq and parse the structured JSON output for downstream actions.
- Add the Outreach Message Generator node after Cap Items.
- Set Prompt Type to
defineand paste the full prompt text into Text as provided, including the JSON output format. - Ensure Outreach Message Generator uses the language model connection from Groq Chat Engine.
- Credential Required: Connect your
groqApicredentials in Groq Chat Engine (credentials are added to the parent model node, not the agent). - Add the Parse AI Output node after Outreach Message Generator and keep the provided JavaScript that extracts JSON between
```jsonand```.
Step 5: Configure the LinkedIn Message Dispatch
Send the generated message to LinkedIn using Browserflow automation.
- Add Dispatch LinkedIn Message after Parse AI Output.
- Set Operation to
sendMessage. - Set Linkedin Url to
{{ $json.linkedin_message.linkedin_url }}. - Set Message to
{{ $json.email.message_body }}. - Credential Required: Connect your
browserflowApicredentials.
Step 6: Test and Activate Your Workflow
Verify the workflow end-to-end and enable it for production use.
- Click Test workflow and submit the Form Submission Trigger with valid
Search Term,City, andCounrtyvalues. - Confirm Extract LinkedIn Profiles returns a
dataarray and Split Records produces individual profiles. - Verify Outreach Message Generator produces JSON output and Parse AI Output outputs
linkedin_messageandemailfields. - Check that Dispatch LinkedIn Message successfully sends a message to the profile URL.
- When satisfied, toggle Active to enable the workflow for ongoing form submissions.
Common Gotchas
- Browserflow credentials can expire or need specific permissions. If things break, check your Browserflow workspace connection and token settings first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About 30 minutes if your Browserflow and Groq accounts are ready.
No. You’ll mostly connect accounts and tweak the prompt and batch limit.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Groq API costs (often just a few dollars monthly at small volumes) and any Browserflow plan you’re on.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, but do it in two places. Adjust the AI Agent system prompt to match your audience (industry, location, tone), then update the “Parse AI Output” Code node if you change the output structure. Common customizations include adding a hard character limit for connection notes, switching from “networking” to “book a call” language, and inserting a required personalization hook (like referencing a tool they use).
Usually it’s credentials or a Browserflow workspace change. Re-check the Browserflow node configuration in n8n, then confirm your token still has access to the right project. Also look for LinkedIn friction: searches that work in your browser can fail when scraping gets blocked, so try a smaller search, then increase slowly. Frankly, if you see intermittent errors, it’s often pacing; lower your batch size and increase delays.
It depends more on your LinkedIn risk tolerance than n8n. The workflow is set to 3 leads per run by default, and you can scale that up cautiously; on self-hosted n8n there’s no execution cap beyond your server resources. On n8n Cloud, your monthly executions depend on plan, so very large lists can push you into a higher tier.
Often, yes, because this flow needs batching, parsing, and fallback handling that simple two-step zaps struggle with. n8n is also easier to self-host, which matters when you run lots of outreach experiments. Zapier and Make can still work if you’re only generating drafts and not automating the sending. If you’re unsure, Talk to an automation expert and describe your exact volume and risk tolerance.
Once this is running, outreach stops being a weekly “catch up” task. You send thoughtful requests in small batches, and you keep your time for the conversations that follow.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.