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

OpenAI + Google Sheets, konsekventa cv-shortlists

Rickard Andersson Partner, Nodenordic.se

CV-granskning låter enkelt tills du sitter med 60 PDF:er, fem olika kravprofiler och ett kalkylark som redan är inaktuellt. Bra kandidater faller mellan stolarna för att någon glömde att följa upp, eller för att “magkänslan” hann ändras mellan måndag och fredag.

Det här är den typen av röra som drabbar rekryterare först, men rekryterande chefer och småföretagare känner av den också. Med resume shortlist automation får du konsekvent poängsättning, automatiska statusuppdateringar och intervjuinbjudningar som skickas i tid.

Nedan ser du hur flödet körs i n8n, vad det skapar i Google Sheets och hur det hjälper dig att jobba snabbare utan att sänka ribban.

Problemet: CV-granskning är långsam, inkonsekvent och lätt att tappa bort

De flesta rekryteringsprocesser fallerar inte för att du inte hittar kandidater. De fallerar för att de tidiga stegen är för manuella. Någon laddar ner CV:n, kopierar uppgifter till en tracker, skummar snabbt och lovar att “komma tillbaka senare” till de som kanske passar. Senare kommer sällan. Och när flera personer granskar flyttar sig poängsättningen beroende på humör, arbetsbelastning eller hur bra den senaste kandidaten var. Det är inte illvilja. Det är bara mänskligt. Resultatet blir en shortlist som är rörig, sen och svår att försvara när någon frågar: “Varför gick vi vidare utan dem?”

Friktionen växer, särskilt när volymerna ökar eller när du rekryterar till mer än en roll samtidigt.

  • Att kopiera sökandes uppgifter till ett ark tar cirka 5 minuter per person, och det är första stället där fel brukar smyga sig in.
  • Manuell screening tenderar att glida, så två liknande kandidater kan få helt olika utfall.
  • Uppföljning är lätt att glömma när inkorgen blir stökig, vilket gör att kvalificerade personer kallnar.
  • Intervjubokning blir en mailtråd fram och tillbaka som drar ut i dagar.

Så fungerar den här automationen

Hela n8n-workflowen, från trigger till slutresultat:

n8n Workflow Template: OpenAI + Google Sheets, konsekventa cv-shortlists

Lösningen: OpenAI poängsätter sökande och din shortlist uppdateras av sig själv

Det här flödet gör din ansökningshantering till en strukturerad, konsekvent process. Det startar när en ny kandidat skickar in en ansökan via ditt formulär eller din jobbportal, som anropar en webhook i n8n. Kandidatens uppgifter loggas direkt i Google Sheets så att du får en enda, aktuell tracker. Därefter utvärderar OpenAI CV:t mot dina krav och tar fram en poäng (plus resonemang som du kan spara för spårbarhet). Sedan tillämpar flödet din poängregel: kandidater över tröskeln går automatiskt vidare, medan kandidater under tröskeln får ett artigt “nej” utan att du behöver skriva samma mejl igen. Om någon kvalificerar sig skickar flödet en intervjuinbjudan, skapar en Google Calendar-händelse och uppdaterar statusen i arket så att din shortlist är korrekt i realtid.

Workflowen börjar vid webhooken, skriver ansökan till Google Sheets och ber sedan OpenAI att bedöma matchningen. Efter ett kort bearbetningssteg för att normalisera poängen skickar en IF-gren kandidaten till “Intervju bokad” eller “Avslagen”, med motsvarande mejl- och ark-uppdateringar. Ett sista webhook-svar bekräftar att allt är klart så att ditt intagssystem vet att det fungerade.

Det här får du: automation vs. resultat

Exempel: så här ser det ut

Säg att du får 40 ansökningar på en vecka. Manuellt kanske du lägger cirka 5 minuter på att logga varje ansökan i ett kalkylark (ungefär 3 timmar), och sedan ytterligare 5 minuter på en första genomläsning och att skriva anteckningar (ytterligare 3 timmar). Med det här flödet sker intag och loggning i arket automatiskt, och OpenAI-poängsättningen körs i bakgrunden efter varje inskick. Du granskar en shortlist som redan är poängsatt och märkt, vilket oftast gör att det där 6-timmarspasset blir cirka 1 timme för slutgranskning och beslut.

Det du behöver

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för din kandidat-tracker (ATS-light).
  • OpenAI API för att poängsätta CV:n mot krav.
  • Google Calendar för att skapa intervju-event automatiskt.
  • E-postkonto (Gmail) för att skicka inbjudningar och avslag.
  • OpenAI API-nyckel (hämta den i OpenAI-dashboarden).

Kunskapsnivå: Medel. Du kopplar konton, redigerar en prompt och mappar fält från ditt formulär till ett Google Sheet.

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

Så fungerar det

En ny ansökan träffar din webhook. Ditt formulär eller din jobbportal skickar kandidatens grunduppgifter (namn, e-post, roll, CV-länk eller text) till n8n i samma ögonblick som de skickar in.

Kandidaten registreras i Google Sheets. Flödet skapar en ny rad med de fält du bryr dig om, inklusive tidsstämpel, så att du alltid har en enda sanningskälla för vad som kom in och när.

OpenAI bedömer matchningen och tar fram en poäng. Ett AI-steg jämför CV:t med dina krav, och sedan gör ett litet bearbetningsscript svaret korrekt formaterat så att nästa beslut blir tillförlitligt. Det är här konsekvensen kommer ifrån, helt ärligt, eftersom du tillämpar samma kriterier varje gång.

Beslut, kommunikation och bokning sker automatiskt. Om poängen möter din tröskel (mallen använder 70) skickar flödet ett mejl med intervjuinbjudan, bokar ett Google Calendar-event och uppdaterar statusen i arket till “Intervju bokad”. Om inte skickar det ett avslagsmejl och markerar raden “Avslagen”.

Du kan enkelt ändra poängtröskeln för att matcha rollens svårighetsgrad efter dina behov. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Konfigurera den inkommande webhooken så att ansökningar kan gå in i arbetsflödet och få ett strukturerat svar.

  1. Lägg till eller öppna Application Intake Webhook och ställ in Pathjob-application.
  2. Ställ in Response Mode till Using “Respond to Webhook” Node (värde responseNode).
  3. Spara arbetsflödet och kopiera den genererade webhook-URL:en från Application Intake Webhook till ert ansökningsformulär.

Tips: Skicka en exempelpayload i JSON som innehåller name, email, phone, experience, skills och resume så att efterföljande noder mappas korrekt.

Steg 2: Anslut Google Sheets för lagring av ansökningar

Lagra inkommande ansökningar och uppdatera deras status i ert kalkylark.

  1. Öppna Record Application Sheet och ställ in OperationappendOrUpdate.
  2. Ställ in Sheet Name till =Applications och Document ID till =[YOUR_ID].
  3. Ställ in Authentication till serviceAccount.
  4. Inloggningsuppgifter krävs: Anslut era googleApi-inloggningsuppgifter i Record Application Sheet.
  5. Öppna Sheet Update Interview Status och bekräfta att Operation är update, Sheet Name är Applications och Document ID är =[YOUR_ID].
  6. Inloggningsuppgifter krävs: Anslut era googleApi-inloggningsuppgifter i Sheet Update Interview Status.
  7. Öppna Sheet Update Rejection Status och ställ in Operationupdate, Sheet Name till =Applications och Document ID till =[YOUR_ID].
  8. Inloggningsuppgifter krävs: Anslut era googleApi-inloggningsuppgifter i Sheet Update Rejection Status.

⚠️ Vanlig fallgrop: Om ni använder ett bladnamn som inte finns kommer uppdateringar att misslyckas. Säkerställ att fliken ”Applications” finns i ert kalkylark.

Steg 3: Konfigurera AI-utvärdering och bearbetning

Konfigurera prompten för AI-bedömningen och skriptet som strukturerar utvärderingens output.

  1. Öppna AI Applicant Assessment och ställ in Model till =add your model (välj ert föredragna OpenAI model ID).
  2. Granska innehållet i Messages för att säkerställa att det refererar till indatafälten som {{ $json.body.name }}, {{ $json.body.experience }}, {{ $json.body.skills }} och {{ $json.body.resume }}.
  3. Ställ in Temperature till 0.3 för att hålla utvärderingar konsekventa.
  4. Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i AI Applicant Assessment.
  5. Öppna Evaluation Processing Script och behåll JavaScript-logiken som den är för att tolka AI-JSON och bygga fälten candidate, evaluation och decision.

Tips: Skriptet använder $('Application Intake Webhook').first().json.body för att komma åt den ursprungliga ansökningspayloaden. Säkerställ att er webhook-payload matchar dessa fält.

Steg 4: Konfigurera beslutslogik och åtgärder för output

Routa kandidater till arbetsflöden för intervju eller avslag och skicka e-post samt kalenderuppdateringar.

  1. I Score Decision Check ställer ni in villkoret att jämföra Value 1 ={{ $json.decision }} med Value 2 Interview med equals.
  2. Konfigurera Interview Invite Email med Subject Interview Invitation - Automation Specialist Position, To Email ={{ $json.candidate.email }} och From Email [YOUR_EMAIL].
  3. Inloggningsuppgifter krävs: Anslut era smtp-inloggningsuppgifter i Interview Invite Email.
  4. I Interview Calendar Booking ställer ni in Start till ={{ $now.plus(3, 'days').set({ hour: 10, minute: 0 }).toISO() }} och End till ={{ $now.plus(3, 'days').set({ hour: 11, minute: 0 }).toISO() }}, och ställer in Calendar till =[YOUR_ID].
  5. Inloggningsuppgifter krävs: Anslut era googleCalendarOAuth2Api-inloggningsuppgifter i Interview Calendar Booking.
  6. Konfigurera Rejection Email Notice med Subject Application Update - Automation Specialist Position, To Email ={{ $json.candidate.email }} och From Email [YOUR_EMAIL].
  7. Inloggningsuppgifter krävs: Anslut era smtp-inloggningsuppgifter i Rejection Email Notice.

⚠️ Vanlig fallgrop: Ersätt [YOUR_EMAIL] med en giltig avsändaradress i båda e-postnoderna för att undvika leveransproblem.

Steg 5: Konfigurera webhook-svaret

Returnera ett strukturerat JSON-svar till ansökningsformuläret efter bearbetning.

  1. Öppna Webhook Response Return och ställ in Respond With till json.
  2. Ställ in Response Body till ={{ {"success": true, "message": "Application received and processed", "candidateName": $json.candidate.name, "status": $json.decision} }}.
  3. Bekräfta flödet: Application Intake WebhookRecord Application SheetAI Applicant AssessmentEvaluation Processing ScriptScore Decision Check → (intervju eller avslag) → Webhook Response Return.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett kontrollerat test för att verifiera både accepterings- och avslagsflöden, och aktivera sedan arbetsflödet.

  1. Klicka på Execute Workflow och skicka en test-POST-förfrågan till URL:en för Application Intake Webhook med exempeldata för kandidaten.
  2. Verifiera att en ny rad skapas eller uppdateras i Record Application Sheet och att AI Applicant Assessment returnerar en JSON-utvärdering.
  3. Bekräfta att Score Decision Check routar antingen till Interview Invite Email och Interview Calendar Booking eller till Rejection Email Notice baserat på poängen.
  4. Kontrollera att Sheet Update Interview Status eller Sheet Update Rejection Status uppdaterar ansökningsposten korrekt.
  5. Säkerställ att svaret från Webhook Response Return innehåller success, candidateName och status.
  6. När allt är bekräftat, växla arbetsflödet 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

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, börja med att kontrollera fliken Credentials i n8n och ditt Google-kontos anslutna appar.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automationen för resume shortlist automation?

Cirka 30–60 minuter om dina Google-konton är redo.

Behöver jag kodkunskaper för att automatisera resume shortlist automation?

Nej. Du mappar främst fält och redigerar AI-prompten. Den enda “tekniska” delen är att testa en webhook en gång, vilket n8n gör ganska smärtfritt.

Är n8n gratis att använda för den här workflowen för resume shortlist automation?

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 (ofta några cent per kandidat, beroende på CV-längd).

Var kan jag hosta n8n för att köra den här automationen?

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 dig obegränsat antal körningar men kräver grundläggande serveradministration.

Kan jag anpassa den här workflowen för resume shortlist automation för olika roller och poängtrösklar?

Ja, och det bör du. Uppdatera prompten i noden AI Applicant Assessment så att den speglar rollens måsten, och justera sedan tröskeln i Score Decision Check (mallen använder 70). Vanliga justeringar är att lägga till “deal-breaker”-regler (som arbetstillstånd), ändra output så att den innehåller en kort motivering och skriva olika mejlmallar per roll så att kommunikationen känns mänsklig.

Varför fallerar min Google Sheets-anslutning i den här workflowen?

Oftast handlar det om utgången OAuth-åtkomst eller att fel Google-konto är anslutet. Återanslut Google Sheets i n8n Credentials och bekräfta sedan att arket är delat med det kontot och att Sheet ID är korrekt. Om du nyligen flyttade filen till en ny Drive-mapp kan behörigheter ändras utan att det märks. Kontrollera också om dina kolumner har bytt namn, eftersom fältmappning kan gå sönder när rubriker ändras.

Hur många ansökningar kan den här automationen för resume shortlist automation hantera?

Många. I n8n Cloud begränsas du främst av dina månatliga körningar, medan self-hosting beror på din server. I praktiken hanterar de flesta team utan problem några hundra ansökningar i veckan så länge du inte trycker in hela PDF-filer i AI-anropet varje gång.

Är den här automationen för resume shortlist automation bättre än att använda Zapier eller Make?

Ibland. Om du behöver förgreningar, poänglogik och tydlig kontroll över vad som skrivs tillbaka till Google Sheets är n8n oftast lättare att bygga vidare på (och self-hosting slipper prissättning per uppgift). Zapier eller Make kan gå snabbare för ett enkelt tvåstegsflöde, som “ny rad → skicka mejl”. Men när du lägger till AI-poängsättning, villkorsstyrda vägar och kalenderbokning smyger både kostnader och komplexitet upp. Om du vill ha hjälp att välja, prata med en automationsexpert och få en rak rekommendation.

När det här väl rullar slutar din shortlist att vara ett skört kalkylark som kräver ständig handpåläggning. Den blir en levande pipeline som håller sig uppdaterad medan du fokuserar på intervjuerna som faktiskt spelar roll.

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