Du planerar en felfri vecka. Sedan upptäcker någon en helgdag i en region och allt måste planeras om. Igen.
Det här är den typen av röra som drabbar projektledare först, men ops-ansvariga och kundnära team känner av det snabbt också. En robust automationslösning för en helgdagsöversikt för möten tar bort pingpongen och ger dig alternativ innan veckan ens börjar.
Det här flödet kontrollerar nästa veckas Google Calendar-möten mot helgdagar (för de länder du väljer) och postar en enda Slack-sammanfattning med krockar plus föreslagna nya datum. Du får veta vad det automatiserar, vad du behöver och hur du anpassar det till dina kalendrar.
Så fungerar den här automatiseringen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Google Calendar + Slack: undvik möteskrockar
flowchart LR
subgraph sg0["Daily Check Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Check", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Configuration", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Merge and Filter Next Week H.."]
n3@{ icon: "mdi:location-exit", form: "rounded", label: "Get Next Week Calendar Events", pos: "b", h: 48 }
n4["<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/>Detect Holiday Conflicts"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check If Conflicts Found", pos: "b", h: 48 }
n6["<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/>Generate Reschedule Suggesti.."]
n7["<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/>Format Slack Digest"]
n8["<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/slack.svg' width='40' height='40' /></div><br/>Post Slack Digest"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n10["<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/>Fetch Public Holidays"]
n0 --> n1
n9 --> n2
n9 --> n10
n7 --> n8
n10 --> n9
n1 --> n9
n1 --> n3
n5 --> n6
n4 --> n5
n6 --> n7
n2 --> 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 trigger
class n5 decision
class n10 api
class n2,n4,n6,n7 code
classDef customIcon fill:none,stroke:none
class n2,n4,n6,n7,n8,n10 customIcon
Varför det här spelar roll: helgdagskrockar skapar dold planeringsskuld
Helgdagskrockar ser inte ut som ett “stort problem” förrän du summerar dem. Ett flyttat möte kan trigga tre ytterligare ändringar, nya inbjudningar och folk som frågar: “Blir det här av?” Samtidigt jonglerar du tidszoner, tillgänglighet och den obekväma sanningen att en “vanlig arbetsdag” inte betyder samma sak i varje land. Det är inte bara admin. Det stjäl fokus och tar fart från projekt, förnyelser och leverans.
Friktionen byggs på. Här är var det oftast faller isär.
- Du upptäcker krockarna först efter att inbjudningarna skickats, vilket gör att ombokningar hamnar vid sämsta möjliga tidpunkt.
- Kontroll av helgdagar sker i någons huvud eller i en webbläsarflik, så det blir inkonsekvent och lätt att glömma.
- Team i flera regioner slösar en hel meddelandetråd på att enas om ett nytt datum som borde varit självklart.
- När kalenderägaren är borta känner ingen ansvar, och då slinker krockarna igenom.
Det du bygger: en veckovis helgdagsöversikt för krockar i Slack
Den här automatiseringen körs enligt schema (dagligen eller bara på måndagar) och tittar framåt på din kommande vecka av Google Calendar-händelser. I samma körning hämtar den offentliga helgdagar för de landskoder du väljer via ett helgdags-API (Nager.Date fungerar utan nyckel, och alternativ som Calendarific kan användas om du föredrar det). Därefter jämför den mötesdatum med helgdagarna och flaggar alla krockar. Om ett möte hamnar på en helgdag föreslår flödet alternativa datum genom att leta efter närmaste arbetsdag som inte är helg eller en annan helgdag. Till sist formateras allt till en tydlig Slack-översikt och postas i den kanal du anger, så att hela teamet ser krockar och alternativ i god tid.
Flödet startar med ditt konfigurerade “nästa vecka”-fönster och en lista över regioner att kontrollera. Det slår ihop helgdagar från dessa regioner, utvärderar varje kommande möte för krockar, genererar ombokningsförslag och skickar en enda Slack-sammanfattning. Ingen manuell scanning. Inga överraskande inställda möten.
Det du bygger
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du har 20 möten nästa vecka i tre regioner. Att manuellt kontrollera helgdagar är ofta en snabb “bara en minut”-uppgift som blir kanske 3 minuter per möte när du räknar in tidszoner, helgdagsuppslag och ombokningsmeddelanden, alltså runt en timme totalt. Med det här flödet lägger du cirka 10 minuter en gång på att ange landskoder och kalender, sedan går körningen automatiskt: den hämtar händelser, kontrollerar helgdagar och postar en Slack-översikt. Du väljer fortfarande slutligt datum, men letandet och gissandet försvinner.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Calendar för att läsa nästa veckas händelser
- Slack för att posta översikten i en kanal
- Åtkomst till helgdags-API (Nager.Date kräver ingen nyckel; Calendarific-nyckel från deras dashboard)
Kunskapsnivå: Nybörjare. Du kopplar konton, ändrar några värden och testar en schemalagd körning.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En schemalagd trigger körs på morgonen. Du bestämmer hur ofta (dagligen för kalendrar med hög volym, eller måndagar om du vill göra en veckovis planeringskoll). Tiden går att justera så att den matchar teamets rytm.
Din flödeskonfiguration sätter reglerna. På ett ställe definierar du vilka landskoder som ska kontrolleras, vilket Google Calendar-ID som ska skannas, din Slack-kanal samt start/slut för “nästa vecka”-fönstret.
Helgdagsdata och kalenderhändelser hämtas och jämförs. n8n hämtar helgdagar via HTTP Request, hämtar kommande möten från Google Calendar och konsoliderar därefter alla helgdagar till en lista innan den kontrollerar varje händelsedatum mot krockar.
En Slack-översikt skapas och postas. Om det finns krockar föreslår flödet alternativa datum (logik för närmaste arbetsdag), skriver ihop en lättläst sammanfattning och postar den i Slack så att du kan besluta och boka om snabbt.
Du kan enkelt ändra tidsfönstret till att skanna två veckor framåt utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera schematriggern
Ställ in det dagliga schemat som initierar skanningen efter helgdagskonflikter.
- Lägg till noden Scheduled Morning Trigger för att starta arbetsflödet.
- Ställ in triggerregeln så att den körs kl.
9med fältet triggerAtHour. - Koppla Scheduled Morning Trigger till Configure Workflow Values.
Steg 2: Anslut Google Kalender
Konfigurera åtkomst till er kalender så att arbetsflödet kan skanna kommande händelser.
- Öppna Retrieve Upcoming Calendar Events och ställ in Operation till
getAll. - Ställ in Time Min till
{{ $('Configure Workflow Values').first().json.nextWeekStart }}T00:00:00Zoch Time Max till{{ $('Configure Workflow Values').first().json.nextWeekEnd }}T23:59:59Z. - Ställ in Calendar till
{{ $('Configure Workflow Values').first().json.calendarId }}. - Credential Required: Anslut era Google Calendar OAuth2-inloggningsuppgifter.
- Bekräfta att Configure Workflow Values skickar output till både Iterate Country Codes och Retrieve Upcoming Calendar Events parallellt.
[YOUR_EMAIL] i Configure Workflow Values med ett giltigt kalender-ID.Steg 3: Konfigurera dataförberedelse och hämtning av helgdagar
Definiera centrala variabler i arbetsflödet och hämta allmänna helgdagar för flera länder.
- I Configure Workflow Values, ställ in currentYear till
{{ new Date().getFullYear() }}. - Ställ in nextWeekStart till
{{ new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString().split('T')[0] }}och nextWeekEnd till{{ new Date(Date.now() + 14 * 24 * 60 * 60 * 1000).toISOString().split('T')[0] }}. - Ställ in countryCodes till
["US", "GB", "DE", "IN", "CN", "KR", "HK"]. - Konfigurera Iterate Country Codes så att den loopar igenom arrayen med landskoder.
- I Request Public Holidays, ställ in URL till
https://date.nager.at/api/v3/PublicHolidays/{{ $('Configure Workflow Values').first().json.currentYear }}/{{ $json.countryCodes }}.
Steg 4: Konfigurera konsolidering av helgdagar och konfliktdetektering
Slå ihop helgdagsresultat, jämför med kalenderhändelser och kontrollera konflikter.
- Säkerställ att Iterate Country Codes skickar output till Consolidate Upcoming Holidays efter att alla API-anrop är klara.
- Verifiera att Consolidate Upcoming Holidays refererar till Configure Workflow Values för datumfiltrering.
- Koppla Consolidate Upcoming Holidays till Identify Holiday Clashes och låt kalenderhändelser ansluta som en andra input.
- I Conflict Presence Check, behåll villkoret
{{ $('Identify Holiday Clashes').item.json.conflicts }}med array-operatorn notEmpty.
Steg 5: Konfigurera konfliktlösning och skapande av Slack-meddelande
Generera alternativa datum och bygg sammanfattningstexten som ska skickas till Slack.
- Koppla true-utgången från Conflict Presence Check till Propose New Dates.
- Säkerställ att Propose New Dates refererar till Consolidate Upcoming Holidays för helgdagsdatum.
- Koppla Propose New Dates till Compose Slack Summary för att formatera meddelandet.
Steg 6: Konfigurera Slack-output
Skicka den formaterade sammanfattningen till en Slack-kanal.
- I Send Slack Summary, ställ in Text till
{{ $json.slackMessage }}. - Ställ in Channel ID till
{{ $('Configure Workflow Values').first().json.slackChannel }}. - Credential Required: Anslut era Slack OAuth2-inloggningsuppgifter.
[YOUR_ID] i Configure Workflow Values med ert faktiska Slack-kanal-ID.Steg 7: Testa och aktivera ert arbetsflöde
Validera hela flödet från schema till Slack och aktivera det sedan för daglig användning.
- Klicka på Execute Workflow för att köra ett manuellt test.
- Bekräfta att Consolidate Upcoming Holidays returnerar en
holidays-array och att Identify Holiday Clashes returnerartotalConflicts. - Verifiera att Send Slack Summary postar ett meddelande till den valda Slack-kanalen.
- När testet ser korrekt ut, slå på arbetsflödet Active för att aktivera den schemalagda körningen.
Felsökningstips
- Behörigheter i Google Calendar är den vanligaste orsaken. Om möten inte dyker upp, kontrollera den anslutna Google-kontot i n8n:s Credentials igen och bekräfta att det har åtkomst till exakt det calendarId du konfigurerade.
- Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Slack-postning kan misslyckas utan att du märker det när appen inte är tillåten i målkanalen. Verifiera scope:arna för Slack-credentials och bekräfta att appen är inbjuden till den slackChannel du valt.
Snabba svar
Cirka 30 minuter om din åtkomst till Google Calendar och Slack redan är klar.
Nej. Du kopplar konton och redigerar några konfigurationsfält i n8n.
Ja. n8n har ett gratis alternativ för egen hosting 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 helgdags-API om du väljer en betalleverantör (Nager.Date är gratis; Calendarific kräver en API-nyckel och kan ha en betald nivå).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, och det vill du förmodligen. De flesta börjar med att redigera noden “Configure Workflow Values” (countryCodes, calendarId, slackChannel, nextWeekStart, nextWeekEnd). Du kan också byta HTTP-anropet “Request Public Holidays” till en annan leverantör, eller slå ihop flera helgdagskällor innan krockkontrollen. Om du vill ha andra ombokningsregler (hoppa över fredagar, undvik första dagen tillbaka efter en helgdag) justerar du logiken i “Propose New Dates”.
Oftast är det fel Google-konto eller saknad åtkomst till det specifika calendarId. Anslut Google Calendar-credentials igen i n8n och bekräfta att kalendern är delad med det kontot. Om det fortfarande fallerar, kontrollera att tidsfönstret du konfigurerat faktiskt innehåller händelser, eftersom ett tomt resultat kan se ut som “det är trasigt” när det bara inte returnerar något.
För de flesta små team är hundratals händelser per vecka inga problem.
Det beror på hur noga du är med logiken. Helgdagsdetektering låter enkelt, men delen “föreslå ett giltigt nytt datum” är där enkla verktyg snabbt blir frustrerande. n8n hanterar förgreningar, sammanslagning av helgdagslistor från flera länder och egna datumregler i ett och samma flöde utan att tvinga dig till ett dussin separata zaps. Zapier eller Make kan fortfarande fungera om du bara behöver en enkel varning som säger “den här dagen är en helgdag” och inte bryr dig om förslag. Om du är osäker, prata med en automationsexpert så mappar vi det mot din kalenderuppsättning.
När detta väl rullar slutar helgdagskrockar att vara en överraskning och blir istället ett enkelt val med några bra alternativ. Flödet sköter den repetitiva kontrollen så att du kan gå tillbaka till det faktiska arbetet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.