Din inkorg är inte ett applicant tracking system. Ändå hamnar CV:n där, bilagor missas och ”jag loggar det senare” blir en blind fläck i rekryteringen.
CV-poängsättning från Gmail träffar upptagna rekryterare först. Men rekryterande chefer som försöker jämföra kandidater, och byråägare som hanterar flera roller, känner samma tröghet. Resultatet är enkelt: varje CV fångas upp, lagras, poängsätts och loggas utan att du rör ett kalkylark.
Det här arbetsflödet bevakar Gmail, arkiverar varje CV i Drive, kör en strukturerad GPT‑4o-granskning och skriver en korrekt formaterad rad i Google Sheets. Du ser vad det automatiserar, vilka resultat du kan förvänta dig och vad du ska se upp med.
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Från Gmail till Google Sheets – cv:n poängsatta
flowchart LR
subgraph sg0["Resume Inbox Watcher Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Resume Inbox Watcher", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Store in Drive", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Upload Completed?", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "File Type Router", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Fetch PDF Document", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Parse PDF Content", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Convert DOCX to Google Doc"]
n7@{ icon: "mdi:cog", form: "rounded", label: "Retrieve Doc Text", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Download Text File", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Parse Text Content", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Content Extracted?", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Normalize Resume Fields", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Resume Quality Review", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Role Description Set", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "AI Recruiter Review", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "AI Review Successful?", pos: "b", h: 48 }
n16@{ icon: "mdi:robot", form: "rounded", label: "Extract Applicant Details", pos: "b", h: 48 }
n17@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Final Data Check", pos: "b", h: 48 }
n18@{ icon: "mdi:database", form: "rounded", label: "Record Successful Run", pos: "b", h: 48 }
n19@{ icon: "mdi:brain", form: "rounded", label: "GPT-4o Chat Model", pos: "b", h: 48 }
n20@{ icon: "mdi:robot", form: "rounded", label: "Structured Result Parser", pos: "b", h: 48 }
n21@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Upload Error", pos: "b", h: 48 }
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Extraction Error", pos: "b", h: 48 }
n23@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Quality Error", pos: "b", h: 48 }
n24@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign AI Error", pos: "b", h: 48 }
n25@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Validation Error", pos: "b", h: 48 }
n26["<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 Error Streams"]
n27@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Error Email", pos: "b", h: 48 }
n28@{ icon: "mdi:database", form: "rounded", label: "Log Error Entry", pos: "b", h: 48 }
n4 --> n5
n8 --> n9
n19 -.-> n14
n19 -.-> n16
n24 --> n26
n1 --> n2
n7 --> n10
n13 --> n14
n0 --> n1
n10 --> n11
n10 --> n22
n2 --> n3
n2 --> n21
n5 --> n10
n26 --> n27
n21 --> n26
n17 --> n18
n17 --> n25
n23 --> n26
n3 --> n4
n3 --> n6
n3 --> n8
n9 --> n10
n15 --> n16
n15 --> n24
n6 --> n7
n12 --> n13
n12 --> n23
n22 --> n26
n25 --> n26
n14 --> n15
n16 --> n17
n27 --> n28
n11 --> n12
n20 -.-> n14
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 n14,n16,n20 ai
class n19 aiModel
class n2,n3,n10,n12,n15,n17 decision
class n18,n28 database
class n6 api
class n28 disabled
classDef customIcon fill:none,stroke:none
class n6,n26 customIcon
Problemet: CV-inflödet är rörigt, och ”rörigt” skalar inte
När CV:n kommer in via Gmail börjar jobbet på sämsta möjliga ställe. Du öppnar ett mejl, laddar ner en bilaga, döper om den, laddar upp den någonstans och försöker sedan fånga detaljer i ett ark (eller, ärligt talat, i huvudet). Gör du det under en veckas rekrytering slutar det med saknade filer, inkonsekventa anteckningar och en shortlist baserad på vem du råkade läsa först. Det värsta är den mentala belastningen. Du tänker hela tiden: ”Loggade jag den där?”
Det summeras snabbt. Och friktionen visar sig på väldigt förutsägbara sätt:
- Manuell loggning blir en återkommande ”slutet på dagen”-uppgift som stjäl cirka 2 timmar i veckan per öppen roll.
- Bilagor försvinner i trådar, vilket gör att kandidater inte kan granskas igen utan att du gräver i Gmails sök.
- Poängsättningen varierar mellan granskare eftersom alla ”ungefär” använder samma kriterier, men inte riktigt.
- När något misslyckas (en korrupt PDF, en udda DOCX) märker du det ofta dagar senare, inte direkt.
Lösningen: Gmail → Drive → GPT‑4o-poängsättning → loggning i Google Sheets (med fel- och revisionsspår)
Det här n8n-arbetsflödet gör CV-inflödet till en tillförlitlig pipeline. Det börjar med att övervaka Gmail efter inkommande ansökningar, validerar sedan bilagan och lagrar filen i Google Drive så att du får ett permanent, organiserat underlag. Därefter extraherar det CV-texten (PDF, DOCX eller ren text), normaliserar nyckelfält och kontrollerar grundläggande kvalitetssignaler innan det spenderar tokens på AI. Sedan granskar GPT‑4o CV:t mot dina krav för rollen med strukturerad output, så att poäng och anteckningar blir konsekventa. Slutligen skriver det en korrekt formaterad ”kandidat-rad” till ditt huvudark i Google Sheets, och om något skapar fel styrs felet till ett separat felark och en admin får ett mejl med kontext.
Arbetsflödet startar i Gmail, flyttar CV:t till Drive och extraherar text baserat på filtyp. Därefter tar GPT‑4o fram en validerad poäng och sammanfattning, och Google Sheets blir din samlade vy över kandidater samt ett andra ark för fel och revision.
Det här får du: automatisering vs. resultat
| Det här arbetsflödet automatiserar | Resultaten du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du får 20 CV:n i veckan för en roll. Manuellt tar det vanligtvis cirka 6 minuter per CV att ladda ner, ladda upp till Drive, klistra in detaljer i ett ark och sätta en snabb poäng, vilket blir ungefär 2 timmar per vecka. Med det här arbetsflödet är inflödet i princip helt utan handpåläggning: mejlet triggar det, filen lagras och Sheets uppdateras automatiskt efter bearbetning. Du granskar fortfarande toppkandidaterna, men loggningen och första poängsättningen sker i bakgrunden.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Gmail för att ta emot CV:n och trigga bearbetning
- Google Drive för lagring och länkning av CV-filer
- Google Sheets för att lagra poäng, anteckningar och länkar
- OpenAI API-nyckel (hämta den i OpenAI API-dashboarden)
Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och justerar kriterier och prompts för rollen på ett säkert sätt.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Gmail-inflödet triggar körningen. När ett nytt mejl med CV kommer in kontrollerar arbetsflödet att en bilaga finns och identifierar filtypen så att det inte slösar tid på format som inte stöds.
Filer lagras och verifieras i Drive. CV:t laddas upp till Google Drive och bekräftas sedan med en kontroll att ”uppladdningen är slutförd”. Om Drive har en tillfällig störning routar arbetsflödet felet till en felväg i stället för att dö tyst.
Textextraktion och upprensning sker före AI. PDF:er parsas direkt, DOCX-filer konverteras och läses sedan, och textfiler extraheras som de är. Därefter normaliserar n8n fälten och gör en grundläggande ”CV-kvalitetskontroll” så att uppenbart trasig text inte poängsätts som om den vore verkligt innehåll.
GPT‑4o poängsätter, validerar och loggar resultatet. AI-agenten utvärderar CV:t mot din rollbeskrivning och producerar strukturerad output som valideras. Lyckade körningar hamnar i ditt huvudark i Google Sheets, och allt som misslyckas loggas i ett separat felark och kan trigga ett admin-mejl.
Du kan enkelt ändra rollbeskrivning och bedömningsmall så att den matchar varje öppen tjänst. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera Gmail-triggern
Konfigurera triggern som bevakar er inkorg för CV:n och startar bearbetningskedjan.
- Lägg till noden Resume Inbox Watcher som er trigger.
- Credential Required: Anslut era Gmail-uppgifter.
- Konfigurera inställningarna för inkorgsbevakning (etiketter, filter eller sökfråga) som passar ert CV-inflöde.
- Koppla Resume Inbox Watcher till Store in Drive.
Steg 2: anslut Google Drive
Konfigurera lagring och hämtning av CV:n i Google Drive.
- Öppna Store in Drive och konfigurera mål-mappen för uppladdning av inkommande CV:n.
- Credential Required: Anslut era Google Drive-uppgifter till Store in Drive, Fetch PDF Document, Retrieve Doc Text och Download Text File.
- Verifiera att Store in Drive skickar vidare till Upload Completed? enligt exekveringsflödet.
- Säkerställ att File Type Router routar till Fetch PDF Document, Convert DOCX to Google Doc och Download Text File baserat på filtyp.
- Konfigurera Convert DOCX to Google Doc med rätt HTTP Request-endpoint och autentisering för er konverteringsmetod.
Steg 3: sätt upp filparsning och normalisering
Extrahera text från PDF:er eller textfiler och normalisera CV-data för AI-analys.
- Konfigurera Parse PDF Content för att extrahera text från filer som kommer ut från Fetch PDF Document.
- Konfigurera Parse Text Content för att extrahera text från filer som kommer ut från Download Text File.
- I Content Extracted? definierar ni villkoret som avgör om textextraheringen lyckades.
- Mappa standardiserade fält i Normalize Resume Fields (t.ex. namn, e-post, erfarenhet, färdigheter) baserat på extraherat innehåll.
- I Resume Quality Review lägger ni till valideringskontroller som avgör om CV:t är lämpligt för AI-granskning.
- Sätt rollkontexten i Role Description Set för efterföljande AI-utvärdering.
Steg 4: sätt upp AI-granskning och extrahering
Konfigurera AI-modellen, parsern och extraheringsstegen för att utvärdera och strukturera kandidatdata.
- Öppna GPT-4o Chat Model och anslut era OpenAI-uppgifter.
- Bekräfta att GPT-4o Chat Model är ansluten som språkmodell för AI Recruiter Review och Extract Applicant Details.
- Konfigurera AI Recruiter Review med prompten och kriterierna för att utvärdera CV:n mot rollen.
- Koppla Structured Result Parser som output parser för AI Recruiter Review. För AI-under-noder ska ni lägga till uppgifter i GPT-4o Chat Model, inte i parsern.
- Sätt villkor i AI Review Successful? för att routa godkända resultat till Extract Applicant Details och misslyckanden till felhantering.
- Konfigurera Final Data Check för att validera extraherade sökandefält innan lyckad körning loggas.
Steg 5: konfigurera noder för utdata/åtgärder
Logga lyckade körningar och skicka notiser när fel uppstår.
- Konfigurera Record Successful Run för att skriva viktig sökandedata till ert Google Sheet.
- Credential Required: Anslut era Google Sheets-uppgifter till Record Successful Run (och Log Error Entry om den är aktiverad).
- Konfigurera Dispatch Error Email för att skicka larm när arbetsflödet upptäcker fel.
- Credential Required: Anslut era Gmail-uppgifter till Dispatch Error Email.
- Observera att Log Error Entry är inaktiverad; aktivera den om ni vill att felrader ska loggas till Google Sheets.
Steg 6: lägg till felhantering
Routa fel från flera felpunkter till en enda notifieringsväg.
- Konfigurera felmetadata i set-noderna: Assign Upload Error, Assign Extraction Error, Assign Quality Error, Assign AI Error och Assign Validation Error.
- Säkerställ att varje felväg kopplas in i Combine Error Streams enligt exekveringsflödet.
- Bekräfta att Combine Error Streams skickar vidare till Dispatch Error Email så att ett enda larm skickas vid valfritt fel.
Steg 7: testa och aktivera ert arbetsflöde
Verifiera end-to-end-bearbetningen innan ni slår på automationen.
- Använd Execute Workflow med ett exempelmejl med CV för att testa hela vägen från Resume Inbox Watcher till Record Successful Run.
- Bekräfta att en lyckad körning resulterar i en ny rad i Record Successful Run och inget felmejl.
- Trigga ett avsiktligt fel (t.ex. saknad fil eller ogiltigt format) för att verifiera att Dispatch Error Email skickas och att Log Error Entry, om aktiverad, registrerar problemet.
- När ni är nöjda, slå om arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Gmail-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först status för Gmail-anslutningen i n8n under Credentials.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om noder längre ned misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output i all evighet.
Vanliga frågor
Cirka 30 minuter om dina konton är klara.
Nej. Du kopplar Gmail/Google och justerar några inställningar i n8n.
Ja. n8n har ett gratis alternativ för egen drift 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 kostnader för OpenAI API, vilket vanligtvis är några cent per CV beroende på längd.
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det bör du. Uppdatera rollkriterierna i steget ”Role Description Set” så att GPT‑4o poängsätter mot rätt krav, och justera sedan fälten i ”Structured Result Parser” så att de matchar det du vill ha i Sheets. Vanliga anpassningar är att ändra viktning i poängen, lägga till ”deal-breaker”-kontroller (som plats eller certifieringar) och skriva separata outputs för olika avdelningar.
Oftast beror det på utgångna OAuth-behörigheter eller att Gmail-triggern tappar åtkomst till brevlådan. Återanslut Gmail-credential i n8n och bekräfta sedan att arbetsflödet fortfarande har behörighet att läsa meddelanden och bilagor. Om det bara misslyckas ibland, kontrollera för stora bilagor eller etiketter/filter som gör att triggern inte ”ser” nya mejl.
Med n8n Cloud Starter kan du vanligtvis hantera ett jämnt flöde för små team; högre planer stödjer fler körningar per månad. Om du kör egen drift finns ingen körningsgräns, och kapaciteten beror mest på din server och hur snabbt OpenAI och Drive svarar. I praktiken kör team allt från dussintals till hundratals CV:n i veckan utan problem när timeouts och filgränser är rätt inställda.
Ofta, ja. Det här arbetsflödet bygger på förgrening, validering och flera fallback-vägar, och n8n hanterar den typen av logik snyggt utan att det blir en dyr hög av tasks. Du får också möjligheten att köra egen drift, vilket är viktigt om du hanterar många CV:n eller behöver mer kontroll för regelefterlevnad. Zapier eller Make kan fortfarande fungera om du bara vill ha en enkel ”mejl till ark”-logg utan AI-poängsättning. Om du är osäker, prata med en automationsexpert och matcha det mot din volym.
Så här ser ”produktionsklar” rekryteringsautomation ut: konsekvent poängsättning, strukturerade loggar och färre överraskningar i inkorgen. Sätt upp det en gång och lägg sedan tiden på intervjuer och beslut.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.