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 + gmail: samtalsbrief i inkorgen

Rickard Andersson Partner, Nodenordic.se

Din kalender är full, men din förberedelse är det inte. En ny bokning trillar in, du säger till dig själv att du ska ”researcha dem senare”, och sedan går du in i samtalet halvblind och skannar LinkedIn-flikar medan de pratar.

Grundare känner det när varje discovery-samtal kan vara avgörande. SDR:er och konsulter känner det när möten staplas och kontextbyten blir brutala. Den här Cal.com Gmail prep-automationen lägger en strukturerad, lättskummad brief i din inkorg så att du kliver in skärpt, inte stressad.

Nedan ser du vad arbetsflödet gör, varför det är värt att automatisera och vad du behöver för att köra det stabilt i n8n.

Så fungerar den här automationen

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

n8n Workflow Template: Cal.com + gmail: samtalsbrief i inkorgen

Problemet: samtalsförberedelser hoppas över (eller görs dåligt)

Personliga samtal vinner affärer, men förarbetet är jobbigt på det sämsta sättet. Du måste hitta rätt LinkedIn-profil, skumma senaste inläggen, pussla ihop jobbhistorik och sedan förstå vad som händer i deras bolag just nu. När du har bråttom missar du uppenbara signaler och ställer generiska frågor. När du har tid landar du ändå i spretiga anteckningar över flikar, dokument och skärmdumpar. Ärligt talat är det värsta den mentala belastningen: du researchar samtidigt som du försöker vara närvarande i samtalet.

Friktionen ökar snabbt, särskilt när du har mer än ett par möten per dag.

  • Att hitta rätt LinkedIn-URL kan ta 5 minuter, och det blir ändå fel när namnen är vanliga.
  • Du slutar med att skumma inlägg och ”Om”-sektionen precis innan samtalet, vilket gör att du inte minns något av det.
  • Bolagskontext saknas ofta, så dina första 10 minuter går åt till frågor som Google hade kunnat svara på.
  • Anteckningar standardiseras inte, så att lämna över till en kollega (eller ditt framtida jag) blir rörigt.

Lösningen: autogenerera en samtalsbrief från Cal.com till Gmail

Det här arbetsflödet lyssnar efter en ny bokning i Cal.com och bygger direkt en research-brief om personen som bokade. Det börjar med att slå upp leaden i din Google Sheets-”databas” för att hämta matchande LinkedIn-URL. Därefter hämtar det publik profildata via Relevance AI (senaste inlägg, erfarenhet, utbildning) och kör en djupare webbresearch via Perplexity för att få fram aktuell kontext som nyheter, teman och användbara infallsvinklar. Den strukturerade researchen skickas till en OpenAI-chatmodell som omvandlar den till tydliga sammanfattningar: vem personen är, vad bolaget sannolikt bryr sig om, troliga smärtpunkter och rimliga lösningsspår. Till sist sätter n8n ihop allt till ett formaterat HTML-mejl och skickar det till dig i Gmail, klart att skumma innan mötet.

Arbetsflödet startar med bokningstriggern och berikar sedan leaden med Sheets + LinkedIn-scraping + webbresearch. Efter det gör AI om rå info till en brief du faktiskt kan använda. Gmail levererar den som vilken annan prep-anteckning som helst, så den passar din befintliga rutin.

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

Exempel: så här ser det ut

Säg att du har 4 inbokade samtal på en dag. En vettig manuell förberedelse innebär vanligtvis LinkedIn-uppslagning (5 minuter), skumma inlägg och erfarenhet (10 minuter), plus snabb webbresearch (5 minuter), alltså cirka 20 minuter per samtal. Det blir ungefär 80 minuter per dag. Med det här arbetsflödet lägger du kanske 1 minut på att bekräfta att raden i Sheets stämmer, och sedan väntar du på att briefen ska komma (i exemplet kommer den cirka 2 minuter efter bokning). Du får tillbaka runt en timme de flesta dagar, och förberedelsen blir mer konsekvent.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting om du föredrar det (Hostinger fungerar bra)
  • Cal.com som trigger när ett samtal bokas.
  • Google Sheets för leadposter och LinkedIn-URL:er.
  • Relevance AI API-nyckel (hämta den i din Relevance AI-dashboard) för att scrape:a LinkedIn-data.
  • Perplexity API-nyckel (hämta den från ditt Perplexity-konto) för djup webbresearch.
  • OpenAI API-nyckel (hämta den från OpenAI-dashboarden) för sammanfattningar och föreslagna vinklar.
  • Gmail för att skicka HTML-briefen till din inkorg.

Kunskapsnivå: Medel. Du kopplar några konton, sätter API-nycklar och gör mindre justeringar i prompts och mejlformatering.

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

Så fungerar det

En ny bokning startar allt. När Cal.com registrerar en ny bokning hämtar arbetsflödet deltagaruppgifterna och använder dem som ”nyckel” för allt som följer.

Din Sheets-databas ger den saknade länken. n8n hämtar rader från Google Sheets och filtrerar för att hitta rätt person, och extraherar sedan LinkedIn-URL:en (och eventuella extra fält du sparar, som persona, segment eller leadkälla).

LinkedIn + webbresearch sammanställs till användbar kontext. En HTTP-request skickar LinkedIn-URL:en till Relevance AI för scraping, och sedan formaterar kodsteg senaste inlägg, arbetshistorik och utbildning till strukturerade block. Parallellt kör Perplexity en researchfråga så att briefen innehåller aktuell kontext, inte bara en profilbild.

AI gör råa signaler till en brief redo för samtal. OpenAI-chatmodellen tar fram en sammanfattning av prospekt/bolag samt troliga utmaningar och åtgärder. n8n bygger ihop slutlig HTML och Gmail skickar den till dig automatiskt.

Du kan enkelt ändra matchningslogiken i Google Sheets till att använda e-post, företagsdomän eller Typeform-fält beroende på behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera triggern för bokningshändelsen

Konfigurera arbetsflödet så att det startar när en ny Cal.com-bokning skapas.

  1. Lägg till Booking Event Trigger på er canvas.
  2. Ställ in EventsBOOKING_CREATED.
  3. Ställ in Event Type ID2098128.
  4. Inloggningsuppgifter krävs: anslut era calApi-inloggningsuppgifter.

Booking Event Trigger skickar utdata till Retrieve Sheet Data A, Retrieve Sheet Data B, Retrieve Sheet Data C och Retrieve Sheet Data D parallellt.

Steg 2: Anslut Google Sheets

Varje sheet-nod hämtar lead-data från ett separat kalkylark och skickar vidare till e-postfiltret.

  1. Öppna Retrieve Sheet Data A och ställ in Document1uGw7lJteEbjDzgVyZ0yG2gs7yx0AcJOaTdZ7Q5q0Y9c och SheetData.
  2. Öppna Retrieve Sheet Data B och ställ in Document1bSGJXsHnl6Cs9DOV9Q0iwWf_TAbgaeZdQxNSLn_kJPQ och SheetSheet1.
  3. Öppna Retrieve Sheet Data C och ställ in Document1REdyrlO0rJ9y7T_CQLZtLHDE7fUdPc222rzywSEzE6M och SheetValidated Data.
  4. Öppna Retrieve Sheet Data D och ställ in Document1ozF4HA8LpZVKY62B8MoxVshKKnLvUKachs8XARaLbDk och SheetData.
  5. Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-inloggningsuppgifter på alla fyra noder.

Retrieve Sheet Data A, Retrieve Sheet Data B, Retrieve Sheet Data C och Retrieve Sheet Data D matar alla in i Apply Email Filter.

Steg 3: Konfigurera filtrering och hämtning av LinkedIn-data

Filtrera de sammanslagna raderna från arken och hämta LinkedIn-profildata för den matchade leaden.

  1. Öppna Apply Email Filter och ställ in villkoret Left Value till {{ $json.email }} och Right Value till [YOUR_EMAIL].
  2. Öppna Fetch LinkedIn Data och ställ in URL till https://api-bcbe5a.stack.tryrelevance.com/latest/studios/8ac2aaa8-3d38-4d92-9b6f-65a19a5cc17a/trigger_webhook?project=4518f8138206-4b6c-8b8a-8dd5b17d95fa.
  3. Ställ in MethodPOST, aktivera Send Body och ställ in Specify BodyJSON.
  4. Ställ in JSON Body till ={"linkedin_url":"{{ $json.profileUrl }}","last_x_days":30}.
  5. Inloggningsuppgifter krävs: anslut era httpHeaderAuth-inloggningsuppgifter.

Apply Email Filter skickar utdata till Fetch LinkedIn Data, som sedan matar in i Format Recent Posts.

Steg 4: Konfigurera noder för bearbetning och research

Omvandla LinkedIn-data till HTML-tabeller, kör webbresearch och sammanställ källhänvisningar.

  1. Låt Format Recent Posts vara som den är för att generera postsHTML från LinkedIn-inlägg.
  2. Låt Compile Work History vara som den är för att generera experiencesTable från linkedin_profile_details_data.experiences.
  3. Låt Compile Education Table vara som den är för att generera educationTable från linkedin_profile_details_data.educations.
  4. Öppna Web Research Query och ställ in Modelsonar-pro.
  5. Inloggningsuppgifter krävs: anslut era perplexityApi-inloggningsuppgifter i Web Research Query.
  6. Låt Reference Links Composer vara som den är för att bygga citationsHTML från citations-arrayen.

Format Recent Posts skickar utdata till Compile Work History, som skickar utdata till Compile Education Table, som skickar utdata till Web Research Query, som skickar utdata till Reference Links Composer.

Steg 5: Konfigurera AI-sammanfattningar

Använd OpenAI för att skapa en sammanfattning av prospekt/företag och ta fram smärtpunkter och möjligheter.

  1. Öppna Prospect & Company Summary och ställ in Modelo1-mini.
  2. Verifiera att prompten refererar till LinkedIn-data och webbresearch med uttryck som {{ $('Fetch LinkedIn Data').item.json.linkedin_profile_details_data.about }} och {{ $('Web Research Query').last().json.choices[0].message.content }}.
  3. Inloggningsuppgifter krävs: anslut era openAiApi-inloggningsuppgifter i Prospect & Company Summary.
  4. Öppna Challenges and Remedies och låt Model vara inställd på o1-mini.
  5. Bekräfta att den refererar till {{ $('Prospect & Company Summary').last().json.message.content }} och {{ $('Web Research Query').last().json.choices[0].message.content }}.
  6. Inloggningsuppgifter krävs: anslut era openAiApi-inloggningsuppgifter i Challenges and Remedies.

Reference Links Composer skickar utdata till Prospect & Company Summary, som skickar utdata till Challenges and Remedies.

Steg 6: Konfigurera HTML-sammansättning och e-postleverans

Sätt ihop HTML-briefen och skicka den via e-post.

  1. Öppna Assemble HTML Brief och behåll HTML-mallen som den är, inklusive uttryck som {{ $('Fetch LinkedIn Data').item.json.linkedin_profile_details_data.full_name }} och {{ $node["Compile Work History"].json.experiencesTable }}.
  2. Öppna Dispatch Email Brief och ställ in Send To till [YOUR_EMAIL].
  3. Ställ in Message till {{ $json.html }}.
  4. Ställ in Subject till {{ $('Fetch LinkedIn Data').item.json.linkedin_profile_details_data.full_name }} Research Report.
  5. Inloggningsuppgifter krävs: anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Email Brief.

Challenges and Remedies skickar utdata till Assemble HTML Brief, som skickar utdata till Dispatch Email Brief.

Steg 7: Testa och aktivera ert arbetsflöde

Kör ett manuellt test och bekräfta att arbetsflödet skapar och e-postar briefen korrekt.

  1. Klicka på Execute Workflow och trigga en testbokning i Cal.com som matchar [YOUR_EMAIL] i sheet-datan.
  2. Verifiera att Fetch LinkedIn Data returnerar profildetaljer och inlägg.
  3. Bekräfta att Assemble HTML Brief ger fullständig HTML med sammanfattning, tabeller, inlägg och källhänvisningar.
  4. Kontrollera inkorgen efter mejlet från Dispatch Email Brief med en ämnesrad som slutar på Research Report.
  5. Slå på arbetsflödet med reglaget 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

  • Gmail-inloggningar kan gå ut eller kräva specifika behörigheter. Om något skapar fel, börja med att kontrollera statusen för dina Gmail-credentials i n8n och Googles säkerhetsvarningar på kontot.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
  • OpenAI-prompter blir ofta generiskt ”corporate” som standard. Lägg in din tonalitet tidigt, annars kommer du redigera outputen för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Cal.com Gmail prep-automationen?

Räkna med cirka 45 minuter om dina API:er och ditt Sheet är redo.

Behöver jag kunna koda för att automatisera briefs för samtalsförberedelse?

Nej. Du kopplar främst konton och klistrar in API-nycklar. Den enda ”tekniska” delen är lätt promptredigering och att kontrollera att dina Google Sheets-kolumner matchar det arbetsflödet förväntar sig.

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

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 volym. Du behöver också räkna in kostnader för OpenAI, Perplexity och Relevance AI, som beror på hur många briefs du genererar.

Var kan jag hosta n8n för att köra den här Cal.com Gmail prep-automationen?

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här Cal.com Gmail prep-flödet för Calendly i stället för Cal.com?

Ja, men du byter trigger. Ersätt Cal.com-bokningstriggern med en Calendly-webhooktrigger och mappa sedan deltagarens e-post/namn till samma fält som används i Google Sheets-uppslagningen. Vanliga anpassningar är att skicka briefen till Slack, lägga till en Telegram-notis för ”VIP”-leads eller logga slutlig HTML i dina CRM-anteckningar. Om du håller utdatafälten konsekventa är resten av flödet (Sheets → Relevance AI → Perplexity → OpenAI → Gmail) i princip detsamma.

Varför misslyckas min Gmail-anslutning i det här arbetsflödet?

Oftast handlar det om utgången OAuth-åtkomst eller att fel Google-konto är anslutet. Återanslut Gmail-credentialen i n8n och bekräfta sedan att avsändaradressen matchar det Gmail tillåter. Det kan också misslyckas om din workspace-admin blockerar tredjepartsåtkomst, så kontrollera Google Workspace-säkerhetsinställningar om återanslutning inte löser det. I sällsynta fall är det en kvotfråga när du skickar många briefs på kort tid.

Hur många briefs kan den här Cal.com Gmail prep-automationen hantera?

Många.

Är den här Cal.com Gmail prep-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här inte är en enkel ”trigger → mejl”-zap. Du gör berikning i flera steg, formatering och två AI-genereringar, och n8n hanterar förgreningar och kodbaserad städning utan att ta extra betalt för varje litet steg. Du får också self-hosting, vilket spelar roll när briefs blir en daglig vana. Zapier eller Make kan fortfarande vara bra om du vill ha snabbast möjliga setup och är okej med en enklare brief. Om du är osäker, prata med en automationsexpert så verklighetscheckar vi ditt upplägg.

Sätt upp det en gång, så dyker din förberedelse upp på autopilot. Då kan du gå in i samtal med fokus på dialogen, inte webbläsarflikarna.

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