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 + Slack: kvalificera demoleads snabbt

Rickard Andersson Partner, Nodenordic.se

Demoförfrågningar ska vara ett bra problem att ha. Sedan fylls inkorgen med ”studenter”, konkurrenter och personer som inte ens finns i din marknad, medan de riktiga köparna får vänta för länge.

Den här Cal.com Slack-automationen träffar säljleads och marketing ops först, men grundare känner av den också. Du får snabbare kvalificering, mer träffsäker routning och uppföljningar som inte låter som copy-paste-mallar.

Nedan ser du hur arbetsflödet hanterar intake, berikning, AI-kvalificering, bokningsverifiering i Cal.com samt överlämningen till Slack och din nurture-kampanj.

Så här fungerar den här automatiseringen

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

n8n Workflow Template: Cal.com + Slack: kvalificera demoleads snabbt

Problemet: demoförfrågningar staplas på hög, men fel personer får uppmärksamhet

Inkommande demoformulär ser enkla ut tills du lever med dem. Någon skickar in en förfrågan med en LinkedIn-URL, ett diffust ”use case” och en e-post som kan vara privat, kan vara företagsadress. Du kollar profilen, skummar företagets webbplats, avgör om de ligger i din målregion och försöker sedan lista ut om de faktiskt bokade en tid i Cal.com. Under tiden vinner den som svarar snabbast, vilket gör att du tvingas behandla varje lead som hett även när det uppenbart inte är det. Det är utmattande. Och ärligt talat: det är en tyst konverteringsdödare.

Det blir mycket snabbt. Här brukar friktionen dyka upp i riktiga team.

  • Du tappar 10–15 minuter per lead bara på att verifiera vem de är och vad de gör.
  • Lågkvalitativa källor smyger igenom, så sälj jagar leads som aldrig konverterar.
  • Bokade och obokade förfrågningar blandas ihop, vilket gör att uppföljningar hamnar fel i tiden och blir awkward.
  • ”Personlig outreach” blir en stressad brandkårsutryckning, så kvaliteten på budskapet sjunker precis när det spelar roll.

Lösningen: AI-kvalificera demoförfrågningar, verifiera bokningar och routa uppföljningar automatiskt

Det här n8n-arbetsflödet gör varje demoförfrågan till en strukturerad, kvalificerad post med rätt nästa åtgärd kopplad. Det startar i samma ögonblick som webbformuläret träffar en inkommande webhook och filtrerar sedan snabbt bort kända lågkvalitativa källor så att de inte stjäl uppmärksamhet. För leads som går igenom berikar flödet person- och företagsdata via Trigify API (baserat på LinkedIn-URL:en och andra formulärfält). Därefter granskar en AI-kvalificeringsagent den berikade kontexten och poängsätter leadet mot regler som annars brukar finnas i någons huvud: B2B-fit, målgeografier, senioritetssignaler och nuvarande anställning. Till sist kontrollerar den Cal.com för att se om leadet faktiskt bokade. Om inte genererar flödet research-baserad uppföljningscopy och lägger leadet i en Instantly.ai-kampanj, samtidigt som dina system hålls uppdaterade via HTTP-requests (till exempel Clay-tabeller) och interna flaggor.

Arbetsflödet börjar med en webhook-submission i realtid. Därefter berikar och kvalificerar det leadet med AI, så att du inte behöver gå på magkänsla. Efter en kort fördröjning verifierar det bokningsstatus i Cal.com och routar kvalificerade men obokade leads till en personlig uppföljningssekvens.

Vad du får: automation vs. resultat

Exempel: så här ser det ut

Säg att du får 20 demoförfrågningar i veckan. Manuellt är det lätt att lägga runt 10 minuter på att kolla LinkedIn, 5 minuter på att verifiera företaget och ytterligare 5 minuter på att bekräfta bokningsstatus i Cal.com, alltså ungefär 20 minuter per lead (cirka 6–7 timmar i veckan). Med det här flödet lägger du kanske 2 minuter på att skanna Slack-notisen och kliver bara in när leadet faktiskt är redo för sälj eller behöver mänsklig handpåläggning. Resten rullar i bakgrunden, inklusive berikning och en personlig uppföljning för kvalificerade personer som inte bokade.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Cal.com för att verifiera bokningsstatus via API.
  • Slack för direktaviseringar till din säljkanal.
  • Trigify API-nyckel (hämtas i din Trigify-dashboard).

Svårighetsnivå: medel. Du kopplar några API:er, mappar fält och justerar kvalificeringsreglerna så att de matchar din ICP.

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

Så fungerar det

En demoförfrågan träffar din webhook. Formulärinlämningen landar i n8n i realtid, inklusive e-post, LinkedIn-URL, use case och hänvisningskälla.

Lågkvalitativa källor stoppas. En ”If”-kontroll tittar på källan (till exempel ”lead_capture_box”) och routar uppenbart skräp bort från dyra steg som berikning och AI-analys.

Berikning + AI-kvalificering händer därefter. n8n anropar Trigify för att hämta rikare LinkedIn- och företagsdata, och sedan utvärderar en AI-agent fit (B2B-validering, geografi, senioritetssignaler och anställning). Resultatet parsas till strukturerade fält så att det faktiskt går att använda, inte bara blir en textklump.

Bokningsstatus i Cal.com verifieras efter en kort fördröjning. Flödet väntar, kontrollerar Cal.com API och grenar baserat på bokad vs. inte bokad. Kvalificerade men obokade leads får personlig uppföljningsresearch (inklusive webbresearch) och läggs till i Instantly.ai för nurturing, samtidigt som dina system uppdateras via HTTP-requests.

Du kan enkelt ändra kvalificeringskriterierna så att de matchar din ICP, eller ändra vart ”kvalificerade” leads skickas (Slack, Clay, Sheets, CRM) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera webhook-triggern

Börja med att sätta upp den inkommande webhooken så att webbplatsens insamlade data kan komma in i arbetsflödet och få ett svar.

  1. Lägg till noden Incoming Webhook Trigger och ställ in HTTP MethodPOST.
  2. Ställ in Path till [REDACTED_WEBHOOK_PATH] (ersätt med sökvägen till er skarpa endpoint).
  3. Ställ in Response ModeresponseNode så att arbetsflödet använder Return Webhook Reply för HTTP-svaret.
  4. Koppla Incoming Webhook Trigger till Source Gate Check för att börja routa efter att datan tagits emot.

⚠️ Vanlig fallgrop: Säkerställ att ert webbplatsformulär skickar JSON med body.source, body.email och body.linkedinUrl så att efterföljande uttryck tolkas korrekt.

Steg 2: koppla på Clay- och Trigify-berikning

Det här steget filtrerar inkommande trafik och skickar ej bokade leads till Clay, samtidigt som kvalificerade källor berikas via Trigify.

  1. I Source Gate Check ställer ni in villkoret Left Value till {{ $json.body.source }} och kontrollerar att det contains lead_capture_box.
  2. För “true”-grenen konfigurerar ni Send to Clay Unbooked med URL https://api.clay.com/v3/sources/webhook/pull-in-data-from-a-webhook-[REDACTED_CLAY_WEBHOOK_ID] och Method POST.
  3. I Send to Clay UnbookedBody Parameters ställer ni in: Data of Demo Booked till {{ $('Incoming Webhook Trigger').item.json.body.timestamp }}, Qualified till NOT BOOKED och Email till {{ $json.body.email }}.
  4. För “false”-grenen konfigurerar ni Fetch Trigify Enrichment med URL /v1/profile/track och ställer in query-parametern url till {{ $json.body.linkedinUrl }}.

⚠️ Vanlig fallgrop: Ersätt [REDACTED_CLAY_WEBHOOK_ID] med ert Clay webhook-ID och säkerställ att bas-URL:en för er Trigify-endpoint är satt på nodnivå eller i miljövariabler.

Steg 3: sätt upp AI-logik för kvalificering

Använd AI för att avgöra kvalificering, routa sedan leads till kvalificerade eller okvalificerade Clay-pipelines och returnera webhook-svaret.

  1. Konfigurera AI Qualification Logic med Text satt till =Analyse this person, ensure their current company the work for is a B2B company Based on this company descrption give me a True or false if this company is a B2B company - industry - {{ $json.position[0].companyIndustry }} company name - {{ $json.position[0].companyName }} company size - {{ $json.position[0].companyStaffCountRange }} I also only want to speak to countries that are in the US, UK, Europe or Australia Location - {{ $json.geo.country }} {{ $json.geo.countryCode }} Their job title needs to also be a senior job title so anything that countains, Head of, Director, VP, C-level. OR It contains the following keywords - Influencer, Strategy OR it contains GTM or Growth regardless of the seniorty wich is TRUE regardless of seniorty. Job title - {{ $json.position[0].title }} Employment Status - {{ $json.position[0].employmentType }} Start Date - {{ $json.position[0].start.year }} End Date - {{ $json.position[0].end.year }} IF all true mark as true is 1 thing is false mark as false. IF one of these is false and the rest are true mark as true. Unless the location contains India, Pakistan, Banglisdesh etc. If their job title contains Advisor, Contractor, Creator, Investor, Host etc (essentually any job title that suggests they could be wokring thier part time just their second job experience) industry - {{ $json.position[1].companyIndustry }} company name - {{ $json.position[1].companyName }} company size - {{ $json.position[1].companyStaffCountRange }} Start Date - {{ $json.position[1].start.year }} End Date - {{ $json.position[1].end.year }} {{ $json.position[1].end.month }} {{ $json.position[1].end.day }} If their end data in their second job has older than todays date you know they no longer work their..
  2. Koppla Anthropic Chat Engine som språkmodell för AI Qualification Logic.
    Credential Required: Anslut era anthropicApi-credentials.
  3. Koppla Parse AI Result som output parser för AI Qualification Logic och ställ in JSON Schema Example till { "result": true }. (Parsern är en sub-nod; behåll credentials på Anthropic Chat Engine.)
  4. I Qualification Branch ställer ni in villkoret så att Left Value {{ $json.output.result }} utvärderas med boolean-operationen true.
  5. Konfigurera Send to Clay Qualified och Send to Clay Unqualified med respektive Clay webhook-URL:er och body-parametrar som Email {{ $('Incoming Webhook Trigger').item.json.body.email }} och Company Name {{ $('Fetch Trigify Enrichment').item.json.position[0].companyName }}.
  6. Sätt flaggor med Set Qualified Flag (output = true) och Set Unqualified Flag (output = false), och koppla sedan Set Qualified Flag till Return Webhook Reply.

Tips: Ha Return Webhook Reply direkt efter Set Qualified Flag för att svara snabbt på webhooken medan uppföljande uppgifter fortsätter senare.

Steg 4: konfigurera bokningskontroll och fördröjning

Efter att ha svarat på webhooken väntar arbetsflödet, kontrollerar om det finns en bokning i Cal.com och triggar först därefter AI-uppföljningen.

  1. I Delay Timer ställer ni in Unit till minutes och anger er väntetid.
  2. Konfigurera Check Cal Booking med URL https://api.cal.com/v2/bookings och query-parametern attendeeEmail satt till {{ $('Incoming Webhook Trigger').item.json.body.email }}.
  3. I Check Cal BookingHeader Parameters ställer ni in Authorization till Bearer [CONFIGURE_YOUR_API_KEY] och cal-api-version till 2024-08-13.
  4. I Booking Status Check ställer ni in villkoret så att Left Value {{ $json.data[0].start }} är notEmpty.

⚠️ Vanlig fallgrop: Ersätt [CONFIGURE_YOUR_API_KEY] med er Cal.com API-nyckel, annars kommer bokningskontrollen alltid misslyckas.

Steg 5: konfigurera AI-uppföljning och leverans till Instantly

Om ingen bokning hittas skapas en AI-genererad uppföljningsmening med webbresearch och leadet läggs till i Instantly.

  1. Konfigurera AI Followup Composer med Text satt till Run task. och System Message satt till den angivna prompten som börjar med =Prospect Follow-Up Email Generator och slutar med Now, please research the prospect's company and provide your improved sentence..
  2. Koppla Anthropic Chat Engine 2 som språkmodell för AI Followup Composer.
    Credential Required: Anslut era anthropicApi-credentials.
  3. Koppla Parse Followup Output som output parser och ställ in JSON Schema Example till { "Sentence": "I'd love to show you exactly how you can leverage our Social Intelligence tool to help you research emerging telecom trends and customer sentiment patterns, giving HLR Lookup a competitive edge in identifying new market opportunities before other mobile validation providers even know they exist." }. (Parsern är en sub-nod; behåll credentials på Anthropic Chat Engine 2.)
  4. Konfigurera Web Research Tool med URL https://api.openai.com/v1/responses, Method POST och JSON Body { "model": "gpt-4o", "tools": [{"type": "web_search_preview"}], "input": "{placeholder}" }. Lägg till headern Authorization Bearer [CONFIGURE_YOUR_API_KEY]. Det här verktyget är kopplat till AI Followup Composer, så hantera modell-credentials på föräldranoden.
  5. Konfigurera Add Lead to Instantly med URL https://api.instantly.ai/api/v2/leads och sätt JSON Body till { "campaign": "[YOUR_ID]", "email": "{{ $('Incoming Webhook Trigger').item.json.body.email }}", "first_name": "{{ $node['Fetch Trigify Enrichment'].json.firstName }}", "last_name": "{{ $node['Fetch Trigify Enrichment'].json.lastName }}", "company_name": "{{ $node['Fetch Trigify Enrichment'].json.position[0].companyName }}", "custom_variables": { "research": "{{ $json.output.Sentence }}" } }.
  6. I Add Lead to InstantlyHeader Parameters ställer ni in Authorization till Bearer [CONFIGURE_YOUR_API_KEY] och Content-Type till application/json.

⚠️ Vanlig fallgrop: Ersätt [YOUR_ID] och [CONFIGURE_YOUR_API_KEY] med skarpa Instantly-uppgifter, annars kommer skapandet av leads misslyckas.

Steg 6: testa och aktivera ert arbetsflöde

Verifiera att data flödar genom kvalificering, bokningskontroller och leverans av uppföljning innan ni aktiverar arbetsflödet i produktion.

  1. Klicka på Execute Workflow och skicka en test-POST-förfrågan till Incoming Webhook Trigger-URL:en med exempel på body.source, body.email och body.linkedinUrl.
  2. Bekräfta att Source Gate Check routar korrekt till Send to Clay Unbooked eller Fetch Trigify Enrichment.
  3. Verifiera att Qualification Branch routar till Send to Clay Qualified eller Send to Clay Unqualified, och att Return Webhook Reply returnerar ett svar.
  4. Efter fördröjningen validerar ni beteendet för Check Cal Booking och Booking Status Check, och säkerställer att Add Lead to Instantly tar emot den AI-genererade Sentence.
  5. När testkörningen är lyckad växlar ni arbetsflödet till Active för att aktivera produktionstrafik.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Cal.com-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först din Cal.com API-token och endpoint-svaret i n8n:s körningsloggar.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

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

Räkna med ungefär en timme om dina API-nycklar och formulärfält är redo.

Behöver jag kunna koda för att automatisera kvalificering av demoleads?

Nej. Du kopplar mest konton, klistrar in API-nycklar och mappar ett fåtal fält i n8n.

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

Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för AI och berikning (Trigify och Anthropic/OpenAI), vilket vanligtvis landar på några dollar i månaden vid låg volym.

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

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

Kan jag anpassa det här Cal.com Slack-automationsflödet för andra kvalificeringsregler?

Ja, och det bör du. Den snabbaste vinsten är att justera prompten i AI qualification logic och ”If”-reglerna i qualification branch så att de matchar din ICP. Många team justerar också geofilter (USA/UK/Europa/Australien), ändrar vad som räknas som ”seniora” titlar och lägger till en hård regel för typ av e-postdomän (privat vs. företag).

Varför fungerar inte min Cal.com-anslutning i det här flödet?

Oftast beror det på en utgången eller felaktig Cal.com API-token. Kontrollera HTTP request-noden som anropar Cal.com och titta sedan på senaste körningens output i n8n för statuskod och felmeddelande. Om tokenen är okej kan det också vara endpoint-sökvägen (vissa Cal.com-uppsättningar varierar) eller en saknad behörighet för den bokningsresurs du försöker läsa.

Hur många demoförfrågningar klarar den här Cal.com Slack-automationen?

I en typisk liten setup är hundratals per månad realistiskt, och self-hosting tar bort exekveringsbegränsningar helt.

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

Ofta, ja, eftersom det här flödet kräver grenlogik, fördröjda kontroller, strukturerade AI-outputs och flera HTTP-anrop som kan bli dyra eller klumpiga i andra verktyg. n8n hanterar den typen av ”funnel-logik” utan att göra varje villkor till ett betalt tillägg. Zapier eller Make kan fortfarande vara bra om du bara vill ha en enkel Slack-ping när ett formulär skickas in: ingen berikning, ingen kvalificering, ingen bokningsverifiering. När du bryr dig om fit, timing och konsekventa uppföljningar vill du ha den extra kontrollen. Om du tvekar, prata med en automationsexpert så kvalitetssäkrar vi ditt use case.

När det här väl rullar slutar demoförfrågningar vara en daglig brandövning. Arbetsflödet tar hand om den repetitiva sorteringen och uppföljningsupplägget så att teamet kan fokusera på samtalen som faktiskt konverterar.

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