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
flowchart LR
subgraph sg0["Cal.com 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/cal.dark.svg' width='40' height='40' /></div><br/>Cal.com Trigger1"]
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/code.svg' width='40' height='40' /></div><br/>Create URL"]
n2["<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/calendly.svg' width='40' height='40' /></div><br/>Calendly Trigger"]
n3@{ icon: "mdi:database", form: "rounded", label: "Google Sheets1", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Google Sheets2", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Data", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract data", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Log entry", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Generate Query", 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/>Scrape Apollo"]
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Data available?", pos: "b", h: 48 }
n7 --> n8
n1 --> n9
n5 --> n7
n6 --> n7
n9 --> n10
n8 --> n1
n0 --> n6
n2 --> n5
n10 --> n3
n10 --> n4
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 n0,n2 trigger
class n10 decision
class n3,n4,n7 database
class n9 api
class n1 code
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n9 customIcon
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
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
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.
- Lägg till och öppna Cal Booking Trigger.
- Ställ in Events på
BOOKING_CREATED. - 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.
- Lägg till och öppna Calendly Invite Trigger.
- Ställ in Events på
invitee.created. - Credential Required: anslut era calendlyApi-uppgifter.
Steg 3: anslut Google Sheets
Dessa noder lagrar intake-data och berikningsresultat i ert Google Sheet.
- Öppna Record Intake Row och ställ in Document på
[YOUR_ID]och Sheet påSheet1. - Bekräfta att Operation är
appendOrUpdateoch att mappningen inkluderar fält somEmail,NameochCreated At. - Öppna Update Enriched Sheet och ställ in Document på
[YOUR_ID]och Sheet påSheet1. - 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. - Öppna Log Missing Info och bekräfta att Status är
Info Not Availableoch att Created At är{{ $('Record Intake Row').first().json['Created At'] }}. - 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.
- I Parse Cal Payload mappar ni fält som Name till
{{ $json.responses.name.value }}och Created at till{{ $json.createdAt.toDateTime() }}. - I Parse Calendly Payload mappar ni fält som Name till
{{ $json.payload.name }}och Created at till{{ $json.created_at.toDateTime() }}. - Bekräfta att både Parse Cal Payload och Parse Calendly Payload kopplas in i Record Intake Row.
- Ställ in Build Search Query till Mode
rawoch JSON Output till=={ "query": [ { "keyword": ["{{ $json['Name '] }}"], "business": ["{{ $json.Company }}"] } ] }.
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.
- Gå igenom Assemble Search URL för att säkerställa att den läser från Build Search Query och matar ut
finalURL. - 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]. - Ställ in Method på
POSToch JSON Body till{ "count": 25, "excludeGuessedEmails": false, "excludeNoEmails": false, "getEmails": true, "searchUrl": "{{ $json.finalURL }}" }. - I Validate Data Presence ställer ni in villkoret till
{{ $('Apollo Data Fetch').all().toJsonString() }}notEmpty. - Bekräfta att Validate Data Presence skickar ut till både Update Enriched Sheet och Log Missing Info parallellt.
[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.
- Klicka på Execute Workflow och trigga en testbokning från Cal och/eller Calendly.
- Verifiera att Record Intake Row lägger till eller uppdaterar en rad med
Email,NameochCreated At. - Kontrollera Update Enriched Sheet för berikningsfält som
Company,PhoneochSocialsnär data returneras. - Om Apollo inte returnerar någon data, bekräfta att Log Missing Info skriver
StatussomInfo Not Available. - När allt fungerar, slå om arbetsflödet till Active för användning i produktion.
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
Cirka 30–60 minuter när dina konton och API-tokens är klara.
Nej. Du kommer mest att koppla autentiseringar och klistra in ID:n/tokens i rätt fält.
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).
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.
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.
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.
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.
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.