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

Cal.com + Airtable: lead-research klart i Gmail

Rickard Andersson Partner, Nodenordic.se

Du bokar samtalet. Bra. Sedan börjar stressen: vem är de, vad gör de och vad ska du fråga för att inte slösa de första 10 minuterna på att “skapa kontext”?

Den här Cal.com Airtable-automationen slår hårdast mot säljare och grundare. Men kundansvariga som driver förnyelser känner av det också, eftersom varje möte fortfarande kräver förberedelse även när kalendern är full.

Det här arbetsflödet gör nya Cal.com-bokningar till en berikad post i Airtable och mejlar dig sedan en korrekt formaterad mötesbrief i Gmail före samtalet. Du får se hur det fungerar, vad du behöver och var team oftast går snett.

Så fungerar automationsflödet

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

n8n Workflow Template: Cal.com + Airtable: lead-research klart i Gmail

Problemet: mötesförberedelser hoppas över (eller stressas igenom)

De flesta mötesförberedelser är inte svåra. De är bara störiga. Du måste hitta bokningsdetaljerna, kopiera dem någonstans säkert, kolla om leaden delade en LinkedIn-URL, skumma några inlägg och sedan försöka göra om det till två smarta frågor och en plan. Gör du det en gång är det lugnt. Gör du det fem gånger om dagen börjar du improvisera. Då glider samtalen iväg, anteckningar försvinner och uppföljningar blir svagare eftersom du aldrig fångade det som faktiskt spelade roll.

Det blir snabbt mycket. Här är var det brister för team med högt tempo.

  • Bokningsdata ligger i Cal.com, medan dina “CRM”-anteckningar finns någon annanstans, så du jagar alltid grunderna precis innan samtalet.
  • LinkedIn-research blir inkonsekvent, vilket gör att du ställer generiska frågor och missar enkla sätt att skapa relation.
  • Manuell kopiering till Airtable (eller ett kalkylark) bjuder in småfel som fel företagsnamn, saknade mejladresser eller dubbla poster.
  • Även när du förbereder dig lagras det sällan tillbaka i ditt system, så nästa kontaktpunkt börjar från noll.

Lösningen: Cal.com-bokning → Airtable-berikning → Gmail-mejl för förberedelse

Det här flödet startar i samma sekund som en ny Cal.com-bokning kommer in via webhook. n8n hämtar bokningspayloaden, mappar de viktigaste fälten (namn, e-post, datum, anpassade frågor) och sparar en strukturerad post i Airtable så att du har en plats att följa upp bokningar. Om leaden har lagt in en LinkedIn-profil, skickar flödet datan via Bright Data för att hämta relevanta profildetaljer och nyligt innehåll. Sedan gör en AI-agent (OpenAI-chatmodell via en OpenRouter-chatmotor) om den råa informationen till en mötesförberedelse på hög nivå. Till sist renderar flödet briefen till ett läsbart HTML-mejl och skickar det till dig i Gmail, och uppdaterar sedan Airtable med den genererade förberedelsen så att den sparas för senare.

Flödet börjar med att Cal.com skickar en bokningshändelse. Airtable blir systemet som gäller, medan Bright Data och AI-stegen gör “research och sammanfattning” i bakgrunden. Gmail levererar resultatet exakt när du behöver det och Airtable ser till att anteckningarna inte försvinner.

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

Exempel: så här ser det ut i praktiken

Säg att du kör 4 säljsamtal per dag. Manuellt kanske du lägger 10 minuter på att hitta bokningsdetaljerna, 10 minuter på att skumma LinkedIn och ytterligare 5 minuter på att skriva ett snabbt förberedelsedokument, alltså runt 25 minuter per samtal (ungefär 1,5 timme per dag). Med det här flödet skickar du inte in något extra utöver Cal.com-bokningsformuläret; webhooken triggar direkt, research och AI-sammanfattning kör i bakgrunden och Gmail-briefen dyker upp innan mötet. Ditt “jobb” blir att skumma mejlet i 1 minut, inte en förberedelsesession.

Det du behöver

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Cal.com för att samla bokningar och formulärfält.
  • Airtable för att lagra leads, bokningar och anteckningar.
  • Bright Data API-nyckel (hämta den i din Bright Data-dashboard).
  • Gmail för att ta emot och skicka mejl med mötesförberedelser.
  • OpenRouter-/OpenAI-kompatibel nyckel (hämta den i din leverantörs API-inställningar).

Kunskapsnivå: Medel. Du mappar mest fält och kopplar konton, men du bör vara bekväm med att testa webhook-payloads och justera prompts.

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

Så fungerar det

En ny bokning kommer in. Cal.com skickar en bokningshändelse till n8n via triggern för inkommande webhook, och flödet styr händelsen så att endast de bokningstyper du bryr dig om behandlas.

Bokningsdetaljerna struktureras. n8n bygger en strukturerad payload-JSON, mappar viktiga fält och lägger in en post i Airtable så att ditt “CRM för bokningar” hålls uppdaterat utan manuell registrering.

LinkedIn-research körs bara när den ska. Ett valideringssteg kontrollerar om det finns ett fält för LinkedIn-profil; om det finns hämtar Bright Data profildetaljer och nyligt innehåll, och n8n förfinar profildatan till något som AI:n faktiskt kan använda.

En mötesbrief genereras och levereras. AI-agenten skriver en kort och tydlig förberedelse, flödet renderar den till ett korrekt formaterat HTML-mejl och Gmail skickar det till dig. Efter det uppdateras Airtable med de slutliga mötesanteckningarna så att förberedelsen går att söka fram senare.

Du kan enkelt justera hur djupt LinkedIn-researchen ska gå så att det matchar dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Sätt upp den inkommande webhooken som tar emot bokningshändelser från ert boknings-/schemaläggningssystem.

  1. Lägg till noden Incoming Webhook Trigger och ställ in HTTP MethodPOST.
  2. Ställ in Path till 83231439-9c32-443c-86ea-8645f3d76640 och kopiera den genererade webhook-URL:en till er bokningsplattform.
  3. Behåll Flowpast Branding som en referensnotering i er canvas (ingen konfiguration krävs).

Steg 2: Anslut bokningshändelseroutern och payload-byggaren

Routa endast de händelser ni vill ha och forma om inkommande JSON till en ren payload.

  1. I Route Booking Events, lägg till en regel som matchar Trigger Event mot BOOKING_CREATED med {{$json.body.triggerEvent}}.
  2. Anslut Route Booking Events till Build Payload JSON.
  3. I Build Payload JSON, ställ in Moderaw och JSON Output till {{ $json.body.payload }}.
  4. Anslut Build Payload JSON till Map Essential Fields.
  5. I Map Essential Fields, skapa tilldelningar med de angivna uttrycken som {{ $json.responses.name.value }}, {{ $json.responses.email.value }}, {{ $json.metadata.videoCallUrl }} och {{ $json.responses.Linkedin.value }}.

Steg 3: Anslut Airtable och skapa CRM-posten

Skapa en CRM-post för bokningshändelsen innan berikningsstegen börjar.

  1. Lägg till Insert CRM Record och anslut den till Map Essential Fields.
  2. Inloggning krävs: Anslut era airtableTokenApi-inloggningsuppgifter för Insert CRM Record.
  3. Välj er Airtable Base och Table och mappa fält som Name till {{ $json.name }}, Meeting till {{ $json.title }} och Start-time till {{ $json.startTime.toDateTime() }}.
  4. Anslut Insert CRM Record till Validate LinkedIn Presence.

⚠️ Vanlig fallgrop: Om {{ $('Map Essential Fields').first().json.Linkedin }} är tomt kommer Validate LinkedIn Presence att stoppa berikningsflödet. Säkerställ att ert bokningsformulär fångar upp en LinkedIn-URL.

Steg 4: Berika LinkedIn-data och kör AI-förberedelser inför mötet

Skrapa LinkedIn-data, normalisera den och använd sedan AI för att skapa mötesförberedelser. Det här steget inkluderar parallell körning.

  1. Konfigurera Validate LinkedIn Presence för att kontrollera att LinkedIn-URL:en inte är tom med {{ $('Map Essential Fields').first().json.Linkedin }}.
  2. Lägg till Scrape LinkedIn Profile och ställ in Resource till webScrapper och URLs till [{"url":"{{ $('Map Essential Fields').item.json.Linkedin }}"}].
  3. Inloggning krävs: Anslut era brightdataApi-inloggningsuppgifter för Scrape LinkedIn Profile.
  4. Anslut Scrape LinkedIn Profile till Refine Profile Data och mappa fält som name till {{ $json.name }}, experience till {{ $json.experience.map(item => item.positions) }} och followers till {{ $json.followers }}.
  5. Refine Profile Data skickar output till både Meeting Prep Composer och Create Enriched Lead parallellt.
  6. I Meeting Prep Composer, ställ in Text till {{ $json?.toJsonString() }} och behåll den definierade systemprompten för output av mötesförberedelser.
  7. OpenRouter Chat Engine är ansluten som språkmodell för Meeting Prep Composer — säkerställ att inloggningsuppgifter har lagts till i OpenRouter Chat Engine.
  8. Lägg till Create Enriched Lead och mappa Airtable-fält som full_name till {{ $('Refine Profile Data').item.json.name }} och linkedin_url till {{ $('Map Essential Fields').item.json.Linkedin }}.
  9. Inloggning krävs: Anslut era airtableTokenApi-inloggningsuppgifter för Create Enriched Lead.

Tips: Om LinkedIn-skrapningen returnerar flera items, säkerställ att Refine Profile Data tar emot rätt profil-item innan AI-steget.

Steg 5: Rendera och leverera output för mötesförberedelser

Konvertera AI-svaret till HTML, skicka det via e-post och uppdatera CRM-posten.

  1. Anslut Meeting Prep Composer till Render HTML Output och ställ in Mode till markdownToHtml med Markdown satt till {{ $json.text }}.
  2. Anslut Render HTML Output till Send Admin Email och ställ in Send To till [YOUR_EMAIL].
  3. Ställ in meddelandetexten i Send Admin Email till {{ $json.data }} och ämnet till New Meeting Prep Email.
  4. Inloggning krävs: Anslut era gmailOAuth2-inloggningsuppgifter för Send Admin Email.
  5. Anslut Send Admin Email till Update Meeting Notes och mappa id till {{ $('Insert CRM Record').first().json.id }} och Meeting_prep till {{ $('Render HTML Output').item.json.text }}.
  6. Inloggning krävs: Anslut era airtableTokenApi-inloggningsuppgifter för Update Meeting Notes.

Steg 6: Testa och aktivera ert arbetsflöde

Validera hela körvägen och aktivera arbetsflödet för produktion.

  1. Använd knappen Execute Workflow och skicka en test-POST-förfrågan till URL:en för Incoming Webhook Trigger som innehåller body.payload och body.triggerEvent.
  2. Bekräfta att Route Booking Events routar händelsen och att Insert CRM Record skapar en ny post i Airtable.
  3. Verifiera att Scrape LinkedIn Profile och Refine Profile Data körs och att Meeting Prep Composer ger ut förberedelsetexten.
  4. Kontrollera inkorgen efter mejlet från Send Admin Email och bekräfta att Update Meeting Notes uppdaterar Airtable-posten.
  5. Växla 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

  • Airtable-autentisering kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, kontrollera först scopes för din Airtable personal access token och åtkomst till din Base.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du redigera outputs för alltid.

Vanliga frågor

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

Cirka 45 minuter om dina formulärfält i Cal.com och din Airtable-base är klara.

Behöver jag kunna koda för att automatisera Cal.com-förberedelser för bokningar?

Nej. Du kopplar konton och mappar fält mellan Cal.com, Airtable och Gmail.

Är n8n gratis att använda för det här Cal.com Airtable-automationsflödet?

Ja. n8n har ett gratis alternativ för egen drift och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in Bright Data och LLM-användning; förvänta dig en liten kostnad per researchad lead, beroende på hur mycket LinkedIn-data du hämtar.

Var kan jag hosta n8n för att köra den här Cal.com Airtable-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 klarar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Cal.com Airtable-automationsflödet för Calendly i stället för Cal.com?

Ja, men du byter ut Incoming Webhook Trigger och logiken för händelseroutning så att den matchar Calendlys payload. Airtable-stegen kan vara nästan identiska eftersom de i praktiken bara är fältmappning och postuppdateringar. Vanliga anpassningar är att ändra vilka bokningstyper som räknas, lägga till berikningskällor utöver LinkedIn och justera prompten för mötesförberedelsen efter din exakta säljprocess.

Varför fallerar min Airtable-anslutning i det här flödet?

Oftast handlar det om token-scope eller åtkomst till base. Skapa en ny Airtable personal access token, bekräfta att den kan läsa och skriva till rätt base och uppdatera sedan autentiseringen i n8n. Om poster skapas men uppdateringar misslyckas, kontrollera att dina tabellnamn och fält-ID:n matchar vad flödet förväntar sig, särskilt efter att du har “städat upp” kolumner.

Hur många bokningar kan den här Cal.com Airtable-automationen hantera?

Om du kör egen drift finns ingen fast körningsgräns (det beror främst på din server och API:ernas rate limits). På n8n Cloud beror taket på plan; Starter funkar för lägre volym och högre nivåer hanterar mer. I praktiken är den långsammaste delen oftast LinkedIn-scraping och AI-generering, så team med hög volym batchar ofta eller begränsar berikning till bokningar med hög intention.

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

Ofta, ja, eftersom det här flödet behöver villkorsstyrd routing, berikning, AI-promptning och att resultaten skrivs tillbaka till Airtable på ett stabilt sätt. n8n är också smidigare när du vill köra egen drift och göra många körningar utan att kostnaderna smyger upp varje gång du lägger till en gren. Zapier eller Make kan ändå fungera om du bara vill ha “bokning → mejlsammanfattning” utan scraping, utan CRM-uppdateringar och utan riktig logik. Ärligt talat: så fort du bryr dig om datakvalitet och repeterbarhet brukar n8n vinna. Om du vill ha en second opinion för din setup, prata med en automationsexpert.

Du dyker upp förberedd, varje gång, utan att lägga tid på onödigt pill. Sätt upp det en gång och låt sedan flödet sköta research och anteckningar medan du fokuserar på samtalet.

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