Ditt CV är “klart”, men frågorna tar aldrig slut. Prospekts ställer samma saker på olika sätt, du svarar ur minnet, och ändå missar du de bra som borde ha lett till en uppföljning.
Den här Drive CV-chatboten slår hårdast mot solokonsulter, helt ärligt. Men jobbsökande och ägare av små byråer känner av det också, eftersom alla till slut skriver om samma svar i DM:s och mejl.
Det här arbetsflödet gör CV:t du redan har i Google Drive till en chattassistent, sparar konversationer och skickar sedan en Gmail-sammanfattning av vad folk frågade, så att du kan svara snabbare och hålla en jämn nivå.
Så här fungerar automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Google Drive + Gmail: cv:t svarar åt dig
flowchart LR
subgraph sg0["Personal CV AI Agent Flow"]
direction LR
n2@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", 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/webhook.dark.svg' width='40' height='40' /></div><br/>Chat API - webhook"]
n10@{ icon: "mdi:robot", form: "rounded", label: "Personal CV AI Agent Assistant", pos: "b", h: 48 }
n11["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Chat API Response - Webhook"]
n12@{ icon: "mdi:memory", form: "rounded", label: "Chat Memory - Window Buffer", pos: "b", h: 48 }
n13@{ icon: "mdi:wrench", form: "rounded", label: "Resume lookup : Vector Store..", pos: "b", h: 48 }
n14@{ icon: "mdi:cube-outline", form: "rounded", label: "Resume Vector Store (Retriev..", pos: "b", h: 48 }
n15@{ icon: "mdi:vector-polygon", form: "rounded", label: "Resume Embeddings Google Gem..", pos: "b", h: 48 }
n16@{ icon: "mdi:brain", form: "rounded", label: "Resume Google Gemini Chat Mo..", pos: "b", h: 48 }
n9 --> n10
n2 -.-> n10
n12 -.-> n10
n10 --> n11
n14 -.-> n13
n13 -.-> n10
n15 -.-> n14
n16 -.-> n13
end
subgraph sg1["Google Drive - Resume CV File Created Flow"]
direction LR
n0@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings Google Gemini", pos: "b", h: 48 }
n3@{ icon: "mdi:play-circle", form: "rounded", label: "Google Drive - Resume CV Fil..", pos: "b", h: 48 }
n4@{ icon: "mdi:play-circle", form: "rounded", label: "Google Drive - Resume CV Fil..", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Download CV File From Google..", pos: "b", h: 48 }
n6@{ icon: "mdi:cube-outline", form: "rounded", label: "Pinecone - Vector Store forr..", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "CV File Data Loader", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "CV content - Recursive Chara..", pos: "b", h: 48 }
n7 -.-> n6
n0 -.-> n6
n5 --> n6
n3 --> n5
n4 --> n5
n8 -.-> n7
end
subgraph sg2["Schedule Flow"]
direction LR
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n20["<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/nocodb.svg' width='40' height='40' /></div><br/>NocoDB - get all todays conv.."]
n21["<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/>Group Conversation By Unique.."]
n22["<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/html.dark.svg' width='40' height='40' /></div><br/>Format HTML Display For email"]
n23@{ icon: "mdi:message-outline", form: "rounded", label: "Send Report To Gmail", pos: "b", h: 48 }
n1 --> n20
n22 --> n23
n20 --> n21
n21 --> n22
end
subgraph sg3["Flow 4"]
direction LR
n17["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Save Conversation API - Webh.."]
n18["<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/nocodb.svg' width='40' height='40' /></div><br/>Save Conversation - NocoDB"]
n19["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Save Conversation API Webhoo.."]
n18 --> n19
n17 --> n18
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 n3,n4,n1 trigger
class n10,n7,n8 ai
class n2,n16 aiModel
class n13 ai
class n12 ai
class n14,n6 ai
class n15,n0 ai
class n9,n11,n17,n19 api
class n21 code
classDef customIcon fill:none,stroke:none
class n9,n11,n20,n21,n22,n17,n18,n19 customIcon
Utmaningen: att upprepa sig (och ändå missa leads)
När någon frågar om din erfarenhet, prissättning, tillgänglighet eller tidigare uppdrag slutar det med att du letar i gamla meddelanden eller improviserar. Det handlar inte bara om tid. Det är den mentala belastningen av att komma ihåg detaljer, hålla din berättelse konsekvent och inte råka säga emot det du sa förra veckan. Sen har du den tysta missen: frågor du svarade snabbt på, men aldrig följde upp eller spårade, så du ser inte mönster som “alla frågar om din tidsplan” eller “ingen förstår ditt kärnerbjudande”. Den sortens feedback är guld värd, och den försvinner oftast ner i chathistoriken.
Det drar iväg snabbt. Här är var det faller i verkligheten:
- Att svara på “snabba frågor” stjäl cirka 30 minuter om dagen eftersom varje fråga kräver sammanhang och noggrann formulering.
- Folk frågar samma sak via mejl, formulär och DM:s, så du skriver om svar i stället för att återanvända dem.
- Ditt CV ändras, men dina sparade textsnuttar gör det inte, vilket gör att du skickar föråldrade detaljer utan att märka det.
- Det finns ingen enkel logg över vad prospekts faktiskt frågade, så uppföljningar blir långsammare och mindre personliga.
Lösningen: en CV-driven chattassistent + daglig Gmail-sammanfattning
Det här n8n-arbetsflödet behandlar ditt CV i Google Drive som den enda sanningskällan. När du laddar upp eller uppdaterar ditt CV-dokument hämtar arbetsflödet det automatiskt, delar upp det i läsbara delar och uppdaterar ett “retrieval”-index (en sökbar kunskapsbas) så att din assistent kan svara på frågor baserat på ditt faktiska CV-innehåll. När ett prospekt (eller en rekryterare) frågar något via en webhook-baserad chattendpoint, letar AI-agenten upp relevanta CV-utdrag, genererar ett förankrat svar och returnerar det direkt. Samtidigt kan konversationer sparas i en enkel databas (NocoDB), så att du får en strukturerad logg över vad folk frågade. En gång om dagen skickar Gmail en sammanfattning av dessa konversationer, så att du kan upptäcka heta leads, otydlig positionering och återkommande invändningar.
Arbetsflödet startar med Google Drive-triggers när din CV-fil skapas eller uppdateras. Webhooks hanterar chatt-ingången (och valfria anrop för att “spara konversation”) så att du kan koppla på vilken webbplats, portfolio eller lättviktig frontend som helst. Till sist hämtar en daglig schemaläggning dagens chattar från lagringen, formaterar dem till ett mejl och skickar rapporten via Gmail.
Vad som förändras: före vs. efter
| Detta elimineras | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du får 8 inkommande frågor per dag via ett portfolioformulär och mejl. Manuellt lägger du kanske 10 minuter per svar när du räknar in att läsa CV:t igen, hitta länkar och formulera dig noggrant, alltså cirka 80 minuter om dagen. Med det här arbetsflödet returnerar chattendpointen ett svar på några sekunder, och att spara konversationen sker automatiskt. Ditt enda “arbete” blir att granska den dagliga Gmail-sammanfattningen (cirka 5 minuter) och svara personligt på de bästa möjligheterna, vilket betyder att du får tillbaka ungefär en timme de flesta dagar.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Drive för att lagra och uppdatera ditt CV.
- Gmail för att skicka den dagliga konversationssammanfattningen.
- NocoDB för att lagra chattsessioner och meddelanden.
- Pinecone API-nyckel (hämta den i din Pinecone-dashboard).
- Google Gemini API-nyckel (hämta den via Google AI Studio / Google Cloud).
Kunskapsnivå: Medel. Du kopplar konton, lägger in API-nycklar och klistrar in webhook-URL:er i din webbplats eller chatt-UI.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Ditt CV ändras i Google Drive. När en CV-fil skapas eller uppdateras startar Google Drive-triggern en inläsningskörning så att assistenten håller sig uppdaterad.
Dokumentet görs om till “sökbar kunskap”. n8n laddar ner dokumentet, läser in texten, delar upp den i chunkar, skapar embeddings med Google Gemini och uppdaterar sedan en Pinecone-vektorstore så att assistenten kan hämta rätt avsnitt vid svar.
Frågor kommer in via en chatt-webhook. Din frontend (widget på webbplatsen, formulärhanterare, enkel app, eller till och med en egen integration) anropar webhooken, och en AI-agent använder retrieval + minne för att svara utifrån ditt CV i stället för att hitta på.
Chattar sparas och mejlas dagligen. En andra webhook kan spara konversationen i NocoDB, och den schemalagda rapporten hämtar dagens sessioner, grupperar dem, bygger ett snyggt HTML-mejl och skickar det via Gmail.
Du kan enkelt byta lagringslager (NocoDB) till något annat, eller ändra den “dagliga” sammanfattningen till veckovis utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera trigger-noderna
Konfigurera arbetsflödets ingångspunkter för chattförfrågningar, konversationsloggning, daglig rapportering och Drive-uppdateringar.
- Öppna Chat Webhook Entry och ställ in Path till
chat, HTTP Method tillPOSToch Response Mode tillresponseNode. - Öppna Conversation Save Webhook och ställ in Path till
update-conversation, HTTP Method tillPOSToch Response Mode tillresponseNode. Behåll Allowed Origins somhttps://yourdomain.exampleeller ersätt med er domän. - Öppna Daily Schedule Trigger och ställ in regeln så att den triggar kl.
18:00(baserat på triggerAtHour). - Öppna Drive File Created Trigger och ställ in Event till
fileCreated, Trigger On tillspecificFolderoch välj mapp-ID[YOUR_ID]. - Öppna Drive File Updated Trigger och ställ in Event till
fileUpdated, Trigger On tillspecificFolderoch välj samma mapp-ID[YOUR_ID].
chat och update-conversation är unika i hela er n8n-instans.
Steg 2: anslut Google Drive och läs in cv:n
Konfigurera nedladdningar från Google Drive och mata in cv-innehåll i vektorlager-pipelinen.
- Öppna Download Drive Document och ställ in Operation till
download, File ID till{{ $json.id }}och File Name till{{ $json.name }}. - Öppna Recursive Text Chunker och ställ in Chunk Overlap till
100. - Öppna Resume Data Loader och ställ in Data Type till
binaryoch Binary Mode tillspecificField. - Öppna Pinecone CV Vector Store och ställ in Mode till
insertoch Pinecone Index tillresume_index.
Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter till Drive File Created Trigger, Drive File Updated Trigger och Download Drive Document.
Inloggningsuppgifter krävs: Anslut era pineconeApi-inloggningsuppgifter till Pinecone CV Vector Store.
Steg 3: konfigurera AI-assistenten och retrieval-stacken
Konfigurera Gemini-modellerna, minnet och verktyget för vektorsökning som används av assistenten.
- Öppna Resume Assistant Agent och ställ in Text till
{{ $json.body.chatInput }}och behåll Prompt Type somdefinemed Has Output Parser aktiverat. - Öppna Gemini Chat Model och ställ in Model Name till
models/gemini-2.0-flash. - Öppna Chat Memory Buffer och ställ in Session Key till
{{ $json.body.chatInput }}med Session ID Type inställt påcustomKey. - Öppna Resume Vector Lookup Tool och ställ in Name till
resume_index, Top K till5och Description tillRetrieve information from resume_index. - Öppna Pinecone Retrieval Store och bekräfta att Pinecone Index är
resume_index. - Öppna Gemini Embeddings Retrieval och ställ in Model Name till
models/text-embedding-004. - Öppna Gemini Retrieval Chat Model och ställ in Model Name till
models/gemini-2.0-flash-exp.
Inloggningsuppgifter krävs: Anslut era googlePalmApi-inloggningsuppgifter till Gemini Chat Model, Gemini Embedding Generator, Gemini Embeddings Retrieval och Gemini Retrieval Chat Model.
Inloggningsuppgifter krävs: Anslut era pineconeApi-inloggningsuppgifter till Pinecone Retrieval Store.
För AI-undernoder: lägg till inloggningsuppgifter på föräldranoderna. Gemini Embedding Generator och Gemini Chat Model är kopplade till Resume Assistant Agent; Gemini Embeddings Retrieval och Gemini Retrieval Chat Model är kopplade till Resume Vector Lookup Tool.
{{ $json.body.chatInput }} som sessionsnyckel. Om chatInput-värden är för långa eller inte unika kan minnesgrupperingen bli inkonsekvent.
Steg 4: konfigurera konversationslagring och daglig rapportering
Lagra chattloggar i NocoDB, gruppera sessioner, bygg e-postinnehåll och skicka en daglig rapport.
- Öppna Store Conversation in NocoDB och ställ in Operation till
create, Project ID till[YOUR_ID], Workspace ID till[YOUR_ID]och Table till[YOUR_ID]. - I Store Conversation in NocoDB, ställ in fältmappningar: user till
{{ $json.body.user }}, email till{{ $json.body.email }}, ai till{{ $json.body.ai }}och sessionid till{{ $json.body.sessionid }}. - Öppna Fetch Today's Conversations och ställ in Operation till
getAll, Return All tilltrue, Project ID till[YOUR_ID], Workspace ID till[YOUR_ID]och Table till[YOUR_ID]. - I Fetch Today's Conversations, ställ in filtret Where till
(date,eq,exactDate,today)så att endast dagens sessioner tas med. - Öppna Group Sessions Script och behåll den medföljande JavaScript-koden för att aggregera per
sessionid_email. - Öppna Build Email HTML och behåll HTML-mallen för att formatera grupperade konversationer.
- Öppna Dispatch Gmail Report och ställ in Send To till
[YOUR_EMAIL], Message till{{ $json.html }}och Subject till=portfolio-site - conversations - {{ $today }}.
Inloggningsuppgifter krävs: Anslut era nocoDbApiToken-inloggningsuppgifter till Store Conversation in NocoDB och Fetch Today's Conversations.
Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter till Dispatch Gmail Report.
[YOUR_ID] i båda NocoDB-noderna så att de matchar era ID:n för workspace, projekt och tabell innan ni testar.
Steg 5: testa och aktivera ert arbetsflöde
Verifiera varje flödesväg och aktivera sedan arbetsflödet för användning i produktion.
- Använd Chat Webhook Entry för att skicka ett test-POST med
chatInputi body och bekräfta att Return Chat Response returnerar AI-utdata. - Skicka ett POST till Conversation Save Webhook med fälten
user,email,aiochsessionid, och bekräfta att data skapas av Store Conversation in NocoDB. - Ladda upp eller uppdatera en cv-fil i Drive-mappen och verifiera att Download Drive Document matar Pinecone CV Vector Store.
- Kör Daily Schedule Trigger manuellt och bekräfta att Dispatch Gmail Report skickar ett formaterat e-postmeddelande från Build Email HTML.
- När allt fungerar, växla arbetsflödet till Active för att aktivera schemalagd rapportering och live-webhooks.
Se upp med
- Google Drive- och Gmail-inloggningar kan gå ut eller kräva specifika behörigheter. Om saker skapar fel, kolla först skärmen Credentials i n8n och Googles “Security”-varningar.
- Mismatch i Pinecone-index är vanligt. Om retrieval plötsligt inte returnerar något, bekräfta att indexnamn, namespace och environment matchar det som visas i din Pinecone-dashboard.
- Dina AI-prompter avgör kvaliteten på svaren. Standardprompten för agenten är generell, så bygg in din röst (ton, gränser, vad den ska göra när den är osäker) tidigt, annars kommer du redigera för alltid.
Vanliga frågor
Ungefär en timme om dina konton och nycklar är klara.
Ja, men du vill ha någon som är bekväm med att koppla konton och klistra in webhook-URL:er. Ingen kodning krävs om du inte bygger ett eget chatt-UI.
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 Pinecone och Gemini-användning, vilket oftast är lågt vid små volymer.
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 serverhantering.
Börja med att byta CV-källan och “ingången”. Du kan peka Google Drive-triggers mot en annan mapp (eller en enskild fil) och sedan ändra chatt-ingången till Telegram i stället för en webbplats genom att återanvända webhook-logiken med en Telegram-nod. Vanliga anpassningar är att göra den dagliga Gmail-sammanfattningen till en veckosammanställning, spara konversationer i Google Sheets i stället för NocoDB och skärpa agentprompten så att den bara svarar utifrån hämtad CV-text.
Oftast handlar det om en utgången Google OAuth-anslutning eller saknade Drive-behörigheter på kontot du kopplade. Koppla om Google Drive i n8n-credentials och bekräfta sedan att arbetsflödet bevakar rätt mapp och att filen faktiskt är ett Google Doc (inte en PDF som du inte kan parsa). Om inläsningen kör men svaren är tomma ligger problemet ofta längre ned i kedjan i Pinecone-indexeringen snarare än i Drive.
På n8n Cloud Starter kan du köra tusentals körningar per månad, vilket räcker för de flesta personliga webbplatser. Om du self-hostar finns ingen körningsgräns; det beror på serverstorlek och hur aktiv chatten är. I praktiken är begränsningen din AI- och vektordatabasanvändning, inte n8n i sig. För en typisk portfolio kan du hantera dussintals chattar per dag utan problem. Om du börjar få hundratals vill du batcha inläsningen, lägga rate limiting på webhooken och övervaka Pinecone- och modellkvoter.
För RAG-liknande assistenter är n8n oftast det mer flexibla valet eftersom du kan kombinera webhooks, retrieval, minne och förgreningslogik utan att ständigt slå i planbegränsningar. Zapier och Make klarar enkla flöden som “formulär → mejl”, men det här arbetsflödet är mer än så, eftersom det uppdaterar en kunskapsbas när ditt CV ändras och returnerar svar i realtid. Den andra stora faktorn är hosting: self-hostad n8n kan köra obegränsat antal körningar, vilket är praktiskt om trafiken sticker. Om du bara vill ha en enkel autosvarare är Zapier helt okej. Om du vill ha hela assistenten plus spårning och en Gmail-sammanfattning är n8n ett renare val. Prata med en automationsexpert om du är osäker.
När det här väl är igång slutar ditt CV vara ett statiskt dokument och börjar jobba åt dig. Du får mer träffsäkra svar, bättre uppföljningar och en daglig överblick över vad folk faktiskt bryr sig om.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.