Jobbsökande har en lömsk tendens att sluka din vecka. Du hittar roller, kopierar länkar till en tracker, jämför krav med ditt CV och skriver sedan om samma meritpunkter om och om igen.
Det är här automatisering av jobbleads hjälper. Det träffar jobbsökande först, ärligt talat, men rekryterare som coachar kandidater och karriärkonsulter känner samma friktion när allt ligger utspritt i olika flikar. Resultatet är enkelt: nya roller dyker upp redan poängsatta utifrån matchning, med ett skräddarsytt CV-utkast som väntar i din databas.
Nedan ser du hur det här n8n-flödet hämtar dina preferenser från Google Sheets, skrapar nya annonser, kör AI-poängsättning och lagrar allt snyggt i Airtable så att du kan söka snabbare med mindre administration.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + Airtable: jobb-leads spåras åt dig
flowchart LR
subgraph sg0["🤖 AI: Score CV vs Jo Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Job Preferences", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Job Extract with revamped sc.."]
n3@{ icon: "mdi:cog", form: "rounded", label: "🕒 Trigger: Daily Job Fetch", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "📄 Fetch Job Preferences (Goo..", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "🔄 Loop: Search Jobs per Pref..", 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/>🔍 Apify: Scrape Jobs"]
n7["<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/>🧹 Clean & Extract Job Data"]
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter: Recent Jobs (48h)", 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/airtable.svg' width='40' height='40' /></div><br/>🗂️ Archive: Old Jobs (Airtab.."]
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "🔄 Loop: Score New Jobs", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "🤖 AI: Score CV vs Job", 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/code.svg' width='40' height='40' /></div><br/>📄 Parse AI Score Output"]
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "🔄 Loop: Generate CV Suggesti..", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "✍️ AI: Revamp CV Based on Job", pos: "b", h: 48 }
n15["<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/>🗂️ Save: Final Job Data (Air.."]
n0 -.-> n11
n1 --> n5
n6 --> n5
n11 --> n12
n10 --> n13
n10 --> n11
n8 --> n10
n8 --> n9
n12 --> n10
n3 --> n4
n7 --> n8
n2 --> n13
n14 --> n2
n13 --> n15
n13 --> n14
n5 --> n7
n5 --> n6
n4 --> 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 n11,n14 ai
class n0 aiModel
class n8 decision
class n4,n9,n15 database
class n6 api
class n2,n7,n12 code
classDef customIcon fill:none,stroke:none
class n2,n6,n7,n9,n12,n15 customIcon
Problemet: administrationen tar över jobbsökandet
Du börjar med goda intentioner. En snabb sökning på morgonen, några lovande roller sparade, kanske en notis om att skräddarsy ditt CV senare. Sedan blir flikarna fler. Du tappar bort vad du har sökt, vilka jobb som redan är inaktuella och vilka som faktiskt matchar din erfarenhet. Det värsta är den mentala belastningen: varje roll ber om ett ”skräddarsytt CV”, så du fortsätter skriva om samma dokument medan de bästa annonserna försvinner inom en dag eller två.
Det växer snabbt. Här är hur det faller isär i verkligheten.
- Du lägger cirka 10 minuter per jobb bara på att samla detaljer och logga dem någonstans.
- Nya roller blandas med veckogamla annonser, så du slösar tid på jobb som i praktiken redan är stängda.
- Att skräddarsy CV:t blir ett kvällsmåste, vilket gör att du söker senare och med mindre energi.
- Din ”tracker” blir ett rörigt kalkylark som inte kan tala om vilka roller som faktiskt är värda att söka.
Lösningen: daglig jobbscraping + AI-matchpoäng till Airtable
Det här flödet körs dagligen och gör ditt jobbsökande till en repeterbar pipeline. Det börjar med att läsa dina jobbpreferenser från Google Sheets (titlar, platser och andra fält du lägger till). Sedan använder det Apify för att skrapa jobbportaler efter matchande annonser, normaliserar resultatet till korrekt formaterade fält och filtrerar bort allt som är äldre än cirka 48 timmar. Därefter poängsätter en OpenAI-agent varje roll mot ditt nuvarande CV, förklarar matchningen och skapar ett uppdaterat CV-utkast anpassat för just den annonsen. Till sist lagras allt i Airtable, med separat hantering av inaktuella roller så att din vy för ”aktuella möjligheter” hålls ren.
Flödet startar med en Cron-trigger, hämtar sedan preferenser från Google Sheets och loopar igenom varje preferensuppsättning. Apify samlar in matchande jobb, AI poängsätter och skriver om, och Airtable blir din enda källa till sanning för roller, länkar, matchpoäng och skräddarsydda CV-utkast.
Det du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du bevakar 3 jobbtitlar i 2 orter (6 sökningar totalt) och att du granskar 10 nya roller per dag. Manuell hantering kan innebära 10 minuter för att logga varje roll och ytterligare 20 minuter för en snabb ”CV vs. annons”-kontroll, vilket blir cirka 5 timmar per dag när du tar det på allvar. Med det här flödet uppdaterar du ditt Google Sheet en gång, sedan sköter den dagliga körningen skrapning, filtrering, poängsättning och Airtable-uppdateringar i bakgrunden. Du lägger din tid på rollerna med högst poäng och använder det skräddarsydda CV-utkastet som startpunkt.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra jobbtitlar och platser.
- Airtable för att lagra poängsatta roller och CV-utkast.
- Google Sheets API-uppgifter (hämta dem från Google Cloud Console).
- Apify API-nyckel (hämta den i dina Apify-kontoinställningar).
- OpenAI API-nyckel (hämta den i OpenAI-dashboarden).
- Airtable API-nyckel (hämta den i Airtables utvecklarinställningar).
Kunskapsnivå: Mellan. Du kopplar konton, mappar några fält och klistrar in API-nycklar.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En daglig schemaläggning kör flödet. Cron-noden triggar en gång per dag, så du behöver inte förlita dig på att ”komma ihåg att söka” när du är stressad eller trött.
Dina preferenser kommer från Google Sheets. n8n läser raderna som definierar vad du vill ha (jobbtitel, plats och extra filter du lägger till), och delar sedan upp dem i batcher för att köra flera sökningar utan att fastna på volym.
Apify samlar in jobben och flödet städar upp dem. HTTP-anropet kör din Apify-scraper, och kodsteg normaliserar jobbdataljer till konsekventa fält som företag, länk, beskrivning och publiceringsdatum. Ett ”if”-filter behåller bara nya annonser, och äldre kan arkiveras i Airtable så att de inte skräpar ner din aktuella vy.
OpenAI poängsätter matchningen och tar fram ett skräddarsytt CV-utkast. En AI-agent jämför varje jobb med ditt befintliga CV, returnerar en kompatibilitetspoäng och en motivering, och genererar sedan ett uppdaterat CV-utkast per roll. Till sist skriver n8n hela posten till Airtable, redo för granskning och ansökningar.
Du kan enkelt justera poängkriterierna för att prioritera distansroller, specifika branscher eller ledarerfarenhet utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera Cron-triggern
Ställ in workflowet så att det körs dagligen enligt ett schema med hjälp av den inbyggda triggern.
- Lägg till och öppna Daily Fetch Scheduler.
- Ställ in önskat schema för daglig körning (t.ex. varje morgon).
- Bekräfta att Daily Fetch Scheduler är ansluten till Retrieve Job Preferences.
Steg 2: anslut Google Sheets
Hämta data för jobbpreferenser som driver sökloopen.
- Öppna Retrieve Job Preferences och anslut den till er Google Sheets-fil som lagrar indata för jobbsökningar.
- Credential Required: Anslut era Google Sheets-inloggningsuppgifter.
- Verifiera att Retrieve Job Preferences skickar utdata till Divide Preference List.
Steg 3: konfigurera iterering för jobbsökning och scraping
Dela upp preferenser i batchar och fråga en extern scraper efter jobbdata.
- Öppna Divide Preference List och säkerställ att den är konfigurerad för att batcha preferensrader vid behov.
- Bekräfta att Divide Preference List skickar utdata till Iterate Job Searches.
- I Iterate Job Searches validerar ni batchinställningarna för iterativa förfrågningar.
- Iterate Job Searches skickar utdata parallellt till både Normalize Job Details och Apify Job Scraper—bekräfta att båda anslutningarna finns.
- Öppna Apify Job Scraper och konfigurera HTTP-förfrågan mot er Apify-endpoint.
- Credential Required: Anslut era HTTP Request-inloggningsuppgifter om er Apify-endpoint kräver autentisering.
Steg 4: normalisera, filtrera och arkivera jobbdata
Rensa den scrapade datan, filtrera på aktualitet och arkivera gamla roller i Airtable.
- Öppna Normalize Job Details och implementera er normaliseringslogik för att mappa scrapade fält till konsekventa nycklar.
- Konfigurera Filter Recent Postings för att separera nya annonser från gamla roller.
- Filter Recent Postings skickar utdata parallellt till både Cycle Job Scoring och Archive Stale Roles.
- Öppna Archive Stale Roles och välj den Airtable base/tabell som lagrar arkiverade jobb.
- Credential Required: Anslut era Airtable-inloggningsuppgifter.
Steg 5: konfigurera AI-poängsättning och CV-anpassning
Poängsätt jobb med AI och skapa anpassade CV-förslag innan lagring.
- Öppna OpenAI Chat Engine och lägg till OpenAI-inloggningsuppgifter för språkmodellen.
- OpenAI Chat Engine är ansluten som språkmodell för AI Match Scoring—säkerställ att inloggningsuppgifter läggs till i OpenAI Chat Engine, inte i agentnoden.
- Öppna AI Match Scoring och bekräfta att den tar emot indata från Cycle Job Scoring.
- Konfigurera Parse Score Results så att AI-utdata konverteras till strukturerade fält för vidare användning.
- Cycle Job Scoring skickar utdata parallellt till både Cycle CV Suggestions och AI Match Scoring.
- Öppna AI Resume Tailor och anslut OpenAI-inloggningsuppgifter för generering av CV.
Steg 6: konfigurera lagring av utdata
Lagra färdiga jobbresultat och AI-rekommendationer i Airtable.
- Bekräfta att Cycle CV Suggestions skickar data parallellt till både Store Final Job Data och AI Resume Tailor.
- Öppna Store Final Job Data och välj er Airtable base/tabell för slutliga jobbrekord.
- Credential Required: Anslut era Airtable-inloggningsuppgifter.
Steg 7: testa och aktivera ert workflow
Validera workflowet från början till slut och aktivera det för produktion.
- Klicka på Execute Workflow och bekräfta att Daily Fetch Scheduler triggar Retrieve Job Preferences.
- Kontrollera att jobbdata flödar genom Apify Job Scraper, Normalize Job Details och Filter Recent Postings utan fel.
- Verifiera att AI-utdata från AI Match Scoring och AI Resume Tailor tolkas av Parse Score Results och lagras i Store Final Job Data.
- När allt fungerar, slå på workflowet till Active för att köra dagligen.
Vanliga fallgropar
- Google Sheets-uppgifter kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först inloggningsuppgifterna i Google Cloud Console och OAuth-scope.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på tomma svar.
- Apify-scrapers ändrar ibland utdatafält när en jobbportal uppdaterar sin layout. Om Airtable börjar få tomma företagsnamn eller saknade länkar, granska senaste Apify-körningens utdata och uppdatera din mappning.
- Standardprompter i AI-noder är generiska. Lägg in ditt varumärkesspråk tidigt, annars kommer du att redigera utdata i all evighet.
Vanliga frågor
Cirka 45 minuter om dina API:er är klara.
Nej. Du klistrar mest in API-nycklar och mappar fält mellan Google Sheets, Apify, OpenAI och Airtable.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Molnplaner börjar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för OpenAI API (ofta några cent per jobb, beroende på CV-längd) och Apify-användning.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men du gör det i scraper-lagret. Byt Apify-actor (eller lägg till en andra HTTP Request-väg) och behåll samma mappning för ”Normalisera jobbdetaljer”, men justera fält där den nya källan namnger saker annorlunda. Vanliga anpassningar är att lägga till nischportaler, prioritera endast distansroller och skärpa regeln ”publicerad inom 48 timmar”.
Oftast är det en Airtable API-nyckel som har löpt ut eller roterats, så skapa en ny och uppdatera Airtable-uppgifterna i n8n. Kontrollera också att base-/table-ID:n matchar dem du skapade för ”aktuella bearbetade jobb” och ”arkiverade jobb”. Om du nyligen lade till nya kolumner som revampedCV eller newMatchReason, säkerställ att din mappning i ”Store Final Job Data” pekar på rätt fälttyper. Airtable kan också neka mycket stora textblock, så om ett CV-utkast är enormt, lagra en sammanfattning och lägg hela versionen i ett dokumentfält i stället.
På n8n Cloud Starter begränsas du av månatliga körningar, så tänk i ”körningar per bearbetat jobb” snarare än antal annonser. Om du kör egen drift finns ingen körningsgräns, och den praktiska gränsen blir i stället din server och dina Apify-/OpenAI-rate limits. I de flesta fall är det inga problem att bearbeta några hundra roller per dag så länge du batchar korrekt och håller prompter effektiva.
Ofta, ja. Det här flödet har loopar, filtrering och AI-bearbetning i flera steg, och n8n hanterar den typen av förgrening utan att varje litet steg blir en separat betald task. Egen drift är också viktigt om du vill köra dagliga sökningar utifrån många preferenser. Zapier eller Make kan ändå passa om du bara vill ha ett enkelt ”skrapa → skicka mig ett mejl”-flöde och du inte bryr dig om en strukturerad Airtable-databas. Om du är osäker, prata med en automationsexpert så får du ett rakt svar för din situation.
När detta väl är igång slutar ditt jobbsökande att kännas som pappersarbete. Flödet sköter insamling, sortering och utkast, så att du kan fokusera på att söka de roller som faktiskt passar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.