Du börjar med ett namn och ett företag. Sen blir det fem flikar, tre sökningar och en hel del ”är det här rätt person?” innan du ens skriver första raden i din outreach.
Den här LinkedIn Gmail automation slår hårdast mot SDR:er och lead gen-team. Byråägare som kör outbound åt kunder känner också av det. Grundare som bygger sin pipeline själva? Samma röra, bara mindre tid att hantera det.
Det här flödet tar grundläggande prospektinfo, hittar den mest sannolika LinkedIn-träffen, hämtar företagskontext och mejlar dig en färdig uppföljningsplan som går att använda direkt. Du får se vad det gör, varför det spelar roll och hur du rullar ut det utan att förvandla dagen till ett setup-projekt.
Så fungerar automatiseringen
Här är hela workflowet du kommer att sätta upp:
n8n Workflow Template: LinkedIn till Gmail: prospektanalys levereras färdig
flowchart LR
subgraph sg0["Form Submission Flow"]
direction LR
n0["<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/html.dark.svg' width='40' height='40' /></div><br/>Scrape Page Content"]
n1["<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/>Form Submission Trigger"]
n2@{ icon: "mdi:cog", form: "rounded", label: "Fetch LinkedIn Search", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Interpret Search Results", pos: "b", h: 48 }
n4["<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/>No Match Response"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Matching Profiles", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Limit Profile Output", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Parsed Results", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Profile Exists Check", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Build LinkedIn Query", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Build Company Query", pos: "b", h: 48 }
n11["<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/html.dark.svg' width='40' height='40' /></div><br/>Scrape Company Page"]
n12@{ icon: "mdi:cog", form: "rounded", label: "Fetch Company Search", pos: "b", h: 48 }
n13@{ icon: "mdi:robot", form: "rounded", label: "Interpret Company Results", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Company Result", pos: "b", h: 48 }
n15@{ icon: "mdi:robot", form: "rounded", label: "Generate Followup Content", pos: "b", h: 48 }
n16["<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/merge.svg' width='40' height='40' /></div><br/>Combine Data Streams"]
n17@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Email", pos: "b", h: 48 }
n18["<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/>Completion Confirmation"]
n16 --> n15
n14 --> n16
n17 --> n18
n9 --> n2
n6 --> n8
n10 --> n12
n3 --> n7
n12 --> n11
n7 --> n5
n1 --> n9
n1 --> n10
n5 --> n6
n8 --> n16
n8 --> n4
n2 --> n0
n13 --> n14
n0 --> n3
n11 --> n13
n15 --> n17
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 n1 trigger
class n3,n13,n15 ai
class n5,n8 decision
classDef customIcon fill:none,stroke:none
class n0,n1,n4,n11,n16,n18 customIcon
Varför detta spelar roll: prospektresearch bromsar outreach till krypfart
Manuell prospektresearch känns ”snabb” tills du gör den 20 gånger i rad. Du googlar ett namn, öppnar några resultat, jämför titlar, rimlighetskollar företaget och försöker sedan skriva något som inte låter som en mall. Under tiden tvivlar du på grunderna: fel profil, inaktuell roll eller en företagssida som bara är fluff. Den verkliga kostnaden är inte bara tid. Det är momentum. När research känns krånglig skjuts outreach upp, uppföljningar halkar efter och pipelinen torkar sakta ut.
Det summeras snabbt. Så här faller det isär i verkligheten.
- Att hitta rätt LinkedIn-profil tar ofta 10 minuter per person när namnen är vanliga.
- När du blir osäker på träffen tappar du självförtroende och skriver om mejl mer än nödvändigt.
- Företagskontexten är utspridd, så personalisering blir ”tillräckligt bra” i stället för användbar.
- Copy-paste av anteckningar mellan verktyg skapar småfel som blir pinsam outreach.
Det du bygger: matchning av LinkedIn-profil + uppföljningsguidning till Gmail
Det här flödet startar när någon skickar in ett enkelt formulär med för- och efternamn samt företag (valfritt även roll). Utifrån det bygger det automatiskt två Google-sökningar: en som är riktad mot att hitta personens LinkedIn-profil och en som är riktad mot att hitta korrekt formaterad företagsinformation. Det använder Bright Data för att hämta sökresultaten, och sedan GPT-4o-mini för att tolka stökig HTML och plocka ut de mest sannolika träffarna. Om flödet kan identifiera en LinkedIn-profil med hög säkerhet slår det ihop signaler från person och företag, genererar en köparpersona och en uppföljningsstrategi och skickar dig ett HTML-stylat mejl. Om det inte hittar en matchning returnerar det ett tydligt ”ingen matchning”-svar så att du inte blir sittande och gissa.
Flödet triggas av formuläret och kör sedan två parallella research-spår (person och företag). Efter en snabb matchningskontroll kombineras allt till en kort, handlingsbar outreach-plan och levereras till Gmail via ett steg som skickar mejl.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du researchar 15 prospekt per dag. Manuellt tar det oftast runt 10 minuter att hitta en LinkedIn-matchning du kan lita på och ytterligare 5 minuter för att fånga företagskontext och skissa en uppföljning, alltså cirka 4 timmar per dag. Med det här flödet skickar du in formuläret på ungefär en minut per prospekt och väntar sedan på att mejlet landar i Gmail. Det blir närmare 15 minuter aktivt arbete för hela listan, plus bearbetningstid i bakgrunden.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Bright Data för att hämta Googles sökresultat.
- OpenAI (GPT-4o-mini) för att tolka resultat och skriva uppföljningar.
- SMTP-e-postkonto (hämta det från din e-postleverantörs sida för SMTP-inställningar)
Svårighetsgrad: Medel. Du kopplar in credentials, testar några exempelinlämningar och justerar prompts efter din tonalitet.
Vill du att någon bygger detta åt dig? Prata med en automationsspecialist (gratis konsultation i 15 minuter).
Steg för steg
Ett prospekt skickar in ett enkelt formulär. Triggern fångar personens namn och företag, vilket gör att dina indata blir felfria och repetitiva. Inga fler ”var lade jag den anteckningen?”-ögonblick.
Två sökningar körs parallellt. En query formateras för att hitta sannolika LinkedIn-profiler, och en annan query letar efter företagssidor och publik info. Bright Data hämtar Googles resultatsidor så att du slipper skrapa något manuellt.
AI tolkar de stökiga delarna. GPT-4o-mini läser den hämtade HTML:en och extraherar strukturerade resultat (profilkandidater, titlar, URL:er och företagssnuttar). Sedan filtrerar, begränsar och kontrollerar n8n om en användbar LinkedIn-profil hittades.
Du får ett leveranspaket som är klart för Gmail. Flödet slår ihop person- och företagskontext, genererar en persona och en uppföljningsstrategi och skickar det via din SMTP-mejlnod. Om det inte finns någon matchning säger formulärsvaret till direkt så att du kan rätta indata.
Du kan enkelt justera prompts och matchningsregler efter din marknad (till exempel strängare titelmatchning för enterprise-outreach). Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera formulärtriggern
Sätt upp formulärinmatningen som samlar in prospektuppgifter och startar workflowet.
- Lägg till och konfigurera Form Submission Trigger med Form Title inställt på
Sales prospectingoch Response Mode inställt pålastNode. - I Form Submission Trigger lägger ni till fält för Person Fullname och Person's company, båda obligatoriska, och ställer in texten på skickaknappen till
Get References. - Bekräfta att workflowet startar när formuläret skickas in och att Form Submission Trigger skickar utdata till både Build LinkedIn Query och Build Company Query parallellt.
Person Position och Category i AI-prompter, men dessa fält finns inte i Form Submission Trigger. Lägg till dessa fält i formuläret eller ta bort uttrycken i Interpret Search Results och Interpret Company Results för att undvika runtime-fel.Steg 2: Bygg sökfrågorna (parallella grenar)
Bygg Google-sök-URL:er för LinkedIn-profiler och företagssidor.
- I Build LinkedIn Query ställer ni in google_search till
=https://www.google.com/search?q=site%3Alinkedin.com%2Fin+{{ encodeURIComponent($json["Person Fullname"].trim() + " " + $json["Person's company"].trim()) }}. - I Build Company Query ställer ni in google_search till
=https://www.google.com/search?q={{ encodeURIComponent($json["Person's company"].trim()) }}. - Verifiera det parallella flödet: Form Submission Trigger skickar utdata till både Build LinkedIn Query och Build Company Query parallellt.
Steg 3: Hämta och tolka LinkedIn-sökresultat
Skrapa Googles resultat för LinkedIn-profiler och extrahera matchande prospekt.
- Konfigurera Fetch LinkedIn Search med URL inställt på
={{ $json.google_search }}och Format inställt påjson. Credentials krävs: Anslut era brightdataApi-credentials. - I Scrape Page Content ställer ni in Operation till
extractHtmlContent, Data Property Name tillbody, och säkerställer att extraktionsvärdena inkluderartitleochbody. - I Interpret Search Results behåller ni JSON Output aktiverat och validerar promptuttrycken som refererar till formulärdata. Credentials krävs: Anslut era openAiApi-credentials.
- Använd Expand Parsed Results med Field to Split Out inställt på
message.content.results, och filtrera sedan i Filter Matching Profiles där={{ $json.match }}är lika medtrue. - Begränsa utdata till det bästa resultatet i Limit Profile Output, och skicka sedan vidare till Profile Exists Check för att grena för matchningar respektive inga matchningar.
Steg 4: Hämta och tolka företagsresultat
Skrapa företagssökresultat och extrahera den bästa företagsposten.
- Konfigurera Fetch Company Search med URL inställt på
={{ $json.google_search }}och Format inställt påjson. Credentials krävs: Anslut era brightdataApi-credentials. - I Scrape Company Page ställer ni in Operation till
extractHtmlContentoch Data Property Name tillbody, med extraktionsvärden förtitleochbody. - Använd Interpret Company Results med JSON Output aktiverat för att returnera den bästa företagsmatchningen. Credentials krävs: Anslut era openAiApi-credentials.
- Dela upp AI-utdata med Split Company Result där Field to Split Out är inställt på
message.content.
Steg 5: Slå ihop data och generera uppföljningsinnehåll
Kombinera person- och företagsdata för att skapa ett personligt uppföljningsmeddelande.
- Säkerställ att Profile Exists Check routar matchningar till Combine Data Streams och icke-matchningar till No Match Response.
- Konfigurera Combine Data Streams med Mode inställt på
combineoch Combine By inställt påcombineByPosition. - I Generate Followup Content behåller ni JSON Output aktiverat och verifierar att prompten använder
{{ JSON.stringify($json)}}för att bygga HTML-rapporten. Credentials krävs: Anslut era openAiApi-credentials.
Steg 6: Konfigurera svar och e-postleverans
Skicka det genererade uppföljningsmejlet och returnera en bekräftelse till formuläranvändaren.
- I Dispatch Email ställer ni in HTML till
={{ $json.message.content.content }}, Subject tillNext followup, och ersätter[YOUR_EMAIL]i To Email och From Email. Credentials krävs: Anslut era smtp-credentials. - Konfigurera Completion Confirmation med Completion Title inställt på
Thank you!och Completion Message inställt påWe have sent you an email. - Verifiera att No Match Response returnerar ett meddelande med hjälp av uttrycket för svarstext
=We didn't found a person for "{{ $('Form Submission Trigger').item.json["Person Fullname"] }} {{ $('Form Submission Trigger').item.json["Person Fullname"] }} {{ $('Form Submission Trigger').item.json["Person's company"] }}".
Steg 7: Testa och aktivera ert workflow
Validera hela flödet från början till slut och aktivera automationen för produktion.
- Klicka på Execute Workflow och skicka in formuläret i Form Submission Trigger med ett verkligt prospektnamn och företag.
- Bekräfta att körningen lyckas: matchade profiler passerar Profile Exists Check, data slås ihop i Combine Data Streams, och ett formaterat mejl skickas via Dispatch Email.
- Vid inga matchningar verifierar ni att formulärsvaret visar texten från No Match Response.
- Slå om workflowet till Active för att aktivera live-inlämningar av formulär.
Felsökningstips
- Bright Data-credentials kan löpa ut eller kräva specifika behörigheter. Om saker skapar fel, kontrollera först dina zone-/access-inställningar i Bright Data-dashboarden.
- Om du använder Wait-noder eller extern rendering varierar processingtider. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
- Standardprompts i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera output för alltid.
Snabba svar
Cirka 30 minuter om dina credentials är klara.
Nej. Du kopplar mest konton och justerar ett par prompts och fält.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med Bright Data-användning och kostnader för OpenAI API (oftast några cent per körning, beroende på promptstorlek).
Två alternativ: n8n Cloud (managed, enklast setup) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du troligen. Du kan ändra hur strikt matchningen är genom att justera steget ”Filter Matching Profiles” och logiken i ”Profile Exists Check”. Den snabbaste vinsten är att redigera prompten i ”Generate Followup Content” så att den matchar ditt erbjudande, din ICP och din tonalitet. Du kan också byta ut formulärtriggern mot Telegram-intag om du vill att säljare ska skicka in prospekt från mobilen.
Oftast är det en ogiltig token, en inaktiverad zone eller en behörighetsmissmatch på Bright Data-sidan. Skapa nya credentials och välj dem sedan på nytt i Bright Data-noderna i n8n. Om det bara misslyckas på vissa sökningar kan du träffa på anti-bot-blockeringar eller få en samtyckessida, vilket innebär att den hämtade HTML:en inte innehåller riktiga resultat. Justera i så fall Bright Data-konfigurationen eller lägg till ett fallback-format för queryn.
På en typisk n8n Cloud-plan kör de flesta team bekvämt hundratals till tusentals per månad, beroende på din körningsgräns. Om du self-hostar finns ingen plattformsgräns för körningar, men din server och din Bright Data/OpenAI-användning blir de praktiska begränsningarna. Varje prospekt är oftast en körning, och den tunga delen är scraping + AI-tolkning, inte n8n i sig.
Ofta, ja, eftersom det här flödet behöver branching, filtrering och lite ”limlogik” för att avgöra vilken profil som är rätt. n8n ger dig också ett self-host-alternativ, vilket är bra när volymerna ökar och du inte vill ha överraskningar med prissättning per task. Zapier eller Make kan fortfarande fungera om du förenklar processen och accepterar mindre kontroll. Ärligt talat är avgörande faktorn hur kräsen du behöver vara med matchningen. Prata med en automationsspecialist om du vill ha hjälp att välja.
När detta väl rullar slutar prospektresearch vara ett dagligt fartgupp och börjar fungera som infrastruktur. Flödet tar hand om de repetitiva delarna så att du kan fokusera på samtal och pipeline.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.