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

Cal.com till Google Sheets – strukturerad intervjuspårning

Rickard Andersson Partner, Nodenordic.se

Din intervjuspårning ser “bra” ut tills den plötsligt inte gör det. En bokning hamnar i Cal.com, någon kopierar tiden till Google Sheets, tidszonen skiftar och nu säger din dashboard att kandidaten intervjuas i morgon när det egentligen är i dag.

Den här Cal.com Sheets-synken drabbar rekryterare först, men HR-koordinatorer och driftteam på byråsidan känner av det också. När spårningen ljuger missar folk intervjuer, rekryterande chefer tappar förtroendet och du lägger eftermiddagen på att städa kalkylark i stället för att driva kandidater vidare.

Det här arbetsflödet hämtar bokningar från Cal.com, uppdaterar rätt rad i Google Sheets via e-postmatchning, fixar tidszonsformateringen (Asia/Riyadh) och tar bort skräprader så att din pipeline förblir användbar.

Så fungerar den här automatiseringen

Se hur detta löser problemet:

n8n Workflow Template: Cal.com till Google Sheets – strukturerad intervjuspårning

Utmaningen: intervjuspårning glider ur synk

Intervjuspårning går sönder i slow motion. Cal.com har bokningen som sanningskälla, men rekryteringsteamet jobbar i Google Sheets eftersom det är snabbt, delat och funkar med allt. Sen händer verkligheten. Kandidater ombokar. En kollega klistrar in fel tidsformat. Någon sorterar arket och kolumnen “Intervjudatum” matchar inte längre rätt person. Värst av allt: du upptäcker det ofta först efter ett missat samtal eller ett “vänta, jag trodde detta var nästa vecka”-meddelande.

Det eskalerar snabbt. Här är var det brukar fallera i den dagliga rekryteringen.

  • Manuell kopiering och klistra in skapar små fel som blir schemakaos under intensiva veckor.
  • Tidszonsformateringen blir inkonsekvent, så dashboards och filter slutar vara pålitliga.
  • Dubbletter eller irrelevanta rader smyger sig in, vilket gör arket “stökigt” och svårare att lita på.
  • Mismatch i e-post gör att uppdateringar hamnar på fel kandidat, eller inte sker alls.

Lösningen: synk av Cal.com-bokningar + städning av arket

Det här n8n-arbetsflödet gör Cal.com-bokningsdata till strukturerade, konsekventa rader i din intervjuspårning i Google Sheets. Det börjar med att hämta de senaste bokningsdetaljerna via en HTTP-förfrågan till Cal.com, och extraherar sedan kandidatinfo du faktiskt bryr dig om (namn, e-post, intervjutid). Därefter konverterar det tidsstämpeln till ett läsbart format och normaliserar den till tidszonen Asia/Riyadh, så att arket slutar hoppa mellan format. Efter det uppdaterar det rätt kandidatrad genom att matcha på e-post. Till sist granskar det arket efter saknade eller omatchade poster och tar bort rader som inte ska vara där, så att spårningen förblir slimmad och redo för beslut.

Arbetsflödet startar när du kör det i n8n (manuell trigger), hämtar bokningsdata från Cal.com, formaterar och mappar den till dina kalkylarksfält, och slår sedan upp e-post i Google Sheets för att bara uppdatera giltiga kandidater. Om det upptäcker tomma eller omatchade poster under iterationen tar det bort dem så att spårningen håller sig felfri.

Vad som förändras: före vs. efter

Effekt i verkligheten

Säg att du kör 20 intervjuer i veckan. Manuellt innebär varje bokning oftast att du öppnar Cal.com, kopierar namn/e-post, konverterar tiden, hittar kandidatraden och sedan dubbelkollar senare, vilket lätt blir 10 minuter per intervju. Det är ungefär 3 timmar i veckan bara för att hålla spårningen korrekt. Med det här arbetsflödet triggar du en körning, låter det uppdatera tidsstämplar och ta bort omatchade rader automatiskt, och du gör mest bara stickprov. Under en intensiv rekryteringsmånad blir det mycket tid tillbaka.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Cal.com för bokningsdata som hämtas via API.
  • Google Sheets för att lagra och uppdatera din intervjuspårning.
  • Cal.com API-nyckel (hämta den i dina Cal.com-inställningar/API-sida).

Kunskapsnivå: Medel. Du kopplar konton, lägger till autentiseringsuppgifter och säkerställer att dina kolumnnamn i Sheet matchar arbetsflödet.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödet i arbetsflödet

En körning startar på beställning. Det här arbetsflödet använder en manuell trigger, vilket är perfekt om du vill testa säkert eller köra det som en del av en daglig rutin medan du rullar ut det.

Cal.com-bokningar hämtas via API. n8n gör HTTP-förfrågningar för att hämta bokningsdetaljer och väljer sedan intervjufälten du bryr dig om i stället för att dumpa rå payload i arket.

Intervjutiden standardiseras. Ett litet kodsteg formaterar schematiden till en läsbar sträng (som “30 juni, 09:00”) och konverterar den till Asia/Riyadh så att varje rad följer samma regel.

Google Sheets uppdateras och städas. Arbetsflödet mappar kandidatfält, uppdaterar intervjutidsstämpeln, slår upp befintliga rader via e-post och itererar sedan igenom e-postbatchar för att upptäcka saknade poster. När det hittar tomma eller omatchade poster tar det bort dessa rader för att hålla spårningen tajt.

Du kan enkelt ändra tidszonen och matchningslogiken så att den passar din rekryteringsprocess. 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 medan ni validerar Cal.com-API:t och uppdateringarna i Google Sheets.

  1. Lägg till noden Manual Start Trigger som arbetsflödets trigger.
  2. Behåll Flowpast Branding som en referensnotering (ingen konfiguration krävs).

Steg 2: Anslut Google Sheets

Dessa noder uppdaterar och rensar fliken ”Accepted” i kalkylarket ”Resumes”.

  1. Öppna Update Interview Timestamp och ställ in OperationappendOrUpdate.
  2. Ställ in Spreadsheet[YOUR_ID] och Sheet NameAccepted i Update Interview Timestamp.
  3. Öppna Google Sheet Lookup och ställ in samma värden för Spreadsheet och Sheet Name.
  4. I Google Sheet Lookup, bekräfta att Filters inkluderar lookupColumn inställt på SUMMARY .
  5. Öppna Remove Unmatched Rows och ställ in Operationdelete.
  6. Ställ in Start Index{{ $json.row_number }} i Remove Unmatched Rows.
  7. Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter till Update Interview Timestamp, Google Sheet Lookup och Remove Unmatched Rows.

Steg 3: Konfigurera hämtning av bokningsdata

Dessa noder hämtar deltagare och bokningsdetaljer från Cal.com för att bygga intervjuschemat.

  1. I Retrieve Booking Details ställer ni in URLhttps://api.cal.com/v1/attendees och aktiverar Send Query.
  2. Lägg till en query-parameter i Retrieve Booking Details med name apiKey och value [CONFIGURE_YOUR_API_KEY].
  3. I Booking API Request ställer ni in URLhttps://api.cal.com/v1/bookings och aktiverar Send Query.
  4. Lägg till en query-parameter i Booking API Request med name apiKey och value [CONFIGURE_YOUR_API_KEY].
  5. Lägg till parametern för boknings-ID i Booking API Request med name id och value {{ $json.attendees[0].bookingId }}.

⚠️ Vanlig fallgrop: Ersätt [CONFIGURE_YOUR_API_KEY] med er faktiska Cal.com API-nyckel i båda HTTP request-noderna, annars kommer arbetsflödet att returnera tomma resultat.

Steg 4: Konfigurera databehandling

Detta steg formaterar schematiden och mappar fält till kolumnnamnen i Google Sheet.

  1. Öppna Format Schedule Time och behåll den angivna JavaScript Code för att formatera startTime till en läsbar sträng.
  2. I Map Candidate Fields ställer ni in Includeselected och aktiverar Include Other Fields.
  3. Ställ in fältet Email i Map Candidate Fields{{ $json.email.toLowerCase() }}.
  4. Ställ in fältet Interview Schedule i Map Candidate Fields{{ $json.startFormatted }}.

Steg 5: Konfigurera logik för utdata och rensning

Uppdatera arket och iterera sedan igenom e-postrader och ta bort poster utan en sammanfattning.

  1. Bekräfta körflödet: Map Candidate FieldsUpdate Interview TimestampGoogle Sheet LookupSplit Email ListIterate Email BatchesValidate Missing EmailsRemove Unmatched Rows.
  2. I Split Email List ställer ni in Field to Split OutEmail och IncludeallOtherFields.
  3. Behåll Iterate Email Batches som loop-kontroller för e-postlistan.
  4. I Validate Missing Emails säkerställer ni att villkoret kontrollerar att leftValue {{ $json['SUMMARY '] }} är lika med rightValue =.

⚠️ Vanlig fallgrop: Villkoret i Validate Missing Emails förväntar sig kolumnen SUMMARY (observera avslutande mellanslag). Om ert kolumnnamn i arket skiljer sig kan delete-loopen aldrig köras.

Steg 6: Testa och aktivera ert arbetsflöde

Validera end-to-end-körning och aktivera sedan arbetsflödet för löpande användning.

  1. Klicka på Execute Workflow för att köra från Manual Start Trigger.
  2. Verifiera att Retrieve Booking Details och Booking API Request returnerar bokningsdata.
  3. Kontrollera att Update Interview Timestamp lägger till eller uppdaterar rader i arket Accepted.
  4. Bekräfta att Remove Unmatched Rows tar bort rader där SUMMARY är =.
  5. När resultaten är korrekta växlar ni arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Saker att se upp med

  • Cal.com-autentiseringsuppgifter kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först status och scopes för din Cal.com API-nyckel i Cal.com-inställningarna.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre ned i flödet fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata i all evighet.

Vanliga frågor

Hur snabbt kan jag implementera den här Cal.com Sheets-synk-automatiseringen?

Cirka 30 minuter om din Cal.com API-nyckel och ditt Sheet är redo.

Kan icke-tekniska team implementera den här Cal.com Sheets-synken?

Ja, men du behöver någon som är bekväm med att koppla konton och matcha kalkylarkskolumner. Ingen kodning krävs om du inte vill ändra logiken för datumformatering.

Är n8n gratis att använda för det här Cal.com Sheets-synk-arbetsflödet?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du behöver också räkna in Cal.com API-åtkomst (vanligtvis inkluderat i din Cal.com-plan).

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

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 hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.

Hur anpassar jag den här Cal.com Sheets-synk-lösningen till mina specifika utmaningar?

Du kan ändra tidszon och utdataformat i steget “Format Schedule Time” och sedan justera mappade kolumner i “Map Candidate Fields.” Om ditt ark använder en annan unik identifierare än e-post byter du uppslagningen till att matcha på kandidat-ID i stället. Vanliga justeringar är att lägga till en uppdatering av “Stage” efter bokning, skriva en tidsstämpel för “Last Updated” eller skicka en Gmail-bekräftelse till interna intervjuare.

Varför misslyckas min Cal.com-anslutning i det här arbetsflödet?

Oftast är det en utgången eller felaktig Cal.com API-nyckel. Skapa en ny nyckel, uppdatera den i de två HTTP Request-noderna och bekräfta att endpointen du anropar fortfarande är giltig för ditt Cal.com-konto. Kontrollera även rate limits om du hämtar många bokningar på en gång. Om bara vissa bokningar fallerar kan det saknas fält i payloaden, så att mappningssteget blir tomt.

Vilken kapacitet har den här Cal.com Sheets-synk-lösningen?

Mer än tillräckligt för de flesta små team. På n8n Cloud Starter kan du köra tusentals körningar per månad, och om du kör egen drift finns ingen körningsgräns utöver vad din server klarar. I praktiken bearbetar det här arbetsflödet bokningar i batchar, så du kan hantera flera veckors intervjuer i en enda körning.

Är den här Cal.com Sheets-synk-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom du gör mer än “skicka bokning till ark”. Det här arbetsflödet innehåller uppslagslogik, loopar igenom e-postbatchar och städåtgärder (raderar omatchade rader), och det blir snabbt krångligt eller dyrt i verktyg som prissätts per task. n8n låter dig också köra egen drift, vilket är hjälpsamt om rekryteringsvolymen spikar. Zapier eller Make kan fortfarande vara bra för en enkel envägs-append till Sheets, särskilt om du aldrig behöver avduplicering eller validering. Om du är osäker, prata med en automationsexpert så tar vi fram det enklaste alternativet för din process.

När din spårning uppdaterar sig själv och städar efter sig känns rekryteringen lugnare. Den här pålitligheten är ärligt talat det som gör att du kan jobba snabbare utan att lägga till fler verktyg.

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

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal