Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Google Sheets + Gmail för snabbare cv-granskning

Rickard Andersson Partner, Nodenordic.se

CV-granskning faller ihop i samma ögonblick som ”bara en sökande till” blir 80 PDF:er, fem inkorgstrådar och ett kalkylark som ingen litar på.

Rekryterare känner det först. Sedan grundare som rekryterar vid sidan av, och ops-ansvariga som försöker hålla processen rättvis. Den här automatiseringen för CV-granskning poängsätter kandidater konsekvent, loggar varje beslut och skickar uppföljningar utan att du behöver sitta och vakta pipelinen.

Nedan ser du exakt vad arbetsflödet gör, vad du behöver för att köra det och hur ”snabbare gallring” ser ut i faktiska timmar.

Så fungerar automatiseringen

Hela n8n-arbetsflödet, från trigger till slutresultat:

n8n Workflow Template: Google Sheets + Gmail för snabbare cv-granskning

Problemet: CV-granskning blir inkorgskaos

Du börjar med goda intentioner: granska varje CV, ta anteckningar, skicka svar och hålla teamet synkat. Sedan kommer volymen. PDF:er ligger i mejltrådar, kommentarer hamnar i Slack och ”snabba poäng” varierar beroende på vem som granskade och när. Ännu värre: du kan inte enkelt förklara ett beslut i efterhand eftersom motiveringen aldrig dokumenterades, eller dokumenterades olika av olika personer. Den långsamma delen är inte läsningen. Det är sorteringen, dokumentationen och fram-och-tillbaka som stjäl din eftermiddag.

Friktionen växer för varje steg. Här är var det börjar fallera.

  • CV:n blir granskade två gånger, medan andra kandidater aldrig får en ordentlig genomgång.
  • Poängsättningen glider över tid, så ”samma” CV får ett annat utlåtande nästa vecka.
  • Uppföljningsmejl släpar efter, vilket får dig att framstå som oorganiserad för starka kandidater.
  • Du landar i ett kalkylark fullt av luddiga anteckningar som ”verkar bra” utan riktig motivering.

Lösningen: AI-poängsättning + loggning i Google Sheets + uppföljningar via Gmail

Det här arbetsflödet gör CV-granskning till ett repeterbart, dokumenterat system. En kandidat skickar in en PDF via en n8n-formulärtrigger. Arbetsflödet extraherar CV-texten och skickar den sedan till en AI-utvärderingsagent driven av OpenAI, baserat på dina rollspecifika kriterier och matchningsfrågor. Utvärderingen parsas till ett strukturerat resultat (så du får konsekventa fält i stället för ett rörigt stycke), och en klassificerare jämför poängen med din tröskel. Därifrån förgrenar det sig tydligt: godkända kandidater loggas på fliken ”Accepted” i Google Sheets och får ett inbjudningsmejl via Gmail, medan ej godkända kandidater loggas på fliken ”Rejected” och får ett avslagsmejl. Varje rad innehåller poäng och motivering, så du kan stå för besluten senare utan att gräva i trådar.

Det börjar med en PDF-uppladdning. Mitten är ”tänkarbetet”: extrahering, utvärdering, strukturerad parsning och sedan ett godkänd/ej godkänd-beslut. Slutet är prydligt: två Sheets-flikar uppdateras automatiskt och rätt mejl skickas varje gång.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du får 30 CV:n på en vecka för en roll. Manuellt lägger du kanske cirka 10 minuter per CV på att öppna PDF:en, skriva anteckningar, sätta en poäng och skicka en uppföljning, vilket blir ungefär 5 timmar administration innan du ens bokar intervjuer. Med det här arbetsflödet laddar du upp varje PDF på en minut eller två och låter utvärderingen köra i bakgrunden. Du granskar fortfarande toppkandidaterna, men loggningen och mejlen är redan klara, så rutinjobbet sjunker till under en timme.

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 för att lagra beslut som Accepted och Rejected
  • Gmail för att skicka mejl vid godkännande och avslag
  • OpenAI API-nyckel (hämta den i OpenAI API-dashboarden)

Kunskapsnivå: Medel. Du klistrar in inloggningsuppgifter, justerar variabler i AI-prompten och bekräftar att dina Sheets-flikar matchar arbetsflödet.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

CV-uppladdningen triggar allt. En kandidat (eller du) skickar in en PDF via den inbyggda formulärtriggern i n8n, så du slipper jaga bilagor i inkorgen.

PDF:en görs om till användbar text. Arbetsflödet extraherar CV-innehållet från filen, vilket innebär att AI:n utvärderar vad som faktiskt står i dokumentet, inte bara filnamnet och din magkänsla.

AI:n utvärderar och klassificerar kandidaten. Den OpenAI-drivna utvärderingsagenten poängsätter CV:t utifrån dina måste-krav, din rollbeskrivning och dina frågor om mjuka kompetenser. En parser för strukturerat output läser svaret till förutsägbara fält, och en klassificerare kontrollerar poängen mot din tröskel och avgör ”Accepted” eller ”Rejected”.

Sheets och Gmail uppdateras automatiskt. Godkända kandidater läggs till på fliken Accepted och får ett inbjudningsmejl. Ej godkända kandidater hamnar på fliken Rejected och får avslagsmejlet, så inget blir liggande mellan stolarna.

Du kan enkelt ändra poängkriterierna för att matcha en ny roll utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera formulärtriggern

Skapa intagsformuläret som samlar in CV:n och sökandeuppgifter för vidare bearbetning.

  1. Lägg till och öppna Form Intake Trigger.
  2. Ställ in Form TitlePlease Upload your resume .
  3. Bekräfta att formulärfälten inkluderar Resume (fil, obligatoriskt, acceptera .pdf), Email (obligatoriskt), Phone Number (obligatoriskt) och Name (obligatoriskt).
  4. Spara noden för att generera den publika formulär-URL:en för sökande.

Använd den inbyggda förhandsvisningen av formuläret för att verifiera PDF-uppladdningen och obligatoriska fält innan ni går vidare.

Steg 2: extrahera innehåll från CV

Konvertera den uppladdade PDF:en till text som kan utvärderas av AI-agenten.

  1. Lägg till Extract Resume Text och koppla den till Form Intake Trigger.
  2. Ställ in Operationpdf.
  3. Ställ in Binary Property NameResume.

Steg 3: konfigurera AI för CV-utvärdering

Konfigurera AI-agenten så att den utvärderar CV:t mot rollspecifika kriterier och returnerar ett strukturerat JSON-svar.

  1. Öppna Resume Evaluation Agent och ställ in Text=This is my CV "{{ $json.text }}".
  2. Säkerställ att Prompt Type är inställd på Define och att Has Output Parser är aktiverad.
  3. Bekräfta att systemmeddelandet innehåller era platshållare som {{COMPANY_NAME}}, {{ROLE_NAME}} och {{CRITERIA_1}}{{CRITERIA_5}} så att ni kan ersätta dem med verkliga värden.
  4. I OpenAI Chat Engine väljer ni modellen gpt-4o och kopplar den som språkmodell för Resume Evaluation Agent. Credential Required: Anslut era openAiApi-uppgifter.
  5. Öppna Structured Output Reader och verifiera att exempel på JSON-schema matchar den output ni vill ha.

⚠️ Vanlig fallgrop: Structured Output Reader är en AI-undernod. Autentiseringsuppgifter läggs inte till här—säkerställ att OpenAI Chat Engine är autentiserad för Resume Evaluation Agent.

Steg 4: konfigurera beslutsklassificering och routning

Klassificera AI-beslutet som Accepted eller Rejected och routa poster till rätt output.

  1. Öppna Decision Classifier och ställ in Input Text={{ $json.output.decision }}.
  2. Bekräfta att kategorierna är Accepted (om beslutet är Proceed) och Rejected (om beslutet är rejct).
  3. Koppla OpenAI Classifier Model som språkmodell för Decision Classifier och välj modellen gpt-4.1-mini. Credential Required: Anslut era openAiApi-uppgifter.
  4. Säkerställ att flödet routar korrekt: Decision Classifier output går till både Append Accepted Sheet och Append Rejected Sheet parallellt.

Steg 5: koppla Google Sheets för beslutsloggar

Skriv accepterade och avvisade kandidater till separata ark med strukturerade fält.

  1. Öppna Append Accepted Sheet och ställ in Operationappend.
  2. Ställ in Document ID[YOUR_ID] och Sheet Name[YOUR_ID] (Accepted). Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.
  3. Mappa kolumner med de befintliga uttrycken, till exempel Email till ={{ $('Form Intake Trigger').item.json.Email.toLowerCase() }} och JUSTIFICATION till ={{ $json.output.justification }}.
  4. Upprepa samma konfiguration i Append Rejected Sheet med namnet på det avvisade arket. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.

⚠️ Vanlig fallgrop: Ersätt [YOUR_ID] med verkliga Google Sheets-dokument- och ark-ID:n, annars kommer append att misslyckas.

Steg 6: konfigurera e-postsvar till sökande

Skicka mejl om acceptans eller avslag till den sökande baserat på klassificerarens utfall.

  1. Öppna Send Acceptance Email och ställ in Send To={{ $('Form Intake Trigger').item.json.Email.toLowerCase() }}.
  2. Ställ in SubjectHiring Process och behåll HTML-Message som angivet, men ersätt https://[YOUR_SCHEDULING_LINK] med er riktiga boknings-URL. Credential Required: Anslut era gmailOAuth2-uppgifter.
  3. Öppna Send Rejection Email och ställ in Send To={{ $('Form Intake Trigger').item.json.Email.toLowerCase() }} och SubjectHiring Process. Credential Required: Anslut era gmailOAuth2-uppgifter.

Behåll token för sökandens namn intakt: {{ $('Form Intake Trigger').item.json.Name }} så att personaliseringen renderas korrekt.

Steg 7: testa och aktivera ert workflow

Validera hela flödet från formulärinsändning till uppdateringar i arken och leverans av e-post.

  1. Klicka på Execute Workflow och skicka in ett test-CV via Form Intake Trigger.
  2. Bekräfta att Extract Resume Text ger läsbar text och att Resume Evaluation Agent returnerar strukturerad JSON.
  3. Verifiera att Decision Classifier routar till rätt gren och att antingen Append Accepted Sheet eller Append Rejected Sheet lägger till en rad.
  4. Kontrollera att motsvarande e-post skickas via Send Acceptance Email eller Send Rejection Email.
  5. När allt är validerat, växla workflowet till Active för användning i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Åtkomst till Google Sheets kan fallera om det anslutna Google-kontot saknar redigeringsbehörighet på filen. Om tillägg slutar fungera, kontrollera först delningsinställningarna för arket och behörigheten i n8n.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om efterföljande noder fallerar 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

Hur lång tid tar det att sätta upp den här automatiseringen för CV-granskning?

Cirka 30 minuter om dina Google- och OpenAI-konton är redo.

Behöver jag kunna koda för att automatisera CV-granskning?

Nej. Du kopplar konton och redigerar några prompt-platshållare.

Är n8n gratis att använda för det här arbetsflödet för automatiserad CV-granskning?

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 kostnader för OpenAI API, som vanligtvis är några cent per CV beroende på promptens storlek.

Var kan jag hosta n8n för att köra automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och klarar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för automatiserad CV-granskning till en annan roll och poängmall?

Ja, och det bör du. Uppdatera AI-promptens platshållare som COMPANY_NAME, ROLE_NAME, ROLE_DESCRIPTION, CRITERIA_1 till CRITERIA_5 och Q1 till Q5 så att utvärderingen matchar tjänsten. Sätt sedan THRESHOLD till din godkänd-poäng. De flesta team justerar också Gmail-mallarna så att accepteringsmejlet låter som att en människa skrev det.

Varför fallerar min Google Sheets-anslutning i det här arbetsflödet?

Oftast handlar det om behörigheter eller fel kalkylarks-ID. Bekräfta att det anslutna Google-kontot kan redigera filen och välj sedan om arket i stegen ”Append Accepted Sheet” och ”Append Rejected Sheet” i n8n. Om du nyligen duplicerade kalkylarket kan arbetsflödet fortfarande peka på det gamla. Kontrollera också att flikarna heter exakt ”Accepted” och ”Rejected”, eftersom avvikande namn kan orsaka tysta fel.

Hur många CV:n kan den här automatiseringen för CV-granskning hantera?

Gott om för typiska små team. På n8n Cloud styrs gränsen främst av din månatliga körningskvot, och vid egen hosting finns ingen körningsgräns (det beror på din server). I praktiken kan du bearbeta CV:n ett och ett eller i batchar; den främsta flaskhalsen är API-hastighet och eventuella OpenAI rate limits på ditt konto.

Är den här automatiseringen för CV-granskning bättre än att använda Zapier eller Make?

Ofta, ja. n8n är mer bekvämt när du behöver förgreningslogik (Accepted vs Rejected), strukturerade AI-output och möjligheten att hosta själv när volymen växer. Zapier eller Make kan fortfarande fungera, men AI-flöden för gallring i flera steg tenderar att bli dyra och svårare att felsöka. Om du behöver strikt kontroll över prompter och loggning känns n8n oftast renare. Prata med en automationsexpert om du vill ha hjälp att välja.

Du sätter reglerna en gång, och arbetsflödet tillämpar dem på samma sätt varje gång. Det är timmar tillbaka varje vecka, plus en rekryteringsprocess du faktiskt kan stå för.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal