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

LinkedIn till Google Docs, skräddarsydda cv:n

Rickard Andersson Partner, Nodenordic.se

Att söka jobb ska inte kännas som att driva en liten fabrik. Men det gör det oftast: hitta en roll, kopiera beskrivningen någonstans, justera ditt cv, leta upp en kontakt, och skriv sedan ännu ett ”ville bara följa upp”-mejl.

Jobbsökande känner det först. En karriärcoach som stöttar flera klienter drunknar i det också. Till och med en upptagen grundare som i det tysta letar efter nästa steg kör in i samma vägg. Den här LinkedIn-cv-automationen gör en manuell, felbenägen process till ett repeterbart system som skapar skräddarsydda cv:n och utkast som är klara att skicka.

Nedan ser du hur arbetsflödet fungerar, vad det ersätter och vad du kan justera så att resultatet fortfarande låter som du (inte en robot).

Så fungerar automatiseringen

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

n8n Workflow Template: LinkedIn till Google Docs, skräddarsydda cv:n

Problemet: att anpassa ansökningar tar evigheter

De flesta missar inte möjligheter för att de saknar kompetens. De missar dem för att ansökningsprocessen är ett slit. Du läser ett LinkedIn-inlägg, öppnar tre flikar, försöker matcha dina cv-punkter mot jobbannonsen och börjar sedan ifrågasätta varje rad eftersom allt börjar låta likadant. Efter det kommer den svåraste delen: hitta en faktisk beslutsfattares mejladress och skriva en kontakt som inte känns som spam. Gör du det några gånger så bränner du antingen kvällarna, eller så slutar du anpassa och börjar skjuta brett.

Det bygger snabbt på. Och arbetet är repetitivt på värsta sätt.

  • Du skriver om samma cv-avsnitt om och om igen, vilket stjäl tid från att faktiskt förbereda dig inför intervjuer.
  • Manuell copy-paste skapar slarvfel som fel företagsnamn eller en gammal projektrad.
  • Att hitta en vd:s eller rekryterande chefs mejl kan ta 15 minuter per roll, och du vet fortfarande inte om den är giltig.
  • Dina kontaktmejl driver i ton och struktur, så ditt ”personliga varumärke” ser inkonsekvent ut mellan ansökningar.

Lösningen: LinkedIn → skräddarsydda dokument → Gmail-utkast

Det här n8n-arbetsflödet fungerar som en personlig AI-rekryterare, men du har kontrollen. Du startar det manuellt, det läser ditt ”master-cv” från Google Docs och hämtar sedan aktuella jobbannonser från LinkedIn via en extern scraping-aktor (Apify) baserat på de nyckelord du väljer. Därefter använder det en OpenAI-modell för att granska jobbannonsen mot dina kompetenser och sorterar bort roller som inte passar, så att du inte lägger energi på långskott du ändå inte skulle tacka ja till. För rollerna som godkänns skriver arbetsflödet om ditt cv specifikt för jobbet, skapar ett nytt Google-dokument och sätter rätt delningsbehörigheter. Till sist slår det upp en verifierad beslutsfattares mejladress och skapar ett personligt Gmail-utkast med cv-länken redo att skickas.

Arbetsflödet börjar med ditt cv som sanningskälla i Google Docs. Sedan snävar det in LinkedIn-roller till en kortlista, anpassar en version av ditt cv för varje roll och lägger ett mejlutkast i Gmail så att du kan granska och trycka på skicka. Inget skickas automatiskt, vilket är helt rätt vid jobbsök.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du siktar på 10 LinkedIn-roller per vecka. Manuellt kanske du lägger cirka 20 minuter på att läsa och ta beslut, 45 minuter på att anpassa ditt cv och 15 minuter på att hitta en kontakt och skriva ett kontaktmejl. Det är ungefär 80 minuter per roll, eller runt 13 timmar i veckan. Med det här arbetsflödet: du startar det en gång, låter det granska och skapa en kortlista och går igenom Google Docs och Gmail-utkasten i slutet. De flesta får ner den veckovisa batchen till cirka 1–2 timmars granskningstid, beroende på hur kräsen du är.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Självhostat alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Docs / Google Drive för att läsa och skapa cv-filer
  • Gmail för att generera utkast i din Utkast-mapp
  • Apify-konto för att köra LinkedIn Job Scraper-aktorn
  • OpenAI API-nyckel (hämta den i OpenAI API-dashboarden)
  • Anymail Finder API-nyckel (hämta den i ditt Anymail Finder-konto)

Kunskapsnivå: Medel. Du kopplar konton, klistrar in ditt master-cv och justerar en LinkedIn-sökingång utan att krascha arbetsflödet.

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

Så fungerar det

Du startar arbetsflödet manuellt. Den triggern är medveten, eftersom jobbansökningar är höginsats och du vill ha kontroll över när det körs.

Ditt master-cv hämtas från Google Docs. Arbetsflödet tar ett enda källdokument, så varje anpassad version utgår från samma bas istället för vilken fil du råkade redigera förra veckan.

LinkedIn-roller hämtas och granskas sedan av AI. Ett externt jobb-API-anrop hämtar annonser (via Apify), en limit-nod håller volymen rimlig och sedan kontrollerar en OpenAI-modell matchning och filtrerar bort roller som inte stämmer med dina kompetenser och preferenser.

Det skapar resultaten du faktiskt behöver. Ett andra OpenAI-steg skriver om cv:t för den kortlistade rollen, konverterar det till korrekt formaterad HTML, skapar ett nytt Google-dokument, delar det och förbereder sedan ett Gmail-utkast efter att en beslutsfattares mejladress har berikats.

Du kan enkelt ändra söknyckelord och granskningskriterier så att de matchar din nisch, så att du inte fastnar i att jaga generiska roller. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den manuella triggern

Starta arbetsflödet manuellt så att ni kan validera hela processen för jobbkontakt från början till slut innan ni automatiserar vidare.

  1. Lägg till noden Manual Launch Trigger som starttrigger.
  2. Klicka på Execute Workflow för att köra ett test när konfigurationen är klar.
  3. Behåll Flowpast Branding som en valfri sticky note för dokumentation och teamkontext.

Steg 2: anslut Google Docs och hämta käll-cv

Hämta basinnehållet i cv:t som ska anpassas för varje utvalt jobb.

  1. Öppna Fetch Source Document och ställ in Operationget.
  2. Ställ in Document URL till [PASTE_YOUR_GOOGLE_DOC_ID_HERE].
  3. Inloggning krävs: Anslut era Google Docs OAuth2 API-uppgifter i Fetch Source Document.

⚠️ Vanlig fallgrop: Säkerställ att dokument-ID:t är giltigt och åtkomligt för det anslutna Google-kontot, annars kommer efterföljande cv-anpassning att misslyckas.

Steg 3: konfigurera jobbintag, filtrering och shortlist

Hämta jobbannonser, begränsa batchstorleken och filtrera till endast roller som matchar era kriterier.

  1. Konfigurera External Job API Call med Method satt till POST och URL satt till https://api.apify.com/v2/acts/hKByXkMQaC5Qt9UMN/run-sync-get-dataset-items.
  2. Ställ in JSON Body i External Job API Call till den angivna payloaden, inklusive "count": 100 och LinkedIn-URL:en.
  3. Ställ in Header Parameters i External Job API Call så att den inkluderar Authorization: Bearer [CONFIGURE_YOUR_TOKEN] och Accept: application/json.
  4. Öppna Restrict Items och ställ in Max Items till 10.
  5. I AI Fit Screening, behåll JSON Output aktiverat och verifiera att prompten innehåller {{ $json.toJsonString() }}.
  6. Inloggning krävs: Anslut era OpenAI-uppgifter i AI Fit Screening.
  7. Konfigurera Filter Suitable Roles med villkoren: {{ $json.message.content.verdict }} är lika med true och {{ $('Restrict Items').item.json.companyWebsite }} är inte tomt.
  8. Ställ in Cap Shortlist till Max Items 4.

⚠️ Vanlig fallgrop: Filtret använder {{ $json.message.content.verdict }}. Om formatet på AI-svaret ändras slutar filtret att släppa igenom objekt.

Steg 4: konfigurera AI-anpassning av cv och dokumentgenerering

Generera ett anpassat cv i Markdown, konvertera det till HTML och skapa samt dela Google-dokumentet.

  1. I AI Resume Tailoring, bekräfta att prompten refererar till {{ $('Restrict Items').item.json.toJsonString() }} och {{ $('Fetch Source Document').item.json.content }}.
  2. Inloggning krävs: Anslut era OpenAI-uppgifter i AI Resume Tailoring.
  3. Ställ in Convert to HTML till Mode markdownToHtml med Markdown satt till {{ $json.message.content }}.
  4. Konfigurera Generate Resume Doc med Title Tailored Resume - [Candidate Name] och Folder ID default.
  5. Inloggning krävs: Anslut era Google Docs OAuth2 API-uppgifter i Generate Resume Doc.
  6. I Share Drive File, ställ in Operationshare och bekräfta att File ID är {{ $json.id }}.
  7. Inloggning krävs: Anslut era Google Drive OAuth2-uppgifter i Share Drive File.
  8. Konfigurera Upload HTML Content med Method PATCH, URL {{ 'https://www.googleapis.com/upload/drive/v3/files/' + $('Generate Resume Doc').item.json.id + '?uploadType=media' }} och Body {{ $('Convert to HTML').item.json.data }}.
  9. Inloggning krävs: Anslut era Google Docs OAuth2 API-uppgifter i Upload HTML Content.

Tips: Exekveringsflödet är linjärt—AI Resume TailoringConvert to HTMLGenerate Resume DocShare Drive FileUpload HTML Content—så ett fel i en nod kommer att blockera resten.

Steg 5: konfigurera e-postuppslagning och skapande av utkast

Hitta en beslutsfattares e-postadress, validera den och skapa ett utkast till ett Gmail-meddelande för kontakt.

  1. I Lookup Decision Maker Email, ställ in URL till https://api.anymailfinder.com/v5.1/find-email/decision-maker och Method till POST.
  2. Ställ in body-parametrar: domain till {{ $('Restrict Items').item.json.companyWebsite }} och decision_maker_category till ceo.
  3. Ställ in header-parametern Authorization till [CONFIGURE_YOUR_API_KEY].
  4. Konfigurera Validate Email Result så att den passerar när {{ $json.email }} inte är tom.
  5. I Compose Gmail Draft, ställ in Resource till draft och bekräfta att Subject använder {{ $('Restrict Items').item.json.title }}.
  6. Verifiera att brödtexten i Message använder {{ $json.person_full_name.split(" ").first() }}, {{ $('Restrict Items').item.json.companyName }} och {{ $('Fetch Source Document').item.json.documentId }}.
  7. Inloggning krävs: Anslut era Gmail OAuth2-uppgifter i Compose Gmail Draft.

⚠️ Vanlig fallgrop: Om e-postuppslagningen inte returnerar något resultat kommer Validate Email Result att blockera skapandet av utkast. Testa med en domän som ni vet ger träff.

Steg 6: testa och aktivera ert arbetsflöde

Validera varje nod och aktivera sedan arbetsflödet för användning i produktion.

  1. Klicka på Execute WorkflowManual Launch Trigger för att köra ett fullständigt test.
  2. Bekräfta att flödet går vidare i ordning: Fetch Source DocumentExternal Job API CallRestrict ItemsAI Fit ScreeningFilter Suitable RolesCap ShortlistAI Resume TailoringConvert to HTMLGenerate Resume DocShare Drive FileUpload HTML ContentLookup Decision Maker EmailValidate Email ResultCompose Gmail Draft.
  3. Verifiera att ett nytt Google-dokument skapas, delas och uppdateras med det anpassade cv-innehållet.
  4. Kontrollera Gmail-utkast för det personliga kontaktmeddelandet och ämnesraden.
  5. Växla arbetsflödet till Active när ni är redo att använda det i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Drive/Docs-inloggningar kan löpa ut eller kräva rätt scopes. Om dokument inte skapas eller delas, kontrollera först n8n-inloggningen och behörigheterna för Google-kontot.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
  • OpenAI-prompter landar som standard i en ”artigt generisk cv-ton”. Lägg tidigt in några rader som beskriver din ton och önskad senioritetsnivå för rollen, annars kommer du fortsätta redigera varje version.

Vanliga frågor

Hur lång tid tar det att sätta upp den här LinkedIn-cv-automationen?

Cirka 45 minuter om du redan har konton och API-nycklar.

Behöver jag kodningskunskaper för att automatisera LinkedIn-anpassning av cv?

Nej. Du kopplar tjänster i n8n och klistrar in din LinkedIn-sökinput. Den enda ”tekniska” delen är att kontrollera att dina inloggningar är korrekt inställda.

Är n8n gratis att använda för det här arbetsflödet för LinkedIn-cv-automation?

Ja. n8n har ett gratis självhostat 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 med OpenAI-användning samt kostnader för Apify och Anymail Finder, beroende på hur många roller du behandlar.

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller självhostning på en VPS. För självhostning är Hostinger VPS prisvärt och hanterar n8n bra. Självhostning ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här arbetsflödet för LinkedIn-cv-automation för andra jobbsökord och ett annat cv-format?

Ja, och det bör du. Uppdatera jobbsökinputen i anropet ”External Job API Call” (din LinkedIn-sök-URL/kriterier) och justera sedan promptarna i ”AI Fit Screening” och ”AI Resume Tailoring” så att de speglar dina måltitlar och din föredragna struktur. Vanliga justeringar är striktare filter (endast remote, lägsta lön), ett kortare resultat på en sida och en mer direkt mejlton i ”Compose Gmail Draft”.

Varför fungerar inte min Google Drive-anslutning i det här arbetsflödet?

Oftast är det en utgången OAuth-anslutning eller saknade behörigheter för Docs/Drive. Anslut Google-inloggningen igen i n8n och bekräfta sedan att samma Google-konto kan skapa och dela filer i Drive. Om det fortfarande inte fungerar, kontrollera att arbetsflödet pekar på rätt dokument-id för ditt master-cv.

Hur många jobbannonser kan den här LinkedIn-cv-automationen hantera?

Många, men du vill hålla det praktiskt. Arbetsflödet använder redan limit-steg (”Restrict Items” och ”Cap Shortlist”), vilket är ett bra tecken eftersom det undviker att bränna krediter på skräproller. I n8n Cloud styrs din gräns mest av antal körningar per månad utifrån plan, medan självhostning inte har något körningstak (det beror på din server). I praktiken siktar de flesta på en kortlista på 5–20 starka matchningar per körning så att granskningen går snabbt.

Är den här LinkedIn-cv-automationen bättre än att använda Zapier eller Make?

För det här användningsfallet brukar n8n passa bättre eftersom du gör filtrering i flera steg, dokumentgenerering och berikning i ett och samma flöde. Du får också ett självhostat alternativ, vilket spelar roll när du kör många iterationer och inte vill att varje steg ska debiteras separat. Zapier och Make kan fungera, men logiken hamnar ofta uppdelad i scenarier med fler begränsningar kring förgreningar och datatransformering. En annan faktor är AI-kontroll: n8n gör det enklare att hålla promptar, minne och formatering på ett ställe. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation.

Sätt upp det en gång och dina ansökningar slutar kännas som ett extrajobb. Du granskar kortlistan, gör snabba ändringar vid behov och skickar sedan utkast som faktiskt matchar rollen.

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