Att kopiera kandidatuppgifter från PDF:er, jaga saknade porträttbilder och sedan försöka ”få allt att se enhetligt ut” mellan olika inskick är den typen av jobb som tyst äter upp din vecka. Och ärligt talat skapar det en sämre upplevelse för alla inblandade.
Rekryterare märker det när de ska sålla snabbt. HR-chefer märker det när rekryterande chefer vill ha ”något mer än en PDF”. Och karriärcoacher får samma önskemål från sina klienter. Den här automatiseringen för HeyGen-video-cv:n gör om ett cv + foto till en delbar videolänk och loggar den automatiskt.
Nedan ser du exakt vad arbetsflödet gör, vad du får ut av det och vad du behöver för att köra det stabilt i n8n.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: HeyGen + Google Sheets: videocv klara åt dig
flowchart LR
subgraph sg0["Upload Resume & Photo Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Extract Resume", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Resume Information Extractor", pos: "b", h: 48 }
n4["<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/>Merge Image & Script"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch to Male & Female", 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/>Generate Male Voice Video"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate Female Voice Video"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Wait", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Check Status Video"]
n10@{ icon: "mdi:robot", form: "rounded", label: "Generate Script & Find Gender", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Append video", 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/form.svg' width='40' height='40' /></div><br/>Upload Resume & Photo"]
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Video is Complated or Not", pos: "b", h: 48 }
n8 --> n9
n2 --> n3
n0 -.-> n3
n9 --> n13
n4 --> n5
n12 --> n2
n5 --> n6
n5 --> n7
n6 --> n8
n13 --> n11
n13 --> n8
n7 --> n8
n3 --> n10
n10 --> n4
end
subgraph sg1["Flow 2"]
direction LR
n1["<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/>Avatar upload"]
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 n12 trigger
class n3,n10 ai
class n0 aiModel
class n5,n13 decision
class n11 database
class n6,n7,n9,n1 api
classDef customIcon fill:none,stroke:none
class n4,n6,n7,n9,n12,n1 customIcon
Problemet: att göra engagerande inskick från PDF:er är en röra
Ett PDF-cv är enkelt att skicka, men det ger ett svagt första intryck när du konkurrerar om uppmärksamhet. Om du försöker ”uppgradera” det manuellt blir processen snabbt klumpig: du samlar in en porträttbild i en separat e-posttråd, skummar cv:t efter höjdpunkter, skriver om det till en kort introduktion och behöver sedan ändå ett konsekvent sätt att dela det med rekryteringsteamet. Än värre: varje kandidat får olika formatering eftersom arbetet görs under tidspress. Den inkonsekvensen gör granskningen långsammare, inte snabbare.
Friktionen byggs på. Här är var det faller isär i verkligheten.
- Rekryteringsteam tappar runt 10 minuter per kandidat bara på att samla in ”rätt” filer och detaljer från utspridda meddelanden.
- Manuella sammanfattningar blir inkonsekventa, så rekryterande chefer ställer följdfrågor som du hade kunnat besvara direkt.
- Delning blir krånglig eftersom det saknas en enda spårbar länk som är enkel att öppna och vidarebefordra.
- När volymerna ökar sjunker kvaliteten först, eftersom människor inte kan standardisera output i högt tempo.
Lösningen: generera HeyGen-video-cv:n och logga dem automatiskt
Det här arbetsflödet tar bort ”cv + porträttbild”-intaget från din att-göra-lista och gör det till en repeterbar pipeline. En kandidat laddar upp sitt PDF-cv och ett foto via ett n8n-formulär. Arbetsflödet extraherar viktiga detaljer från cv:t (erfarenhet, utbildning, kompetenser) och använder sedan AI för att skriva ett kort talmanus som låter som en naturlig introduktion i stället för en kopierad LinkedIn-profil. Därefter analyserar det porträttbilden för att detektera kön så att det kan välja röst-/avatarinställningar som passar, laddar upp fotot till HeyGen för att skapa en avatar och begär videoproduktion. Slutligen övervakar arbetsflödet HeyGen tills videon är klar och skriver kandidatens namn och den färdiga videons URL till Google Sheets så att teamet får en enda strukturerad plats att granska från.
Arbetsflödet startar med en enkel formulärinsändning. AI extraherar cv-höjdpunkter och genererar ett manus redo för narration, och sedan bygger HeyGen avatarvideon med det uppladdade fotot. När renderingen är klar läggs den delbara videolänken automatiskt till i ditt Google Sheet.
Det du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du screenar 30 kandidater i veckan. Manuellt kan du lägga runt 10 minuter per kandidat på att ladda ner filer, plocka ut höjdpunkter, skriva en kort introtext och klistra in en delningslänk i en tracker, vilket blir ungefär 5 timmar i veckan. Med det här arbetsflödet blir ”mänsklig tid” närmare 1 minut per kandidat för att granska en rad i Sheet och öppna videon, medan HeyGen renderar i bakgrunden. Det är cirka 4 timmar tillbaka en normal vecka, utan att sänka kvaliteten.
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)
- HeyGen för att generera avatarvideor från foton.
- Google Sheets för att spåra kandidater och videolänkar.
- HeyGen API-nyckel (hämtas i kontoinställningarna i HeyGen).
Svårighetsnivå: Medel. Du kopplar konton, lägger in en API-nyckel och testar ett par exempelinskick.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En kandidat skickar in formuläret. Arbetsflödet börjar med en n8n Form Trigger där kandidaten laddar upp ett PDF-cv och en porträttbild.
Cv:t omvandlas till användbar data. n8n tolkar PDF:en och sedan plockar ett AI-steg ut detaljerna du faktiskt bryr dig om (namn, erfarenhetshöjdpunkter, kompetenser, utbildning) så att du slipper läsa rad för rad.
AI skriver manuset och arbetsflödet väljer rätt röst. En språkmodell skapar en kort, talad sammanfattning och fotot analyseras för att detektera kön så att arbetsflödet kan skicka begäran till rätt HeyGen-inställningar.
HeyGen genererar videon och Google Sheets blir trackern. Porträttbilden laddas upp till HeyGen för att skapa en avatar, en video begärs med manusnarrationen och n8n väntar och kontrollerar status tills den slutliga URL:en är klar. Den URL:en läggs till i Google Sheets tillsammans med kandidatens namn, så granskningen blir ett enkelt ”öppna länken”-flöde.
Du kan enkelt justera manusstilen så att den matchar er tonalitet utifrån era behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera formulärtriggern
Konfigurera intagsformuläret så att användare kan ladda upp en bild och ett CV för att starta arbetsflödet.
- Lägg till och öppna Resume & Photo Intake.
- Ställ in Form Title på
Create video using Resume and Image. - Ställ in Form Description på
Upload Image and Resume. - Säkerställ att formFields innehåller ett filfält med etiketten
imagesom accepterar.jpeg, .png, .jpg. - Säkerställ att det andra filfältet har etiketten
Resumeoch accepterar.pdf, .docs.
Resume & Photo Intake skickar output parallellt till både Parse Resume File och Upload Avatar Image.
Steg 2: tolka och extrahera CV-data
Det här steget läser PDF-innehållet och extraherar strukturerade CV-fält för skriptgeneratorn.
- Öppna Parse Resume File och ställ in Operation på
pdf. - Ställ in Binary Property Name på
Resume. - Öppna Extract Resume Details och ställ in Text på
{{ $json.text }}. - Bekräfta att attributlistan innehåller
name,JobTitle,skill,EducationochSummary. - Öppna OpenAI Chat Engine och ställ in Model på
gpt-4o-mini. - Inloggning krävs: anslut era openAiApi-inloggningsuppgifter i OpenAI Chat Engine.
OpenAI Chat Engine är ansluten som språkmodell för Extract Resume Details — se till att inloggningsuppgifter läggs till i OpenAI Chat Engine, inte i extraktornoden.
Steg 3: ta fram utkast till skript och identifiera kön
Använd den extraherade CV-datan för att generera ett kort intro-skript och identifiera kön.
- Öppna Draft Script & Detect Gender och ställ in Model på
gpt-4o-mini. - Låt JSON Output vara aktiverat och Simplify vara avstängt.
- Verifiera att meddelandeinnehållet använder CV-fälten, t.ex.
- Name: {{ $json.output.name }},- Job Title: {{ $json.output.JobTitle }}och- Skills: {{ $json.output.skill }}. - Inloggning krävs: anslut era openAiApi-inloggningsuppgifter i Draft Script & Detect Gender.
Steg 4: ladda upp bild och kombinera med skript
Ladda upp avatarbilden till HeyGen och slå ihop den med den genererade skript-datan.
- Öppna Upload Avatar Image och ställ in URL på
https://upload.heygen.com/v1/talking_photo. - Ställ in Method på
POST, Content Type påbinaryDataoch Input Data Field Name påimage. - I Header Parameters ställer ni in Content-Type på
image/jpegoch x-api-key på er HeyGen API-nyckel. - Öppna Combine Image and Script och ställ in Mode på
combineoch Combine By påcombineByPosition.
[CONFIGURE_YOUR_API_KEY] innan ni testar.Steg 5: routa efter kön och skapa videor
Dela upp flödet baserat på det identifierade könet och generera rätt video med röstavatar.
- Öppna Route by Gender och bekräfta att reglerna jämför
{{ $json.choices[0].message.content.gender }}medMaleochFemale. - Öppna Create Male Voice Video och ställ in URL på
https://api.heygen.com/v2/video/generate. - Behåll JSON Body som konfigurerad, inklusive
{{ $json.data.talking_photo_id }}och{{ $json.choices[0].message.content.script }}. - Ställ in headern X-Api-Key i Create Male Voice Video till er HeyGen API-nyckel.
- Öppna Create Female Voice Video och spegla samma inställningar, men behåll den kvinnliga voice_id i JSON body.
- Ställ in headern X-Api-Key i Create Female Voice Video till er HeyGen API-nyckel.
Steg 6: polla tills klart och logga resultat
Vänta på bearbetningen, kontrollera status och lägg till den färdiga videon i Google Sheets.
- Öppna Delay for Processing och ställ in Unit på
minutesoch Amount på3. - Öppna Check Video Status och ställ in URL på
=https://api.heygen.com/v1/video_status.get?video_id={{ $json.data.video_id }}. - Ställ in X-Api-Key i headers för Check Video Status till er HeyGen API-nyckel.
- Öppna Verify Video Completion och säkerställ att villkoret kontrollerar att
{{ $json.data.status }}är lika medcompleted. - Öppna Append Video Record och ställ in Operation på
append. - Mappa kolumnerna till uttrycken: Photo →
{{ $('Upload Avatar Image').item.json.data.talking_photo_url }}, Script →{{ $('Draft Script & Detect Gender').item.json.choices[0].message.content.script }}, Video Url →{{ $json.data.video_url }}, Talking Photo ID →{{ $('Upload Avatar Image').item.json.data.talking_photo_id }}. - Inloggning krävs: anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Append Video Record.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett fullständigt test med riktiga filer och aktivera sedan arbetsflödet för produktionsbruk.
- Klicka på Execute Workflow och skicka in ett testformulär via Resume & Photo Intake med ett PDF-CV och en JPG/PNG-bild.
- Bekräfta att Draft Script & Detect Gender returnerar JSON med
genderochscript. - Verifiera att Create Male Voice Video eller Create Female Voice Video returnerar ett
video_id, och att Check Video Status till slut returnerarcompleted. - Kontrollera ert Google Sheet för att bekräfta att Append Video Record lägger till en ny rad med talking photo-URL, skript och video-URL.
- När ni är redo, växla arbetsflödet till Active för produktionsbruk.
Vanliga fallgropar
- HeyGen-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det strular, kontrollera först status för din HeyGen API-nyckel och tillåtna endpoints i HeyGen-dashboarden.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms 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
Cirka 30 minuter om dina konton är redo.
Nej. Du kopplar konton, klistrar in en API-nyckel och testar ett exempelinskick.
Ja. n8n har ett gratisalternativ för egen drift och en gratis provperiod på n8n Cloud. Molnplaner startar på 20 USD/månad för högre volymer. Du behöver också räkna med kostnader för HeyGen API-användning baserat på hur många videor du genererar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och klarar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men gör det med en tydlig intention. Uppdatera prompten i AI-steget ”Draft Script & Detect Gender” så att den matchar din ton (mer formell, mer energisk, kortare, längre). Du kan också byta ut könsbaserad routing till att använda en konsekvent röst, eller routa efter roll (teknik, sälj, ledning) om det passar er rekryteringsprocess. I HeyGen HTTP Request-stegen ändrar du röst-/avatarparametrar när du vet vad du vill ha.
Oftast beror det på en utgången eller felaktig API-nyckel. Skapa en ny HeyGen API-nyckel, uppdatera den i HeyGen HTTP Request-stegen och bekräfta att endpoints du anropar matchar din HeyGen-plan. Om det bara fallerar under perioder med hög belastning kan det även bero på rate limiting, så lägg in en längre väntetid innan statuskontrollen.
Om du kör egen drift finns ingen fast gräns för antal körningar (det beror främst på din server och HeyGens kapacitet).
För det här användningsfallet är n8n oftast ett bättre val eftersom du behöver förgreningar (könsrouting), väntan/pollning tills renderingen är klar och några ”limsteg” för att slå ihop data på ett strukturerat sätt. Zapier och Make kan lösa delar av det, men pollningsloopar och HTTP-logik i flera steg brukar bli skört eller dyrt när volymerna ökar. n8n ger också möjlighet till egen drift, vilket är viktigt när du hanterar många kandidater. Om du bara behöver ett enkelt flöde ”formulär till kalkylblad” kan Zapier gå snabbare att sätta upp. Prata med en automationsexpert om du vill ha hjälp att välja den enklaste vägen.
Arbetsflödet tar hand om de repetitiva delarna i video-cv:n så att teamet kan fokusera på urval och samtal. Sätt upp det en gång och låt sedan länkarna rulla in i ditt Sheet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.