Rekryterarutskick spårar ur på samma tråkiga ställe varje gång. Du hittar en lovande profil, kopierar detaljer till ett kalkylark, skickar ett “snabbt” mejl och tappar sedan tråden när veckan blir hektisk.
Den här automationen för Gmail-utskick drabbar rekryterare först, helt ärligt. Men team leads inom talent acquisition och byråägare som driver flera searcher samtidigt känner av det också. Resultatet är enkelt: kandidater får uppföljningar i tid och du får en pipeline du faktiskt kan lita på.
Det här n8n-flödet gör sourcing till en motor i två faser: berika och poängsätt prospekts, och kör sedan en strukturerad uppföljningssekvens från Gmail medan Google Sheets förblir din single source of truth.
Så fungerar den här automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + Gmail: rekryterarutskick på autopilot
flowchart LR
subgraph sg0["Manual Launch Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Launch Trigger", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Build Search Query"]
n2["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Hunter API Request"]
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/code.svg' width='40' height='40' /></div><br/>Filter Prospect Records"]
n4@{ icon: "mdi:database", form: "rounded", label: "Record Potential Leads", pos: "b", h: 48 }
n5["<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/>Analyze Resume Content"]
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/code.svg' width='40' height='40' /></div><br/>Compute Candidate Score"]
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Score Above Threshold?", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch First Outreach", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Mark Status Contacted", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Pause Before Check", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check No Response", pos: "b", h: 48 }
n12@{ icon: "mdi:message-outline", form: "rounded", label: "Send Follow-up Notice", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Set Followed Up Status", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Wait Five Days", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Verify No Reply Again", pos: "b", h: 48 }
n16@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Final Nurture", pos: "b", h: 48 }
n17@{ icon: "mdi:database", form: "rounded", label: "Mark Nurtured Status", pos: "b", h: 48 }
n10 --> n11
n14 --> n15
n2 --> n3
n11 --> n12
n7 --> n8
n15 --> n16
n5 --> n6
n3 --> n4
n12 --> n13
n1 --> n2
n4 --> n5
n16 --> n17
n6 --> n7
n9 --> n10
n8 --> n9
n13 --> n14
n0 --> n1
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 n0 trigger
class n7,n11,n15 decision
class n4,n9,n13,n17 database
class n2 api
class n1,n3,n5,n6 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3,n5,n6 customIcon
Problemet: utskick blir rörigt, sedan dyrt
Outreach till passiva kandidater ser enkelt ut tills du gör det i volym. Du sourcar i en flik, berikar mejladresser i en annan och försöker sedan komma ihåg vad du skickade, till vem och när. En “enkel tracker” blir ett skört system av statusnoteringar, halvt uppdaterade rader och inkorgsarkeologi. Missar du en uppföljning med några dagar tappar du momentum. Skickar du för tidigt ser du slarvig ut. Värst av allt: du kan inte se vad som fungerar eftersom datan är utspridd mellan Gmail-trådar och gamla kalkylark.
Det skenar snabbt. Här är var det fallerar i verkligheten.
- Att manuellt hitta och verifiera mejladresser för varje prospekt gör en search till timmar av adminarbete.
- Din Google Sheet blir “oftast korrekt”, vilket är kod för missade uppföljningar och dubbla utskick.
- Utan konsekvent poängsättning lägger du samma insats på svaga matchningar som på starka.
- Uppföljningssekvenser bygger på minnet, så de bästa kandidaterna glider iväg när du blir nedtryckt av möten.
Lösningen: poängsätt kandidater i Sheets, låt sedan Gmail följa upp
Det här flödet är byggt som en praktisk “AI-rekryterarmotor” med två faser som matar varandra. Du startar det manuellt genom att ange en jobbtitel och några nyckelord, och n8n bygger en stark sökfråga för din sourcing. Sedan anropar det ett sourcing-/beriknings-API (som Hunter.io) för att hämta publik mejldata, filtrerar bort uppenbara felmatchningar och loggar kvarvarande prospekts i Google Sheets som ett lättviktigt ATS. Därefter granskar ett AI-analyssteg profildatan och tar fram en poäng du kan lita på tillräckligt för att agera. Om poängen klarar din tröskel skickar flödet automatiskt ett personligt första mejl via Gmail, uppdaterar kandidatstatus i Sheets, väntar, kontrollerar om det kommit svar och skickar uppföljningar bara när det behövs. Strukturerat, konsekvent, spårbart.
Flödet börjar med dina sökparametrar och slutar med en outreach-sekvens i en sluten loop. Däremellan berikar det kontaktdata, filtrerar kandidater, poängsätter dem och uppdaterar Google Sheets efter varje mejl så att du alltid vet vad som hänt.
Det här får du: automation vs. resultat
| Det här automatiserar flödet | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du sourcar 40 passiva kandidater till en roll. Manuell hantering kan ta cirka 5 minuter per person för att hitta en mejladress, 3 minuter för att logga den och ytterligare 5 minuter för att skriva och skicka första meddelandet, vilket blir ungefär 9 timmar totalt. Med det här flödet lägger du cirka 15 minuter på att starta körningen (jobbtitel + nyckelord), sedan berikar, loggar, poängsätter och skickar det första utskicket automatiskt till kandidater över din tröskel. Uppföljningar går ut efter väntetiderna, så du slipper betala “jag glömde”-skatten hela veckan.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets som din lättviktiga kandidatdatabas
- Gmail för att skicka och köra utskickssekvenser
- Hunter.io API-nyckel (hämtas i din Hunter-dashboard)
- OpenAI API-nyckel (hämtas på sidan för OpenAI API-nycklar)
Kunskapsnivå: Medel. Du kopplar konton, mappar kolumner i Google Sheets och gör mindre justeringar i prompts/filter.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du startar en sourcing-körning vid begäran. Flödet börjar med en manuell trigger där du anger jobbtiteln och de nyckelord du rekryterar för. Den enda inputen styr hela körningen.
Prospekts berikas och rensas upp. n8n genererar en sökfråga och anropar sedan ett externt beriknings-API via en HTTP-request för att hämta publik mejldata. Ett filtersteg tar bort skräp så att ditt ark inte blir en soptipp.
AI poängsätter kandidater innan du lägger tid. Flödet skickar profilkontext till en AI-modell (OpenAI Chat Model via ett agentsteg) och beräknar sedan en slutpoäng. Endast kandidater över din tröskel går vidare, vilket gör att dina utskick håller fokus.
Gmail sköter utskick och uppföljningar medan Sheets spårar status. Kandidater med hög poäng får ett personligt första mejl, sedan uppdaterar flödet Google Sheets till “Kontaktad”, väntar några dagar, kontrollerar om det kommit svar och skickar uppföljningar vid behov. Det upprepas en gång till med ett sista “nurture”-mejl och markerar posten därefter.
Du kan enkelt justera tröskelvärdet för poängsättningen så att det matchar din marknad utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Det här arbetsflödet startas manuellt så att ni kan styra när kandidatsourcingen börjar.
- Lägg till och öppna Manual Launch Trigger.
- Behåll standardinställningarna och koppla sedan Manual Launch Trigger till Build Search Query.
Steg 2: Koppla Google Sheets
Google Sheets lagrar leadposter och statusuppdateringar genom hela arbetsflödet.
- Öppna Record Potential Leads och lägg till inställningarna för ert kalkylark.
- Öppna Mark Status Contacted och konfigurera den så att den uppdaterar samma leadpost.
- Öppna Set Followed Up Status och peka den mot fältet för uppföljningsstatus i arket.
- Öppna Mark Nurtured Status och mappa den mot er slutliga kolumn för nurture-status.
- Credential Required: Anslut era Google Sheets-inloggningsuppgifter till Record Potential Leads, Mark Status Contacted, Set Followed Up Status och Mark Nurtured Status.
Steg 3: Sätt upp bearbetning och poängsättning
Dessa noder bygger sökfrågan, filtrerar prospekt, analyserar CV:n och beräknar poäng.
- Öppna Build Search Query och implementera er frågelogik för Hunters sökparametrar.
- Öppna Hunter API Request och konfigurera endpoint, headers och query string som Hunter förväntar sig.
- Öppna Filter Prospect Records för att ta bort resultat av låg kvalitet innan ni registrerar leads.
- Öppna Analyze Resume Content och definiera hur CV-data parsas för poängsättning.
- Öppna Compute Candidate Score och implementera er poängformel.
- Öppna Score Above Threshold? och ställ in den villkorsregel som avgör om outreach ska starta.
Steg 4: Konfigurera outreach, uppföljningar och timing
Det här steget hanterar initial outreach, uppföljningar och nurture-timing baserat på svarskontroller.
- Öppna Dispatch First Outreach och skriv det första mejlinnehållet för kvalificerade kandidater.
- Konfigurera Pause Before Check för att fördröja den första utvärderingen av svar.
- Öppna Check No Response för att upptäcka om kandidaten har svarat.
- Öppna Send Follow-up Notice för att skicka ett uppföljningsmejl om det inte finns något svar.
- Konfigurera Wait Five Days för att pausa innan den slutliga svarskontrollen.
- Öppna Verify No Reply Again för att bekräfta att det fortfarande inte finns något svar.
- Öppna Dispatch Final Nurture för att skicka det sista nurture-mejlet.
- Credential Required: Anslut era Gmail-inloggningsuppgifter till Dispatch First Outreach, Send Follow-up Notice och Dispatch Final Nurture.
Steg 5: Validera körflödet
Säkerställ att arbetsflödets linjära flöde matchar den avsedda sekvensen.
- Bekräfta att Manual Launch Trigger → Build Search Query → Hunter API Request är kopplade.
- Verifiera Hunter API Request → Filter Prospect Records → Record Potential Leads → Analyze Resume Content → Compute Candidate Score → Score Above Threshold?.
- Verifiera outreach-flödet: Dispatch First Outreach → Mark Status Contacted → Pause Before Check → Check No Response → Send Follow-up Notice → Set Followed Up Status → Wait Five Days → Verify No Reply Again → Dispatch Final Nurture → Mark Nurtured Status.
Steg 6: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera dataflödet och aktivera sedan för produktion.
- Klicka på Execute Workflow och trigga Manual Launch Trigger.
- Bekräfta att leads lagras i Record Potential Leads, poängsätts i Compute Candidate Score och routas genom Score Above Threshold?.
- Verifiera att mejl skickas korrekt från Dispatch First Outreach och eventuella efterföljande uppföljningar.
- Kontrollera att statusuppdateringar visas i Mark Status Contacted, Set Followed Up Status och Mark Nurtured Status.
- När allt är validerat, växla arbetsflödet till Active.
Vanliga fallgropar
- Google Sheets-autentisering kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först din n8n-credential för Google och delningsinställningarna för arket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du redigera output för alltid.
Vanliga frågor
Cirka en timme om dina Google-konton och API-konton är redo.
Nej. Du kopplar främst konton och mappar fält i Google Sheets. Du kan behöva justera några filter, men du behöver inte skriva kod för att köra det.
Ja. n8n har ett gratis alternativ för egen hosting 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 in API-kostnader för berikning och AI (ofta bara några dollar per kampanj, beroende på volym).
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det bör du. Uppdatera logiken i “Build Search Query” så att den matchar varje roll, och justera sedan AI-prompten i analyssteget så att den poängsätter det du faktiskt bryr dig om (domänerfarenhet, senioritet, tech stack, plats). De flesta team ändrar också tröskelvärdet i kontrollen “Score Above Threshold?”, samt Gmail-mallarna så att de låter som er röst istället för ett generiskt rekryterarscript.
Oftast beror det på att Google-auktoriseringen har gått ut, eller att arket flyttats, bytt namn eller fått ändrade behörigheter. Återanslut Google Sheets-credential i n8n och bekräfta att exakt kalkylark och flik fortfarande är valda. Dubbelkolla också att dina kolumnnamn matchar vad workflowet förväntar sig, eftersom en omdöpt kolumn som “Status” eller “Email” kan göra att uppdateringar tyst slutar fungera.
Om du kör n8n med egen hosting är det framför allt din server och API:ernas rate limits som sätter gränsen, inte antalet körningar.
Det beror på hur strikt du vill att processen ska vara. Det här workflowet använder poängsättning, förgreningar (poängkontroller och “inga svar”-kontroller) och flera väntesteg, och n8n hanterar den typen av logik snyggt utan att bli en dyr kedja av mini-zaps. Du kan också köra med egen hosting, vilket spelar roll om du kör stora sourcingkampanjer och inte vill betala per steg. Zapier eller Make kan fungera bra för ett enkelt “ny rad i Sheets → skicka ett mejl”-flöde, men multi-touch outreach blir snabbt klumpigt. Om du vill ha hjälp att välja, prata med en automationsexpert.
Du får en sourcing-pipeline som inte bygger på minnet, post-it-lappar eller “jag följer upp imorgon”. Sätt upp den en gång, och låt sedan Google Sheets och Gmail hålla dina utskick rullande.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.