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

Google Calendar till Slack: smartare mötesluckor

Rickard Andersson Partner, Nodenordic.se

Du ser ett ”fritt” 40-minutersglapp, tar en kaffe och plötsligt småspringer du till nästa möte. Igen. Det är inte din kalender som är problemet. Det är det saknade besluts-lagret mellan ”jag har tid” och ”jag måste gå nu”.

Calendar Slack alerts slår hårdast när din dag är uppdelad i tajta block. En marknadschef som hoppar mellan standups känner av det. En grundare som kör säljsamtal känner det också. Till och med en student som rör sig mellan campusbyggnader blir bränd av restiden.

Det här arbetsflödet kontrollerar din nästa Google Calendar-händelse, beräknar faktisk restid och skickar sedan antingen en smart kaférekommendation eller en ”gå nu”-alert i Slack. Du får se vad det gör, vad du behöver och var det sparar dig timmar av mental ansträngning varje vecka.

Så fungerar den här automatiseringen

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

n8n Workflow Template: Google Calendar till Slack: smartare mötesluckor

Problemet: ”Fritid” som egentligen inte är fri

Kalendrar är optimistiska. De visar att ett möte slutar 14:00 och ett annat börjar 14:30 och utgår tyst från teleportering, perfekta hissar och noll ”vänta, var är adressen?”-ögonblick. I verkligheten stjäl restid, passersystem, parkering och till och med att köpa kaffe luckan du trodde du hade. Så du slösar antingen bort tiden och gör ingenting (för att du inte litar på den) eller så använder du den och dyker upp stressad. Båda är frustrerande. Ärligt talat är det beslutströttheten som svider mest.

Friktionen byggs på under en hel vecka. Här är var det faller isär i praktiken.

  • Du gör mental huvudräkning för varje glapp, och det är förvånansvärt dränerande redan vid lunch.
  • Restiden gissas, så du går för sent och kommer fram uppjagad.
  • Dina ”go-to-ställen” finns inte nedskrivna någonstans, vilket gör att du väljer det som ligger närmast (inte det som faktiskt funkar).
  • När glappen är korta blir du ändå sugen på att klämma in något och betalar med en sen ankomst.

Lösningen: Google Calendar → restidslogik → beslut i Slack

Det här n8n-arbetsflödet körs enligt schema och kollar din Google Calendar efter nästa kommande händelse. Det hämtar destinationen från händelsen och frågar sedan Google Maps efter restiden med kollektivtrafik från din nuvarande plats till mötesplatsen. Därefter räknar det ut ditt verkliga ”användbara glapp” genom att dra av restiden (och en liten buffert) från tiden tills mötet börjar. Om glappet är tillräckligt stort laddar det dina kafépreferenser från Google Sheets, söker efter närliggande kaféer via Google Places och använder en AI-agent för att rekommendera bästa alternativet för din situation. Om glappet är för tajt hoppar det över kaféletandet och skickar en direkt Slack-alert som säger att det är dags att gå.

Arbetsflödet börjar med en schemalagd kontroll av din nästa kalenderhändelse. Sedan beräknar det ett realistiskt fönster med hjälp av Maps-data. Till sist får Slack antingen ett kaféförslag med en Maps-länk eller ett brådskande ”gå nu”-meddelande med viktiga mötesdetaljer.

Det du får: automatisering vs. resultat

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

Säg att du har 6 möten på en dag, vilket skapar ungefär 5 glapp. Manuellt lägger du kanske 3 minuter per glapp på att kolla nästa plats, uppskatta restid och avgöra om ett kafé är ”säkert” att hinna med — alltså cirka 15 minuter mikrobeslut per dag. Med det här arbetsflödet körs kontrollen automatiskt och Slack levererar en tydlig rekommendation eller en ”gå nu”-alert på under en minut av din tid. På en vecka är det ungefär en timme tillbaka, plus färre stressiga ankomster.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Calendar för att läsa dina kommande händelser
  • Google Sheets för att lagra kafépreferenser
  • Google Maps + Places API-nycklar (hämta dem i Google Cloud Console)
  • Slack för att ta emot rekommendationer och alerts
  • OpenRouter API-nyckel (hämta den i din OpenRouter-dashboard)

Svårighetsgrad: Medel. Du kopplar konton, klistrar in API-nycklar och justerar några variabler som plats och minsta antal minuter i glappet.

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

Så fungerar det

En schemalagd kontroll körs automatiskt. n8n startar med det intervall du väljer (till exempel vardagsmorgnar eller varje timme). När det väl är aktiverat är det helt hands-off.

Din nästa kalenderhändelse hämtas in. Arbetsflödet läser nästa post i Google Calendar från den kalender du väljer och plockar ut starttid och plats så att det finns något konkret att planera efter.

Restid gör ”kalenderglapp” till riktiga glapp. Google Maps frågas efter restid med kollektivtrafik från din nuvarande plats till mötesplatsen. En liten logikbit räknar ut hur mycket tid du faktiskt har innan du bör gå.

Slack får beslutet. Om glappet når din miniminivå (ofta 30 minuter) matas dina preferenser från Google Sheets och närliggande kafé-kandidater från Google Places in i en AI-agent, som postar en tydlig rekommendation med en Maps-länk. Om fönstret är för tajt får Slack i stället en brådskande ”gå nu”-alert.

Du kan enkelt ändra gränsen för minsta glapp för att matcha hur du pendlar och vad du behöver. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera schedule-triggern

Ställ in arbetsflödets schema så att automatiseringen kontrollerar er nästa händelse vid rätt tidpunkt varje dag.

  1. Välj Scheduled Launch och ställ in trigger-regeln att köra vid triggerAtHour: 12 (från den befintliga intervallinställningen).
  2. Bekräfta att Scheduled Launch är kopplad till Initialize Settings.

Steg 2: Anslut Google Calendar och platsinställningar

Definiera er nuvarande plats och API-nycklar, och hämta sedan nästa kalenderhändelse för att beräkna restid.

  1. Öppna Initialize Settings och ställ in currentLocation till era koordinater eller er adress, t.ex. 35.6812,139.7671.
  2. Ställ in googleMapsApiKey till [CONFIGURE_YOUR_API_KEY] och googlePlacesApiKey till [CONFIGURE_YOUR_API_KEY].
  3. Ställ in minimumGapMinutes till 30 (eller er föredragna minsta marginal).
  4. I Retrieve Upcoming Event ställer ni in Operation till getAll, Limit till 1 och Time Min till {{ $now.toISO() }}.
  5. Välj värdet för Calendar i Retrieve Upcoming Event (t.ex. [YOUR_EMAIL]).

Referens krävs: Anslut era Google Calendar-referenser i Retrieve Upcoming Event (den här noden kräver referenser men inga är konfigurerade).

Steg 3: Beräkna restid och tillgänglig tid

Använd Google Maps Distance Matrix för att uppskatta restid och beräkna sedan det faktiska tidsfönstret innan nästa händelse.

  1. I Fetch Transit Duration ställer ni in URL till =https://maps.googleapis.com/maps/api/distancematrix/json?origins={{ $('Initialize Settings').first().json.currentLocation }}&destinations={{ encodeURIComponent($json.location || $json.summary) }}&mode=transit&key={{ $('Initialize Settings').first().json.googleMapsApiKey }}.
  2. Bekräfta att Fetch Transit Duration har Response Format inställt på json.
  3. I Compute Free Window behåller ni den medföljande JavaScript-koden för att beräkna gapTimeMinutes, travelTimeMinutes och händelsedetaljer.
  4. I Evaluate Gap Threshold ställer ni in villkoret så att det jämför att {{ $json.gapTimeMinutes }} är större än eller lika med {{ $('Initialize Settings').first().json.minimumGapMinutes }}.

⚠️ Vanlig fallgrop: Om er händelse saknar plats kan Fetch Transit Duration returnera noll restid. Säkerställ att era kalenderhändelser innehåller en plats.

Steg 4: Anslut preferenser och upptäckt av närliggande caféer

Läs in användarpreferenser och hämta närliggande caféer när marginaltiden är tillräcklig.

  1. I Load Preference Sheet ställer ni in Document till [YOUR_ID] och Sheet Name till シート1.
  2. I Find Nearby Cafes ställer ni in URL till =https://maps.googleapis.com/maps/api/place/nearbysearch/json?location={{ $('Initialize Settings').first().json.currentLocation }}&radius=1000&type=cafe&key={{ $('Initialize Settings').first().json.googlePlacesApiKey }}.
  3. Bekräfta flödet: Evaluate Gap Threshold routar till Load Preference Sheet när villkoret uppfylls.

Referens krävs: Anslut era Google Sheets-referenser i Load Preference Sheet (den här noden kräver referenser men inga är konfigurerade).

Steg 5: Sätt upp AI-rekommendationsmotorn

Använd en LLM för att välja bästa café baserat på preferenser, tillgänglig tid och alternativ i närheten.

  1. I Cafe Recommendation Agent behåller ni Text-prompten som den är, inklusive uttrycken för marginaltid, preferenser och närliggande caféer.
  2. Säkerställ att OpenRouter Chat Engine är ansluten som språkmodell till Cafe Recommendation Agent.

Referens krävs: Anslut era OpenRouter-referenser i OpenRouter Chat Engine (referenser läggs till i den överordnade modellen, inte i agent-noden).

Steg 6: Konfigurera Slack-utdata och routing

Skicka antingen ett caféförslag eller en ”gå nu”-varning beroende på tröskelvärdet för marginalen.

  1. I Post Cafe Suggestion ställer ni in Text till den medföljande mallen (med uttryck för {{ $json.cafeName }}, {{ $json.rating }}, {{ $json.mapsUrl }} och tidsdetaljer).
  2. Ställ in Channel i Post Cafe Suggestion till [YOUR_ID].
  3. I Send Move Alert behåller ni varningsmallen som använder uttryck för {{ $('Compute Free Window').first().json.gapTimeMinutes }} och händelsedetaljer.
  4. Ställ in Channel i Send Move Alert till [YOUR_ID].
  5. Evaluate Gap Threshold skickar utdata till både Load Preference Sheet och Send Move Alert parallellt (true-gren till caféer, false-gren till flyttvarning).

Referens krävs: Anslut era slackOAuth2Api-referenser i Post Cafe Suggestion.

Referens krävs: Anslut era slackOAuth2Api-referenser i Send Move Alert.

Steg 7: Testa och aktivera ert arbetsflöde

Kör en manuell exekvering för att bekräfta att rätt Slack-meddelande publiceras och aktivera sedan schemat för produktion.

  1. Klicka på Execute Workflow för att testa hela körningen från Scheduled Launch.
  2. Om marginalen uppfyller tröskeln, verifiera att ett caféförslag publiceras av Post Cafe Suggestion; annars bekräfta att Send Move Alert publicerar varningen.
  3. Kontrollera utdata från Compute Free Window för rimliga gapTimeMinutes och travelTimeMinutes.
  4. Slå på arbetsflödet till Active så att Scheduled Launch körs automatiskt varje dag.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Calendar-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera skärmen Credentials i n8n och bekräfta att det anslutna Google-kontot fortfarande har åtkomst till den valda kalendern.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
  • Google Maps- eller Places API-nycklar kan fallera om fakturering är avstängd eller fel API:er är aktiverade. I Google Cloud Console: verifiera att Distance Matrix och Places (Nearby Search) är aktiva och kontrollera kvoter och fakturering först.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Calendar Slack alerts?

Cirka 30 minuter om dina API:er och konton är redo.

Behöver jag kodkunskaper för att automatisera val mellan mötesglapp?

Nej. Du kopplar främst konton och klistrar in API-nycklar. Logiken är redan inbyggd i arbetsflödet.

Är n8n gratis att använda för det här arbetsflödet för Calendar Slack alerts?

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 med användning av Google Maps/Places API samt kostnader för din OpenRouter-modell.

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

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 klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för Calendar Slack alerts för att gå till fots i stället för att köra bil?

Ja, men du ska ändra det i Maps-förfrågan, inte i Slack. Uppdatera rese-läget i HTTP-förfrågan ”Fetch Transit Duration” (anropet till Googles Distance Matrix API) så att arbetsflödet i stället beräknar gångtid, cykeltid eller kollektivtrafik. Vanliga anpassningar är att höja minsta glapp i minuter, ändra kaféradien i ”Find Nearby Cafes” och lägga till preferenser som ”tyst”, ”bra wi‑fi” eller ”eluttag” i ditt Google Sheet så att AI-agenten får bättre kontext.

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

Oftast beror det på att Google OAuth-åtkomsten har löpt ut eller att arbetsflödet pekar mot en kalender som ditt konto inte längre kan läsa. Anslut Google Calendar-credentialen på nytt i n8n och dubbelkolla sedan vald kalender i ”Retrieve Upcoming Event”. Om platsen för händelsen saknas eller är konstigt formaterad kan även Maps-uppslagningen misslyckas eftersom den inte har något användbart att rutta till.

Hur många kalenderkontroller klarar den här automatiseringen för Calendar Slack alerts?

En typisk setup kan köra var 15:e minut hela dagen utan problem, förutsatt att dina API-kvoter stödjer det.

Är den här automatiseringen för Calendar Slack alerts bättre än att använda Zapier eller Make?

Ofta, ja, eftersom flödet blandar API-anrop, logik och AI på ett ställe utan att bli en labyrint av betalda ”steg”. n8n gör det enklare att räkna ut glapptid, grena snyggt (kaféförslag vs. brådskande alert) och behålla läsbarheten över tid. Zapier eller Make kan fungera, men du kan behöva lägga på extra moduler bara för att göra restidsmatten och villkorsstyrd routing. Om du redan jobbar mycket i Slack och vill att det ska vara stabilt är n8n ett starkt val. Om du är osäker, prata med en automatiseringsexpert och rimlighetskontrollera din setup innan du investerar tid.

När det här väl rullar slutar din kalender vara ett ”best case scenario” och börjar fungera som en riktig plan. Arbetsflödet tar hand om de små besluten så att du faktiskt kan använda glappen.

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