Uppföljningen med kandidater fallerar på små, tysta sätt. Någon söker, du tänker svara, sedan spårar dagen ur. När du väl kommer på det har kandidaten gått vidare, eller ännu värre: de dyker upp kalla och förvirrade.
Den här automatiseringen för Gmail WhatsApp follow-ups slår hårdast mot rekryterare, men även rekryterande chefer och operationsansvariga känner av det. Du får en konsekvent, mänsklig uppföljningssekvens för varje sökande, utan att behöva bo i inkorgen.
Den triggar från ditt ATS eller formulär, skriver en personaliserad 7-dagars nurture-sekvens och skickar den enligt schema via Gmail och WhatsApp. Härnäst ser du exakt vad den fixar, hur den körs och vad du behöver för att lansera den.
Så fungerar automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Gmail + WhatsApp-uppföljningar som minskar ghosting
flowchart LR
subgraph sg0["MCP Recrutei Flow"]
direction LR
n0["<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/>Webhook"]
n1@{ icon: "mdi:cog", form: "rounded", label: "Extract age", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Getting the AI content", pos: "b", h: 48 }
n3["<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/>Separating information"]
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/code.svg' width='40' height='40' /></div><br/>Separating messages per days"]
n5@{ icon: "mdi:cog", form: "rounded", label: "Wait for more 4 days", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Wait for more 2 days", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "No Operation, do nothing", pos: "b", h: 48 }
n8@{ icon: "mdi:wrench", form: "rounded", label: "MCP Recrutei", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "AI Recruitment Assistant", pos: "b", h: 48 }
n10["<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/>Message WhatsApp day1"]
n11@{ icon: "mdi:message-outline", form: "rounded", label: "Message Gmail day1", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Message WhatsApp day3"]
n13@{ icon: "mdi:message-outline", form: "rounded", label: "Message Gmail day3", pos: "b", h: 48 }
n14["<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/>Message WhatsApp day7"]
n15@{ icon: "mdi:message-outline", form: "rounded", label: "Message Gmail day7", pos: "b", h: 48 }
n16["<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 correct next node"]
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/merge.svg' width='40' height='40' /></div><br/>Merge correct next node1"]
n0 --> n3
n1 --> n9
n8 -.-> n9
n11 --> n16
n13 --> n17
n15 --> n7
n6 --> n12
n6 --> n13
n5 --> n14
n5 --> n15
n10 --> n16
n12 --> n17
n14 --> n7
n2 --> n4
n3 --> n1
n16 --> n6
n9 --> n2
n17 --> n5
n4 --> n10
n4 --> n11
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 n9 ai
class n8 ai
class n0,n10,n12,n14 api
class n3,n4 code
classDef customIcon fill:none,stroke:none
class n0,n3,n4,n10,n12,n14,n16,n17 customIcon
Utmaningen: kandidater blir tysta efter att de sökt
De flesta kandidaters ”ghosting” handlar inte om ohövlighet. Det handlar om timing. Om de söker och inte hör något på en dag eller två antar de att rollen redan är tillsatt, eller att er process är rörig. Sedan hör du av dig, men då är det en kall omstart. Du besvarar grundfrågor igen, du bekräftar tillgänglighet på nytt, du bygger upp förtroende igen. Och om du rekryterar i någon form av volym blir manuella uppföljningar ett extrajobb som konkurrerar med sourcing, screening och intervjuer.
Det växer snabbt. Här är var det brukar fallera i riktiga rekryteringsflöden.
- Du skickar ett ”tack för din ansökan”-mejl, men glömmer påminnelsen dag 3, så dialogen stannar av.
- WhatsApp-meddelanden skickas ad hoc, vilket gör att ton och detaljer varierar från kandidat till kandidat.
- Att kopiera telefonnummer ur ett ATS bjuder in till misstag, och en enda fel siffra gör att din uppföljning försvinner.
- När rekryteringen trappas upp tvingas du välja mellan tempo och personlighet, och inget av alternativen känns bra.
Lösningen: en 7-dagars uppföljningssekvens som skickas åt dig
Det här flödet gör varje ny sökande till en schemalagd uppföljningsplan i flera kanaler. En webhook fångar kandidatens uppgifter från ditt ATS (eller valfri formulärinlämning), sedan strukturerar flödet datan så att namn, jobbtitlar och telefonnummer är redo att användas. Därefter skriver en AI-baserad ”rekryteringsassistent” tre tydliga meddelanden som känns personliga, inte mallade, och den kan justera ton med hjälp av kontext som kandidatens ålder. Meddelandena delas upp i dag 1, dag 3 och dag 7. Dag 1 går ut direkt via Gmail och WhatsApp. Sedan väntar flödet, skickar nästa meddelande, väntar igen och avslutar sekvensen automatiskt.
Flödet är enkelt: samla in sökandedata, generera skräddarsydd text, och skicka enligt ett pålitligt schema. Gmail täcker den formella spårbarheten, WhatsApp står för den snabba, vänliga kontakten, och du slipper jaga kandidater en påminnelse i taget.
Vad som förändras: före vs. efter
| Vad detta eliminerar | Effekt du kommer att se |
|---|---|
|
|
Effekt i verkligheten
Säg att du får 10 sökande i veckan till en roll. Manuellt tar en enkel uppföljning i tre steg (mejl + WhatsApp dag 1, dag 3, dag 7) ofta cirka 6 minuter per kontakt när du väl hittat posten, skrivit om meddelandet och skickat i två kanaler. Det är ungefär 3 timmar i veckan av repetitiv uppföljning. Med det här flödet lägger du några minuter på att sätta upp det en gång, sedan triggar varje ny sökande automatiskt och kör i bakgrunden hela veckan.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Gmail för att skicka mejl dag 1, 3 och 7.
- WhatsApp (Evolution API) för att skicka WhatsApp-uppföljningar enligt schema.
- OpenAI API-nyckel (hämtas i din OpenAI-dashboard).
Kunskapsnivå: Medel. Du kopplar in inloggningar, klistrar in en API-nyckel och testar en webhook-payload.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
En ny kandidat kommer in i din pipeline. Ditt ATS (eller formulärverktyg) skickar kandidatdetaljer till n8n via en webhook, så flödet startar i samma ögonblick som en ansökan skapas.
Flödet strukturerar datan och lägger till kontext. Det tolkar nyckelfält (som namn, roll och telefon), och beräknar sedan kandidatens ålder från födelsedatumfältet så att kommunikationen kan anpassas på ett genomtänkt sätt.
AI skriver en tredelad meddelandesekvens. Den OpenAI-drivna ”rekryteringsassistenten” genererar meddelanden för dag 1, dag 3 och dag 7 i ett block, och därefter delar ett litet script upp dem i separata variabler för schemaläggning.
Meddelanden skickas via Gmail och WhatsApp, sedan hanterar väntnoder timingen. Dag 1 skickas direkt via Gmail och WhatsApps HTTP-request. Flödet väntar två dagar, skickar dag 3, väntar fyra dagar till och skickar sedan den sista uppföljningen dag 7.
Du kan enkelt ändra timingen (till exempel dag 2 och dag 5) eller byta skrivstil baserat på rolltyp. Se den fullständiga implementeringsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: konfigurera webhook-triggern
Konfigurera den inkommande webhooken som tar emot kandidatdata och startar uppföljningsflödet.
- Lägg till noden Incoming Webhook Trigger och ställ in Path till
receving-new-candidate. - Ställ in HTTP Method till
POST. - Koppla Incoming Webhook Trigger till Parse Candidate Details för att skicka request-payloaden in i arbetsflödet.
- Använd knappen Test i noden för att generera webhook-URL:en för initial testning.
Steg 2: koppla OpenAI för meddelandegenerering
Konfigurera AI-kompositören och dess MCP-verktyg för att generera de tre schemalagda outreach-meddelandena.
- Öppna AI Outreach Composer och ställ in Model till
gpt-4.1-mini. - Inloggningsuppgifter krävs: anslut era openAiApi-inloggningsuppgifter i AI Outreach Composer.
- Verifiera att innehållet i användarmeddelandet inkluderar kandidatuppgifter med uttryck som
{{ $('Parse Candidate Details').item.json.vacancy_id }}och{{ $('Compute Age').item.json.yearsOld.years }}. - Öppna Recruiter MCP Tool och ställ in Endpoint URL till
your_recrutei_mcp_url. Det här verktyget är kopplat till AI Outreach Composer som ett AI-verktyg—lägg till eventuella inloggningsuppgifter på AI Outreach Composer, inte på undernoden.
Steg 3: konfigurera kandidatparsning och meddelandedelning
Normalisera inkommande data, beräkna ålder, fånga AI-utdata och dela upp innehållet i meddelanden för dag 1/3/7.
- I Parse Candidate Details behåller ni den tillhandahållna JavaScript-koden för att normalisera fält som phone och mappa indata till vacancy_id, name, email, birthday med flera.
- I Compute Age ställer ni in Operation till
getTimeBetweenDates, Start Date till={{ $json.birthday }}, End Date till={{ $now }}och Output Field Name tillyearsOld. - I Capture AI Output ställer ni in tilldelningsvärdet för content till
={{ $json.message.content }}. - I Split Message Schedule behåller ni JavaScript-koden som delar upp AI-utdata i
day1,day3ochday7.
Steg 4: konfigurera åtgärder för outreach dag 1
Skicka de initiala meddelandena via WhatsApp och Gmail och slå sedan ihop resultaten inför nästa väntesteg.
- Split Message Schedule skickar utdata parallellt till både Send WhatsApp Day 1 och Send Gmail Day 1.
- I Send Gmail Day 1 ställer ni in Send To till
={{ $('Parse Candidate Details').item.json.email }}, Message till={{ $json.day1 }}, Subject till=Applying for the vacancy {{ $('Parse Candidate Details').item.json.vacancy }}och Email Type tilltext. - Inloggningsuppgifter krävs: anslut era gmailOAuth2-inloggningsuppgifter i Send Gmail Day 1.
- I Send WhatsApp Day 1 ställer ni in URL till
=https://{server-url}/message/sendText/{instance}, Method tillPOSToch behåller uttrycket för JSON Body enligt det som är angivet. - I Send WhatsApp Day 1 ställer ni in värdet för Header Parameters apikey till
[CONFIGURE_YOUR_API_KEY]. - Koppla båda dag 1-noderna till Merge Day 1 Results så att flödet fortsätter först när båda meddelandena är klara.
{server-url}, {instance} och [CONFIGURE_YOUR_API_KEY] i alla WhatsApp-noder, annars kommer HTTP-anropen att misslyckas.Steg 5: konfigurera fördröjningar och uppföljningsmeddelanden (dag 3 och dag 7)
Fördröj arbetsflödet och skicka parallella meddelanden dag 3 och dag 7, och avsluta sedan flödet.
- I Delay Two Days ställer ni in Amount till
2och kopplar den efter Merge Day 1 Results. - Delay Two Days skickar utdata parallellt till både Send WhatsApp Day 3 och Send Gmail Day 3.
- Konfigurera Send Gmail Day 3 med Send To
={{ $('Parse Candidate Details').item.json.email }}, Message={{ $('Split Message Schedule').item.json.day3 }}och Subject=Applying for the vacancy {{ $('Parse Candidate Details').item.json.vacancy }}. - Inloggningsuppgifter krävs: anslut era gmailOAuth2-inloggningsuppgifter i Send Gmail Day 3.
- I Send WhatsApp Day 3 behåller ni uttrycket för JSON Body som refererar till
{{ $('Split Message Schedule').item.json.day3 }}och uppdaterar header-värdet för apikey. - Slå ihop utdata med Merge Day 3 Results och koppla sedan till Delay Four Days med Amount satt till
4. - Delay Four Days skickar utdata parallellt till både Send WhatsApp Day 7 och Send Gmail Day 7, och båda avslutas vid End Flow Placeholder.
- Konfigurera Send Gmail Day 7 med Send To
={{ $('Parse Candidate Details').item.json.email }}, Message={{ $('Split Message Schedule').item.json.day7 }}och samma subject-raduttryck. - Inloggningsuppgifter krävs: anslut era gmailOAuth2-inloggningsuppgifter i Send Gmail Day 7.
- I Send WhatsApp Day 7 behåller ni uttrycket för JSON Body som använder
{{ $('Split Message Schedule').item.json.day7 }}och uppdaterar header-värdet för apikey.
Steg 6: testa och aktivera ert arbetsflöde
Validera hela flödet från webhook till sista uppföljning och aktivera det sedan för produktionsanvändning.
- Klicka på Execute Workflow och skicka en POST-request till URL:en för Incoming Webhook Trigger med en JSON body som innehåller
vacancy_id,name,email,vacancy,phone,birthdayochlocation. - Bekräfta att AI Outreach Composer returnerar en enda sträng med två pipe-tecken och att Split Message Schedule skapar
day1,day3ochday7. - Verifiera att både Send Gmail Day 1 och Send WhatsApp Day 1 körs, och därefter att Merge Day 1 Results fortsätter till Delay Two Days.
- För testning kan ni tillfälligt minska tiderna i Delay Two Days och Delay Four Days till minuter för att snabbare validera dag 3- och dag 7-spåren.
- När allt är verifierat återställer ni fördröjningsvärdena och växlar arbetsflödet till Active för produktionsanvändning.
Se upp med
- Gmail OAuth-behörigheter kan vara den tysta boven. Om mejlen inte skickas: öppna Gmail-inloggningen i n8n och autentisera på nytt, och bekräfta sedan att ”Från”-adressen matchar det anslutna kontot.
- Om du använder Wait-noder eller extern sändning varierar processtider. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Evolution API-nycklar och instans-URL:er är lätta att skriva fel. När WhatsApp fallerar: kontrollera först HTTP Request-nodens {server-url}, {instance} och API-nyckeln i headern, och granska sedan Evolution API-loggarna för avvisade förfrågningar.
Vanliga frågor
Cirka en timme om dina Gmail- och WhatsApp-konton är redo.
Ja. Du skriver ingen kod, men du kommer att kopiera en webhook-URL, koppla Gmail och klistra in en API-nyckel i WhatsApp HTTP Request-noderna.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis testperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader (oftast några ören per kandidat för korta meddelanden) plus vad din WhatsApp-leverantör tar betalt.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och hanterar n8n bra. Egen hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.
Du kan justera systemprompten i AI Outreach Composer så att den matchar dina rolltyper, ton och compliance-noteringar. Om du inte vill använda åldersbaserat språk tar du bort åldersfältet från AI-inputen och behåller resten som det är. Timingen är också enkel att ändra: justera noderna ”Delay Two Days” och ”Delay Four Days” så att de passar din process. Och om du använder en annan WhatsApp-gateway än Evolution API byter du ut HTTP Request-noderna till din leverantörs endpoint för att skicka meddelanden.
Oftast är det utgången OAuth-åtkomst. Återanslut Gmail-inloggningen i n8n och testa igen genom att köra Gmail-noden för dag 1 med en exempel-payload för kandidat. Om det fortfarande fallerar: kontrollera att ditt Google-konto tillåter nödvändiga scopes och att du inte försöker skicka från ett alias som inloggningen inte äger.
I de flesta uppsättningar hanterar den utan problem en typisk rekryteringsvolym för småföretag. Kapaciteten i n8n Cloud beror på planens antal körningar per månad, medan egen hosting inte har någon körningsgräns (det beror främst på din server och rate limits för e-post/WhatsApp). I praktiken kör varje kandidat en 7-dagarssekvens, så tänk i ”kandidater per månad” snarare än ”meddelanden per minut”. Om du tar in hundratals sökande i veckan vill du hålla koll på leverantörsgränser och överväga köhantering.
Ofta, ja, eftersom logiken här inte bara är ”skicka ett meddelande”. Du genererar innehåll, delar upp det i tre schemalagda utskick och koordinerar två kanaler med väntetider och sammanfogningar, vilket är precis där enklare verktyg börjar kännas sköra eller dyra. n8n ger dig också alternativet för egen hosting, så hög volym behöver inte automatiskt betyda en högre kostnad. Zapier eller Make kan fortfarande fungera bra om du bara vill ha ett enkelt bekräftelsemejl och inget mer. Om du är osäker: prata med en automationsexpert så får du en rak rekommendation.
När detta väl är live får varje sökande en snabb och konsekvent uppföljning utan att du behöver jaga kalendern. Bara det gör faktiskt rekryteringen märkbart lugnare.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.