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

Calendly + Google Sheets, mötesförberedelser klara

Rickard Andersson Partner, Nodenordic.se

Du får mötet bokat – och sedan börjar det riktiga jobbet. Kopiera deltagarinfo, googla företaget, leta upp LinkedIn, gissa deras roll och hoppas att du inte missade något viktigt.

Den här Calendly Sheets-automationen träffar säljare först, helt ärligt. Men konsulter och rekryterare känner av det också, eftersom ”snabb förberedelse” blir till en rörig 20-minuters researchspiral.

Det här flödet fångar nya bokningar, berikar deltagaren med Apollo-data via Apify och håller allt snyggt uppdaterat i Google Sheets så att du kan kliva in i samtal med rätt kontext.

Så här fungerar automationen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: Calendly + Google Sheets, mötesförberedelser klara

Problemet: mötesförberedelser är repetitiva, och de blir ofta ofullständiga

Research inför möten är en sådan uppgift som ser liten ut tills du lägger ihop den över en vecka. En ny bokning kommer in, du öppnar kalenderinbjudan, kopierar en e-postadress, söker på LinkedIn, skummar företagets webbplats och försöker sedan minnas vad du hittade när samtalet startar. Tar du fem till tio samtal i veckan gör du samma moment om och om igen. Och när du har mycket att göra hoppar du över steg. Det är då du dyker upp oförberedd, ställer frågor du hade kunnat besvara på 30 sekunder och de första minuterna känns… platta.

Det summerar snabbt. Här är var det faller isär.

  • Bokningsdetaljerna ligger i Calendly eller Cal.com, så du slutar med att skriva in namn och e-post manuellt i dina anteckningar eller ditt CRM.
  • Research sker i flikar, inte i ett system, vilket betyder att du gör samma uppslag igen nästa vecka.
  • Folk delar ofullständig info när de bokar, så du slösar tid på att gissa företag eller roll.
  • När förberedelserna går snabbt missar du små signaler (bransch, antal anställda, plats) som påverkar hur du lägger upp samtalet.

Lösningen: logga bokningen, berika deltagaren, uppdatera arket

Det här flödet gör varje ny mötesbokning till en levande ”förberedelsepost” i Google Sheets. Det startar i samma ögonblick som en inbjuden bokar via Calendly (invitee.created) eller via Cal.com (BOOKING_CREATED). Flödet tolkar bokningspayloaden, plockar ut grunderna (namn, e-post, företag om det finns, och anteckningar) och skriver direkt en ny rad i ditt kalkylark ”Meeting Prep”. Sedan bygger det en riktad Apollo-sökfråga baserat på det som finns, skickar den genom en Apify-baserad scraping och väntar på att berikade profildata ska komma tillbaka. Om flödet hittar användbar Apollo-data uppdaterar det samma rad med jobbtitel, företagsdetaljer och sociala länkar. Om inte flaggar det raden så att du vet att du kanske vill göra en snabb manuell kontroll.

Flödet börjar med en trigger för ny bokning (Calendly eller Cal.com). Därefter skapar det en intagsrad i Google Sheets så att inget tappas bort. Efter det använder det Apify för att hämta Apollo-baserad berikningsdata och uppdaterar arket med en tydlig status: ”Berikad” eller ”Info saknas”.

Det här får du: automation vs. resultat

Exempel: så här ser det ut

Säg att du tar 12 bokade samtal på en vecka. Manuellt tar även en ”snabb förberedelse” oftast runt 10 minuter per person (hitta LinkedIn, bekräfta företaget, plocka en webbplatslänk, skriva en anteckning), vilket blir cirka 2 timmar i veckan. Med det här flödet lägger du cirka 1 minut på att titta på raden i Google Sheet innan varje samtal, medan berikningen kör i bakgrunden efter bokningen. Du gör fortfarande en mänsklig snabbkoll, men grovjobbet är borta. Det är ungefär 90 minuter tillbaka de flesta veckor, utan att du behöver ändra din process.

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)
  • Calendly för att trigga automationer vid nya bokningar.
  • Google Sheets för att lagra och granska förberedelsedata inför möten.
  • Apify API-token (hämtar du i kontoinställningarna i Apify).

Kunskapsnivå: Medel. Du kopplar konton, klistrar in API-tokens och uppdaterar ett Sheet-ID i två noder.

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

Så fungerar det

Ett möte bokas. Flödet kan starta från Calendly (invitee.created) eller från Cal.com (BOOKING_CREATED), så du kan behålla ditt nuvarande bokningsverktyg.

Bokningen normaliseras till ett strukturerat format. n8n tolkar inkommande payload (namn, e-post, företag, anteckningar) så att efterföljande steg inte behöver bry sig om vilket bokningsverktyg som triggade det.

En intagsrad skapas i Google Sheets. Det här sker medvetet före berikning, eftersom du vill ha en post även när Apollo-data saknas eller deltagaren använde en privat e-postadress.

Apollo-berikning begärs och valideras. Flödet bygger en sök-URL, använder Apify för att hämta Apollo-data och kontrollerar sedan om något användbart kom tillbaka. Om ja uppdaterar det den befintliga raden och markerar den ”Berikad”. Om inte markerar det ”Info saknas”.

Du kan enkelt justera vilka kolumner som fångas i Google Sheets så att de matchar teamets checklista för förberedelser (eller dina CRM-fält) utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: konfigurera Cal Booking Trigger

Den här triggern startar arbetsflödet när en bokning skapas i Cal.

  1. Lägg till och öppna Cal Booking Trigger.
  2. Ställ in EventsBOOKING_CREATED.
  3. Credential Required: anslut era calApi-uppgifter.

Steg 2: konfigurera Calendly Invite Trigger

Den här triggern hanterar skapande av Calendly-inbjudna och skickar deltagardata in i samma berikningsflöde.

  1. Lägg till och öppna Calendly Invite Trigger.
  2. Ställ in Eventsinvitee.created.
  3. Credential Required: anslut era calendlyApi-uppgifter.

Steg 3: anslut Google Sheets

Dessa noder lagrar intake-data och berikningsresultat i ert Google Sheet.

  1. Öppna Record Intake Row och ställ in Document[YOUR_ID] och SheetSheet1.
  2. Bekräfta att Operation är appendOrUpdate och att mappningen inkluderar fält som Email, Name och Created At.
  3. Öppna Update Enriched Sheet och ställ in Document[YOUR_ID] och SheetSheet1.
  4. Säkerställ att Update Enriched Sheet använder uttryck som {{ $('Apollo Data Fetch').first().json.companyName }} och {{ $('Record Intake Row').first().json['Created At'] }} i sin kolumnmappning.
  5. Öppna Log Missing Info och bekräfta att Status är Info Not Available och att Created At är {{ $('Record Intake Row').first().json['Created At'] }}.
  6. Credential Required: anslut era googleSheetsOAuth2Api-uppgifter till Record Intake Row, Update Enriched Sheet och Log Missing Info.

Steg 4: konfigurera parsning och intake-bearbetning

Dessa noder normaliserar data från båda kalenderkällorna och bygger intake-posten som används för berikning.

  1. I Parse Cal Payload mappar ni fält som Name till {{ $json.responses.name.value }} och Created at till {{ $json.createdAt.toDateTime() }}.
  2. I Parse Calendly Payload mappar ni fält som Name till {{ $json.payload.name }} och Created at till {{ $json.created_at.toDateTime() }}.
  3. Bekräfta att både Parse Cal Payload och Parse Calendly Payload kopplas in i Record Intake Row.
  4. Ställ in Build Search Query till Mode raw och JSON Output till =={ "query": [ { "keyword": ["{{ $json['Name '] }}"], "business": ["{{ $json.Company }}"] } ] }.
Tips: säkerställ att fältnamnen matchar exakt, inklusive avslutande mellanslag som Name och Company , annars blir sökfrågan tom.

Steg 5: konfigurera berikningsanropet och validering

Det här avsnittet bygger Apollo-sök-URL:en, hämtar data och routar resultat baserat på tillgänglighet.

  1. Gå igenom Assemble Search URL för att säkerställa att den läser från Build Search Query och matar ut finalURL.
  2. I Apollo Data Fetch ställer ni in URL till https://api.apify.com/v2/acts/supreme_coder~apollo-scraper/run-sync-get-dataset-items?token=[CONFIGURE_YOUR_API_KEY].
  3. Ställ in MethodPOST och JSON Body till { "count": 25, "excludeGuessedEmails": false, "excludeNoEmails": false, "getEmails": true, "searchUrl": "{{ $json.finalURL }}" }.
  4. I Validate Data Presence ställer ni in villkoret till {{ $('Apollo Data Fetch').all().toJsonString() }} notEmpty.
  5. Bekräfta att Validate Data Presence skickar ut till både Update Enriched Sheet och Log Missing Info parallellt.
⚠️ Vanlig fallgrop: ersätt [CONFIGURE_YOUR_API_KEY] i Apollo Data Fetch med er faktiska Apify/Apollo-token, annars misslyckas anropet.

Steg 6: testa och aktivera ert arbetsflöde

Validera att båda trigger-vägarna berikar data och skriver till rätt sheet.

  1. Klicka på Execute Workflow och trigga en testbokning från Cal och/eller Calendly.
  2. Verifiera att Record Intake Row lägger till eller uppdaterar en rad med Email, Name och Created At.
  3. Kontrollera Update Enriched Sheet för berikningsfält som Company, Phone och Socials när data returneras.
  4. Om Apollo inte returnerar någon data, bekräfta att Log Missing Info skriver Status som Info Not Available.
  5. När allt fungerar, slå om 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

Vanliga fallgropar

  • Behörigheter i Google Sheets kan vara luriga. Om rader inte skrivs, kontrollera n8n-autentiseringen för Google Sheets och bekräfta att det anslutna Google-kontot kan redigera kalkylarket ”Meeting Prep”.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Apify-scrapers kan returnera delvis data när Apollo begränsar via rate limits eller ändrar sidstruktur. Om berikningen plötsligt minskar, kolla först dina Apify-körloggar och verifiera sedan Apollo-fråge-URL:en som ditt flöde genererar.

Vanliga frågor

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

Cirka 30–60 minuter när dina konton och API-tokens är klara.

Behöver jag kodningskunskaper för att automatisera mötesförberedelser?

Nej. Du kommer mest att koppla autentiseringar och klistra in ID:n/tokens i rätt fält.

Är n8n gratis att använda för det här flödet för Calendly Sheets-automation?

Ja. n8n har ett gratis alternativ för egen drift 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 kostnader för Apify-användning (det beror på din scraper och körvolym).

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

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 obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här flödet för Calendly Sheets-automation för Cal.com-bokningar i stället för Calendly?

Ja, och det är redan byggt för det. Du kan köra Calendly och Cal.com parallellt med de två trigger-noderna och sedan mappa båda till samma steg ”Record Intake Row”. Vanliga justeringar är att lägga till egna förberedelsefrågor i arket, ändra vilka fält som skrivs under ”Update Enriched Sheet” och justera Apollo-sökfrågan när företagsnamn är röriga.

Varför misslyckas min Google Sheets-anslutning i det här flödet?

Oftast är det fel Google-konto som är anslutet, eller så saknar kontot redigeringsbehörighet till arket. Koppla om Google Sheets-autentiseringen i n8n och öppna sedan kalkylarket och bekräfta att det är delat med samma konto. Dubbelkolla också documentId i båda Google Sheets-noderna, eftersom en kopia av mallen skapar ett nytt ID. Om det fortfarande fallerar, titta på exekveringsfelet i n8n; Googles API-meddelanden är raka men korrekta.

Hur många bokningar kan den här Calendly Sheets-automationen hantera?

Med n8n Cloud Starter kan du hantera några tusen flödeskörningar per månad, vilket täcker de flesta små team. Om du kör egen drift finns ingen exekveringsgräns, så volymen beror på din server och hur snabbt Apify returnerar resultat. I praktiken är flaskhalsen berikning: om du försöker berika hundratals bokningar under en kort period kan du slå i Apollo/Apify-rate limits och se fler rader med ”Info saknas” tills du lägger till återförsök.

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

Ofta, ja, eftersom det här flödet har förgrening (Calendly vs. Cal.com), villkorliga uppdateringar och en berikningsbegäran som tjänar på mer kontroll. n8n är också enklare att köra i högre volym utan att prissättning per steg blir märklig. Zapier eller Make kan fortfarande fungera om du bara vill ha ”ny bokning → lägg till rad” och du inte berikar något. När du lägger till berikning, validering och uppdateringar av en befintlig rad är n8n oftast det lugnare valet. Vill du ha en snabb rekommendation för din setup, prata med en automationsexpert.

När ditt ark fyller sig självt med riktig kontext blir förberedelser en snabb titt, inte ett litet researchprojekt. Sätt upp det en gång, så känns nästa bokade samtal enklare direkt.

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