Din inkorg är inte byggd för att vara ett ATS. Du får en våg av CV:n, bilagor har konstiga filnamn, detaljer är utspridda i PDF:er och den “snabba kortlistan” blir en eftermiddag av copy-paste.
Den här automatiseringen för CV-screening slår ärligt talat först mot rekryterare, men grundare och ops-ansvariga känner av den också när rekryteringen skalar upp. I stället för att läsa varje CV från början till slut får du en konsekvent sammanfattning, ett betyg 1–10 och en strukturerad rad i Google Sheets som du sorterar på sekunder.
Nedan ser du hur workflowet skickar CV:n från Gmail till Google Drive, gör om dem till text, utvärderar dem med en AI-agent och loggar allt i Sheets (och Airtable) för en prydlig kortlista.
Så fungerar automatiseringen
Se hur det här löser problemet:
n8n Workflow Template: Gmail till Google Sheets: cv poängsätts och sorteras
flowchart LR
subgraph sg0["Gmail Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Gmail Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Upload file", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Download file", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Information Extractor", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Model", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n7@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Model1", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n9["<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/>Code"]
n10["<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/>Merge"]
n11@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet", pos: "b", h: 48 }
n12["<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/airtable.svg' width='40' height='40' /></div><br/>Create a record"]
n13["<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"]
n9 --> n10
n10 --> n11
n10 --> n12
n6 --> n8
n8 --> n9
n1 --> n2
n2 --> n3
n0 --> n1
n3 --> n4
n3 --> n6
n13 --> n1
n4 --> n10
n5 -.-> n4
n7 -.-> n6
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,n13 trigger
class n4,n6 ai
class n5,n7 aiModel
class n11,n12 database
class n9 code
classDef customIcon fill:none,stroke:none
class n9,n10,n12,n13 customIcon
Utmaningen: CV-screening blir snabbt inkorgskaos
Manuell screening låter hanterbart tills det inte är det. En roll går live, CV:n börjar trilla in via Gmail (och ibland ett formulär), och plötsligt öppnar du bilagor, letar efter telefonnummer och försöker komma ihåg vilken kandidat som hade “det där Kubernetes-projektet”. Sedan skapar du ett ark, men datan blir inte konsekvent eftersom du skriver in den olika varje gång. Några dagar senare kan du inte med säkerhet svara på enkla frågor som “Vilka är våra topp 10?” eller “Vilka CV:n har vi redan granskat?” Tidskostnaden svider, men det är den mentala belastningen som verkligen drar ner dig.
Det eskalerar snabbt. Här är var det faller isär.
- Att öppna, döpa om och arkivera CV-bilagor stjäl runt 2 timmar i veckan när volymen ökar.
- Kontaktuppgifter missas eftersom de ligger gömda i sidhuvuden, sidfötter eller icke-standardiserade layouter.
- Poängsättningen blir inkonsekvent när fem personer “bara skummar” och alla använder olika kriterier.
- Utan en central logg i Google Sheets (eller Airtable) blir uppföljningar och kortlistor ren gissning.
Lösningen: Gmail-till-Sheets-screening med AI-sammanfattningar och poäng
Det här workflowet bygger en enkel och pålitlig pipeline för CV-screening med n8n. Nya CV:n kommer in via Gmail (eller en formulärinsändning), och bilagorna sparas direkt i en Google Drive-mapp så att du alltid har en källa till sanningen. Workflowet laddar sedan ner den lagrade filen och extraherar text från PDF/DOC så att den kan analyseras på ett tillförlitligt sätt. Därifrån delas flödet upp i två parallella kontroller: den ena hämtar strukturerad kontaktinfo (namn, e-post, telefon) och den andra använder en AI-agent för att sammanfatta utbildning, jobbhistorik och kompetenser, och sätter sedan ett lämplighetsbetyg 1–10 med en kort motivering. Till sist rensas och normaliseras AI-utdata, allt slås ihop till en kandidatpost och loggas i Google Sheets och Airtable.
Workflowet startar när ett CV landar i Gmail eller din form-endpoint. Google Drive hanterar lagring och hämtning, och den extraherade texten matas både till informationsutdragaren och AI-agenten. På slutet blir Google Sheets din sorteringsbara kortlista, medan Airtable kan driva dashboards och en lättviktig ATS-lik vy.
Vad som förändras: före vs. efter
| Det här tar bort | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du rekryterar till en roll och får 30 CV:n på en vecka. Manuellt kan du lägga cirka 10 minuter per CV på att ladda ner, skumma, plocka ut kontaktuppgifter och klistra in anteckningar i ett ark, vilket blir ungefär 5 timmar. Med det här workflowet är inflödet automatiskt, lagringen automatisk och sammanfattning + poäng genereras åt dig; ditt “arbete” blir att granska de 10 högst poängsatta raderna i Google Sheets. Det landar oftast på 30–45 minuter, inte en halv dag.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Gmail för att fånga inkommande CV-bilagor.
- Google Drive för lagring och hämtning av CV-filer.
- Google Sheets för att logga kandidater i en sorteringsbar kortlista.
- Airtable för dashboards och långsiktig dokumentation.
- OpenAI- eller OpenRouter-API-nyckel (hämta den i din OpenAI/OpenRouter-dashboard)
Svårighetsnivå: Medel. Du kopplar autentisering, sätter en Drive-mapp och justerar några fält/prompter.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Workflowflödet
Ett CV kommer in i Gmail eller via ditt formulär. Workflowet bevakar inkorgen efter ansökningar (du kan filtrera på jobbtitel eller nyckelord) och stödjer även en formulärtrigger för karriärsidor och portaler.
Filen lagras och konverteras sedan till användbar text. Bilagan laddas upp till Google Drive och laddas sedan ner igen från Drive för att hålla pipelinen konsekvent. Därefter extraherar workflowet text från CV:t så att efterföljande steg inte behöver gissa utifrån en binär PDF.
Två parallella analyser körs. Ena spåret extraherar strukturerad kontaktinformation (kandidatens namn, e-post, telefon). Det andra spåret använder en AI-agent för att ta fram utbildning, jobbhistorik och kompetenser, plus ett betyg 1–10 och en motivering med din valda modell via OpenRouter eller OpenAI.
Resultatet rensas, slås ihop och loggas. En set-and-transform-fas normaliserar AI-utdata till förutsägbara fält, och därefter slås båda grenarna ihop till en kandidatpost. Posten läggs till i Google Sheets och skapas också i Airtable för dashboards och filtrering.
Du kan enkelt ändra poängkriterierna för att passa en specifik roll, eller byta destination från Google Sheets till ett annat system utifrån dina behov. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera Gmail-triggern
Det här arbetsflödet startar när ett CV kommer in via Gmail eller en formulärinlämning.
- Öppna Incoming Gmail Watcher och ställ in filterfrågan i Filters till
Senior Software Engineer. - Aktivera nedladdning av bilagor i Options och ställ in Data Property Attachments Prefix Name till
CV. - Ställ in Poll Times så att den körs
everyMinute. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Incoming Gmail Watcher.
- Öppna Form Submission Trigger och ställ in Form Title till
Senior Software Engineerså att formuläruppladdningar också kan starta arbetsflödet.
Körningsnotering: Både Incoming Gmail Watcher och Form Submission Trigger skickar utdata till Store Attachment in Drive.
Steg 2: Anslut Google Drive för CV-lagring
Bilagor sparas i Drive och laddas sedan ned för textextrahering.
- I Store Attachment in Drive ställer ni in Name till
={{ $json.from.value[0].name }}. - Ställ in Folder till er målmapp och behåll Input Data Field Name som
CV0. - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter i Store Attachment in Drive.
- I Fetch Drive File ställer ni in Operation till
downloadoch File ID till={{ $json.id }}. - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter i Fetch Drive File.
Steg 3: Sätt upp AI-extrahering och sammanfattning
Extrahera text från PDF:en och skicka den genom parallella AI-flöden för strukturerade fält och sammanfattning.
- Öppna Extract PDF Text och ställ in Operation till
pdf. - I Structured Info Parser ställer ni in Text till
={{ $json.text }}och behåller Input Schema enligt det som angivits för att extraheracandidate_name,email_addressochcontact_number. - OpenRouter Chat Engine är ansluten som språkmodell för Structured Info Parser — säkerställ att inloggningsuppgifter är tillagda i OpenRouter Chat Engine.
- I CV Summary Agent ställer ni in Text till
=CV: {{ $json.text }}och behåller Prompt Type somdefineför att använda det inbyggda systemmeddelandet. - OpenRouter Chat Engine 2 är ansluten som språkmodell för CV Summary Agent — säkerställ att inloggningsuppgifter är tillagda i OpenRouter Chat Engine 2.
Parallell körning: Extract PDF Text skickar utdata till både Structured Info Parser och CV Summary Agent parallellt.
Steg 4: Transformera och slå ihop resultat
Normalisera sammanfattningsutdata och slå ihop den med de strukturerade fälten.
- I Map Output Fields ställer ni in tilldelningen output till
={{ $json.output }}för att standardisera agentens svar. - Granska Transform Summary Script och behåll den tillhandahållna JavaScript-koden för att extrahera
Educational Qualifications,Job History,Skill SetsamtScoreochJustification. - I Combine Results ställer ni in Mode till
combineoch Combine By tillcombineAll.
Steg 5: Konfigurera mål för utdata
Skriv de kombinerade resultaten till Google Sheets och Airtable samtidigt.
- I Append Spreadsheet Row ställer ni in Operation till
appendoch mappar kolumner med de befintliga uttrycken, till exempel={{ $json.output.candidate_name }}och={{ $json.score }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Append Spreadsheet Row.
- I Insert Airtable Entry ställer ni in Operation till
createoch mappar fält med uttryck som={{ $json.jobHistory }}och={{ $json.justification }}. - Inloggningsuppgifter krävs: Anslut era airtableTokenApi-inloggningsuppgifter i Insert Airtable Entry.
Parallell körning: Combine Results skickar utdata till både Append Spreadsheet Row och Insert Airtable Entry parallellt.
Educational Qualifications och Skill set) för att undvika tomma skrivningar.Steg 6: Testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att bekräfta CV-hantering, AI-utdata och dataskrivningar.
- Använd Incoming Gmail Watcher med ett testmejl som innehåller en PDF-bilaga eller skicka in en testfil via Form Submission Trigger.
- Verifiera att Store Attachment in Drive skapar en fil och att Fetch Drive File laddar ned den utan problem.
- Bekräfta att Structured Info Parser skickar ut
candidate_name,email_addressochcontact_number, och att Transform Summary Script skickar utscoreochjustification. - Kontrollera att Append Spreadsheet Row skapar en ny rad och att Insert Airtable Entry skapar en ny post med de mappade fälten.
- När allt fungerar växlar ni arbetsflödet till Active för produktionsbruk.
Håll koll på
- Gmail-autentisering kan gå ut eller kräva specifika behörigheter. Om saker slutar fungera: börja med att kontrollera n8n-sidan Credentials och din status för Google OAuth-samtycke/refresh.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på tomma svar.
- OpenRouter/OpenAI-prompter utgår som standard från en “generisk rekryterare”. Lägg in rollkrav och poängmall tidigt, annars kommer du fortsätta finjustera sammanfattningar manuellt.
Vanliga frågor
Cirka en timme om dina Google- och Airtable-konton är redo.
Ja, men du vill ha någon som är bekväm med att koppla OAuth-konton i n8n. Ingen kodning krävs om du inte väljer att justera logiken för tolkning/parsing.
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 in OpenAI/OpenRouter-användning (ofta några cent per CV, beroende på modell och promptstorlek).
Två alternativ: n8n Cloud (hanterat, enklast setup) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och klarar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Börja med att redigera Gmails sökfilter så att det bara fångar ansökningar för den roll du bryr dig om. Justera sedan AI-agentens prompt så att den speglar din bedömningsmall (måste-ha-kompetenser, antal års erfarenhet, plats, säkerhetsklassning, det som är viktigt). Om du inte vill använda Airtable: inaktivera Airtables åtgärd “create record” och behåll bara append till Google Sheets. Du kan också ändra Drive-mappens ID så att varje öppen roll lagrar CV:n i sin egen mapp.
Oftast är det en utgången OAuth-token eller fel Google-konto kopplat i n8n. Koppla om Gmail-autentisering, bekräfta att inkorgen har åtkomst till rätt etikett/sökresultat och kontrollera att bilagor faktiskt ingår i mejlen du testar med. Om det fungerar ibland och misslyckas i omgångar kan du slå i API-gränser under perioder med hög volym.
På n8n Cloud beror kapaciteten på din plan och antal körningar per månad, medan self-hosting främst begränsas av din server. I praktiken kör de flesta team detta kontinuerligt och screenar dussintals (eller några hundra) CV:n per vecka utan problem, så länge AI-steget inte överbelastas.
Ofta, ja. Det här workflowet har parallella grenar (kontaktutdragning plus AI-utvärdering), en rensnings-/sammanfogningsfas och två destinationer (Google Sheets och Airtable), vilket är den typ av logik som blir klumpig och dyr i enklare verktyg. n8n ger dig också en self-hosted-väg när volymen ökar, så du slipper räkna varje körning som om den vore guld. Zapier eller Make kan fortfarande vara bra om du bara vill ha “Gmail-bilaga → spara fil” utan poängsättning. Om du är osäker, Prata med en automationsexpert så får du ett rakt svar.
När detta väl rullar slutar screening vara en fruktad “kom-ikapp-uppgift” och blir i stället en snabb genomgång av de bästa kandidaterna. Sätt upp det en gång och lägg sedan tiden på intervjuer i stället för att sortera PDF:er.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.