Du har ett samtal om 20 minuter. Du öppnar LinkedIn, söker upp personen, scrollar deras inlägg, tappar bort fliken, öppnar den igen och inser sedan att du fortfarande inte har något konkret att säga mer än ”såg ditt senaste inlägg”. Det är inte förberedelse. Det är panik.
Den här automationen för Slack LinkedIn-briefs träffar Customer Success Managers hårdast, men Account Managers och säljledare känner av den också. Du skriver ett Slack-kommando, och en strukturerad brief landar i Gmail med teman, frekvens och senaste höjdpunkter som du kan använda direkt.
Nedan ser du hur workflowet körs, vad det producerar och vad du behöver för att sätta upp det så att research inför samtal slutar äta upp din kalender.
Så fungerar den här automationen
Hela n8n-workflowet, från trigger till slutlig output:
n8n Workflow Template: Slack + Gmail: LinkedIn-briefar klara före samtal
flowchart LR
subgraph sg0["Structured Output Pa 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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
n1@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Summer McBriefing", 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/html.dark.svg' width='40' height='40' /></div><br/>HTML"]
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Send report via Email", pos: "b", h: 48 }
n6["<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/slack.svg' width='40' height='40' /></div><br/>Tell on slack that no full n.."]
n7@{ icon: "mdi:brain", form: "rounded", label: "GPT 4.1-mini for classificat..", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Do we have a full name ?", pos: "b", h: 48 }
n9@{ icon: "mdi:brain", form: "rounded", label: "GPT 4.1-mini to extract firs..", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Extract firstName and lastName", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Get Linkedin Profile URL", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Find Linkedin Profile", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Scrap what this person poste..", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Structure recent posts", pos: "b", h: 48 }
n15@{ icon: "mdi:brain", form: "rounded", label: "GPT 4.1", pos: "b", h: 48 }
n4 --> n5
n15 -.-> n3
n0 --> n8
n1 --> n3
n3 --> n4
n12 --> n11
n14 --> n1
n8 --> n10
n8 --> n6
n11 --> n13
n2 -.-> n3
n10 --> n12
n7 -.-> n8
n13 --> n14
n9 -.-> n10
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 n2,n3,n8,n10 ai
class n7,n9,n15 aiModel
class n11,n12,n13,n14 decision
class n0 api
classDef customIcon fill:none,stroke:none
class n0,n4,n6 customIcon
Problemet: LinkedIn-research inför samtal är långsam och inkonsekvent
Att förbereda sig inför samtal borde vara lättviktigt, men LinkedIn-research blir snabbt en tidsfälla. Du söker på ett namn, gissar vilken profil som är rätt, skummar några inlägg och försöker sedan komma ihåg vad som stack ut medan du hoppar tillbaka till dina anteckningar. Och om namnet är vanligt kan du lätt läsa fel persons innehåll. Resultatet blir ojämn förberedelse: vissa samtal får riktig kontext, andra får generiska frågor för att tiden tog slut (eller tålamodet, om vi ska vara ärliga).
Friktionen byggs på. Här är var det faller isär.
- Du lägger cirka 15 minuter per person bara på att hitta rätt profil och skanna senaste inlägg.
- Anteckningar hamnar utspridda över Slack-meddelanden, webbläsarflikar och halvklar punktlista i ett dokument.
- Det är lätt att missa mönster som publiceringsfrekvens eller återkommande teman, som ofta är de bästa samtalsöppnarna.
- När du har bråttom blir dina samtalspunkter otydliga, och samtalet startar kallare än det behöver.
Lösningen: Ett Slack-kommando som mejlar en brief som är klar att använda
Det här workflowet gör om ett enkelt Slack slash-kommando till en strukturerad Gmail-brief baserad på någons senaste LinkedIn-inlägg. Du skriver /check-linkedin Full Name i Slack, och workflowet kontrollerar först att du faktiskt angav ett fullständigt namn (inte ”John”). Sedan söker det upp den mest sannolika LinkedIn-profilen, hämtar deras senaste publika inlägg (upp till de 20 senaste) och ber AI sammanfatta det som är viktigt: vad de pratar om, hur ofta de postar och vad som är värt att referera till i ett samtal. Till sist formateras allt till en HTML-mejlrapport och skickas till din inkorg, oftast inom ungefär en minut.
Workflowet startar i Slack och går in i n8n via en webhook. Apify hanterar profilidentifiering och inläggsscraping, och OpenAI sköter den tunga analysen samt ”snabbkontrollen” för validering. Gmail levererar den färdiga briefen, så den ligger där du redan tittar innan möten.
Det du får: automation kontra resultat
| Vad det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du har 6 kundavstämningar inbokade en torsdag. Om du lägger cirka 15 minuter per person på att skanna LinkedIn blir det ungefär 90 minuters research, plus den mentala belastningen av att byta flikar och skriva anteckningar. Med det här workflowet kör du 6 Slack-kommandon på kanske 2 minuter totalt, och väntar sedan på att mejlen ska komma (oftast 30–90 sekunder styck medan du gör annat). Du går in i varje samtal med samma struktur: frekvens, teman och några senaste höjdpunkter som du kan referera till på ett naturligt sätt.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Slack för att köra slash-kommando-triggern.
- Apify för att hitta LinkedIn-profiler och scrapa inlägg.
- OpenAI API-nyckel (hämta den i OpenAI-dashboarden).
Nivå: Medel. Du kopplar konton, sätter en webhook för ett Slack slash-kommando och klistrar in några inloggningsuppgifter i n8n.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett Slack slash-kommando triggar körningen. Du skriver /check-linkedin Full Name, Slack anropar din n8n-webhook och workflowet startar direkt. Om input är ofullständig postar det ett Slack-meddelande som ber om ett fullständigt namn.
Namnvalidering och parsning sker tidigt. En lätt AI-kontroll bekräftar att det ser ut som ett riktigt fullständigt namn, och sedan extraherar workflowet för- och efternamn så att uppslag längre fram blir mer strukturerat (och mindre felkänsligt).
Apify hittar profilen och samlar in senaste inlägg. Workflowet identifierar den mest sannolika LinkedIn-profil-URL:en, scrapar sedan de 20 senaste publika inläggen och formaterar dem till en konsekvent uppsättning fält. Den datamängden aggregeras så att analysen inte behöver hantera rörig, repetitiv råtext.
OpenAI skapar briefen och Gmail levererar den. GPT-4.1 analyserar frekvens, teman och höjdpunkter, och sedan bygger n8n en HTML-rapport och mejlar den till dig. Outputen är gjord för att snabbt kunna skummas: snabba stats först, och sedan en djupare genomgång om du vill.
Du kan enkelt ändra rapportformatet så att det matchar teamets mall för samtalsförberedelser utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera webhook-triggern
Konfigurera den inkommande webhooken för att ta emot namninput som startar arbetsflödet.
- Lägg till och öppna Inbound Webhook Entry.
- Ställ in HTTP Method på
POST. - Ställ in Path på
path-placeholder-to-be-replaced-by-your-webhookoch ersätt den med er riktiga endpoint innan produktion. - Spara noden och kopiera produktions-URL:en till ert källsystem.
Steg 2: sätt upp namnvalidering och Slack-notiser
Klassificera den inkommande texten som ett fullständigt namn, extrahera för-/efternamn och avisera Slack när input är ogiltig.
- Öppna Validate Full Name och ställ in Input Text på
{{ $json.body.text }}. - Säkerställ att kategorierna inkluderar full-name och not-full-name exakt enligt konfigurationen.
- Öppna Mini GPT Classifier och bekräfta att modellen är
gpt-4.1-mini. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Mini GPT Classifier.
- Öppna Extract Given and Family och ställ in Text på
{{ $json.body.text }}. - Öppna Mini GPT Name Extractor och bekräfta att modellen är
gpt-4.1-mini. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Mini GPT Name Extractor.
- Öppna Slack Notice Missing Name och ställ in Text på
{{ $json.body.text }} is not a full name. Please send a full name to get information.. - Ställ in Channel på
{{ $json.body.channel_id }}och behåll Authentication somoAuth2. - Inloggningsuppgifter krävs: Anslut era slackOAuth2Api-inloggningsuppgifter i Slack Notice Missing Name.
- Bekräfta förgreningarna: Validate Full Name skickar output både till Extract Given and Family och Slack Notice Missing Name parallellt.
Steg 3: anslut LinkedIn-sökning och scraping (Apify)
Använd Apify-actors för att hitta LinkedIn-profilens URL och skrapa senaste inläggen.
- Öppna Lookup LinkedIn Profile och behåll Actor ID inställt på
https://console.apify.com/actors/FbqC9BRstFBddhUqj/input. - Ställ in Custom Body på
{ "firstName": "{{ $json.output.firstName }}", "lastName": "{{ $json.output.lastName }}" }. - Inloggningsuppgifter krävs: Anslut era apifyApi-inloggningsuppgifter i Lookup LinkedIn Profile.
- Öppna Fetch LinkedIn Profile URL och ställ in Resource på
Datasetsoch Dataset ID på{{ $json.defaultDatasetId }}. - Inloggningsuppgifter krävs: Anslut era apifyApi-inloggningsuppgifter i Fetch LinkedIn Profile URL.
- Öppna Scrape Recent LinkedIn Posts och behåll Actor ID inställt på
https://console.apify.com/actors/r4oNX7IHlW4RQAjKP. - Ställ in Custom Body på
{ "usernames": [ "{{ $json.linkedinProfileUrl }}" ] }. - Inloggningsuppgifter krävs: Anslut era apifyApi-inloggningsuppgifter i Scrape Recent LinkedIn Posts.
- Öppna Format Recent Posts och ställ in Resource på
Datasets, Dataset ID på{{ $json.defaultDatasetId }}och Limit på20. - Inloggningsuppgifter krävs: Anslut era apifyApi-inloggningsuppgifter i Format Recent Posts.
Steg 4: aggregera och analysera inläggsinnehåll med AI
Aggregera inläggsfält och generera den strukturerade JSON-analysen för rapporten.
- Öppna Aggregate Post Fields och verifiera att fälten som ska aggregeras inkluderar
posted_at.dateochtext. - Öppna Insight Briefing Agent och ställ in Text på
Dates:\n{{ $json.date }}\n\nPosts: \n{{ $json.text }}. - Säkerställ att Has Output Parser är aktiverat i Insight Briefing Agent.
- Öppna Structured JSON Parser och behåll Schema Type inställt på
manualmed det tillhandahållna JSON-schemat. - Öppna GPT 4.1 Summarizer och bekräfta att modellen är
gpt-4.1. - Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i GPT 4.1 Summarizer.
- Bekräfta AI-kopplingarna: GPT 4.1 Summarizer är ansluten som språkmodell för Insight Briefing Agent och Structured JSON Parser är ansluten som dess output parser.
Steg 5: konfigurera HTML-rapport och e-postleverans
Rendera HTML-rapporten och skicka den till mål-e-postadressen.
- Öppna Generate HTML Report och behåll HTML-mallen enligt leveransen.
- Bekräfta att de dynamiska platshållarna refererar till andra noder, inklusive
{{ $('Extract Given and Family').item.json.output.firstName }}och{{ $json.output.latest_post_date }}. - Öppna Dispatch Email Report och ställ in Send To på
[YOUR_EMAIL]. - Ställ in Message på
{{ $json.html }}. - Ställ in Subject på
Recent LinkedIn Activity about {{ $('Fetch LinkedIn Profile URL').item.json.personName }}. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Email Report.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att validera varje steg och aktivera sedan arbetsflödet för produktion.
- Använd test-URL:en för Inbound Webhook Entry och skicka en exempel-body som innehåller
{"text":"Ada Lovelace","channel_id":"C123456"}. - Verifiera att Validate Full Name routar ett giltigt namn till Extract Given and Family och inte triggar Slack Notice Missing Name.
- Bekräfta att Apify-noderna returnerar en profil-URL och senaste inlägg, och att Insight Briefing Agent sedan ger strukturerad JSON som output.
- Kontrollera det slutliga mejlet från Dispatch Email Report för en komplett HTML-rapport och korrekt ämnesrad.
- När allt är verifierat, slå om arbetsflödet till Active för att ta emot live-webhook-anrop.
Vanliga fallgropar
- Slack slash-kommandon kräver exakt webhook-URL och rätt appbehörigheter. Om inget triggar, kontrollera Slack-appens inställningssida för Slash Command först.
- Om du scrapar flera profiler efter varandra kan Apify-körningar ta längre tid och LinkedIn kan rate-limita. Sprid upprepade kontroller av samma profil med några timmar om du ser tomma resultat för inlägg.
- OpenAI-prompter som lämnas generiska kommer att låta generiska. Lägg in er tonalitet och vilken typ av ”samtalspunkter” ni vill ha (discovery-frågor, riskflaggor för förnyelse, stakeholder mapping) nära analyssteget, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka 15 minuter om din Slack-app och dina konton är redo.
Nej. Du kopplar Slack, Gmail, Apify och OpenAI, och klistrar sedan in en webhook-URL i inställningarna för ditt Slack slash-kommando.
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 volymer. Du behöver också räkna in kostnader för OpenAI API och Apify-användning (det här workflowet uppskattar cirka 0,05–0,09 USD per profiltitt, beroende på aktörer och volym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en smart uppgradering för vanliga namn. Du kan justera Slack-kommandots input så att det accepterar ”Fullständigt namn + företag”, och sedan uppdatera steget för profilidentifiering så att Apify (och AI-valideringen) använder den extra kontexten vid uppslag. Vanliga anpassningar är att ändra hur många inlägg du scrapar (10 kontra 20), justera briefens sektioner (bara snabbskanning eller djupare analys) och routa rapporten till en delad inkorg i stället för en enskild mottagare.
Oftast är det ett problem med appbehörigheter eller OAuth-scope, eller så pekar slash-kommandot fortfarande på en gammal webhook-URL. Kontrollera Slack-appens inställningar igen och bekräfta sedan att inloggningsuppgifterna i n8n fortfarande har åtkomst till workspace där kommandot är installerat. Om workflowet körs men Slack aldrig får ett svar kan grenen för saknat namn triggas eftersom input inte tolkades som ett fullständigt namn.
Det beror främst på din n8n-plan och dina Apify-krediter. På n8n Cloud Starter fungerar det normalt bra för jämn daglig användning, och du kan skala genom att uppgradera om du gör många uppslag. Om du self-hostar finns ingen exekveringsgräns, men serverkapaciteten spelar fortfarande roll. I praktiken kör många team från ett fåtal till några dussin kontroller per dag och följer sedan Apify-användningen eftersom scrapers är den största kostnadsdrivaren.
Ofta, ja, eftersom det här workflowet inte bara är ”flytta data från A till B”. Du gör villkorslogik (hantering av saknat namn), scraping i flera steg, aggregering och AI-analys med strukturerad output, där n8n brukar vara mer flexibelt och mindre frustrerande. Self-hosting-alternativet är viktigt om du vill ha obegränsade körningar utan att betala per task. Zapier eller Make kan fortfarande vara bra om du bara vill ha en enkel notis när någon postar. Prata med en automationsexpert om du vill ha hjälp att välja utifrån volym och budget.
Sätt upp det en gång, så blir dina samtalsförberedelser ett repeterbart system i stället för en sista-minuten-rusning. Workflowet gör grävandet så att du kan fokusera på samtalet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.