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

TimeRex till Google Sheets, bokningsunderlag för Slack

Rickard Andersson Partner, Nodenordic.se

Bokningar trillar in, någon pingar teamet, någon annan uppdaterar ett kalkylark, och på något sätt blir den ”snabba” administrationen en daglig tidstjuv. Sedan kommer en avbokning, arket förblir fel, och du kliver in i ett möte utan sammanhang.

Det här är den typ av röra som säljansvariga känner av under intensiva veckor, och som driftchefer får städa upp. Kundnära konsulter drabbas oftast hårdast. Med den här TimeRex-bokningsautomationen hamnar bokningar automatiskt i Google Sheets och ditt team får en Slack-klar brief före samtalet.

Nedan ser du hur arbetsflödet hanterar bekräftade möten, flaggar misstänkta webhook-anrop och städar upp avbokningar så att din uppföljning förblir tillförlitlig.

Så här fungerar automatiseringen

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

n8n Workflow Template: TimeRex till Google Sheets, bokningsunderlag för Slack

Problemet: bokningsdetaljerna kommer in, men förberedelsen gör det inte

TimeRex kan boka mötet, absolut. Problemet är allt som händer efteråt. Någon behöver logga detaljerna, avgöra om det är försäljning eller support, kanske gissa bolaget utifrån en e-postadress, och sedan skriva en förberedelsenotis som inte låter som ”kolla LinkedIn”. Multiplicera det med några bokningar per dag så får du ett lågintensivt admin-löpband. Och avbokningar är den tysta mördaren. Om du inte tar bort dem från ditt spårningsark ser din pipeline bättre ut än verkligheten och teamet förbereder fortfarande möten som aldrig blir av.

Det går snabbt att summera. Här är var det vanligtvis faller isär i verkligheten.

  • Du kopierar bokningsdetaljer till ett ark, och ett enda missat fält gör rapporteringen opålitlig senare.
  • Mötesförberedelser blir inkonsekventa eftersom alla skriver briefar på olika sätt (eller inte alls).
  • Avbokningar städas inte bort, så teamet slösar tid på att förbereda spökmöten.
  • Webhook-säkerhet ignoreras tills något konstigt händer, och då får du panikspåra vad som gick fel.

Lösningen: TimeRex-bokningar berikas av AI, loggas och kommuniceras

Det här arbetsflödet lyssnar på TimeRex-webhooks i samma ögonblick som en bokning bekräftas eller avbokas. Först kontrollerar det en säkerhetstoken så att du inte blint litar på slumpmässiga förfrågningar. För bekräftade bokningar hämtar det en liten media-/källdirectory från Google Sheets (praktiskt när kalendernamn antyder var bokningen kom ifrån), och extraherar sedan ett troligt företagsnamn från gästens e-postdomän. Sedan kommer det hjälpsamma: ett AI-steg kategoriserar bokningen (Sälj, Support, Intervju, Partnerskap, Media) och skapar en kort, konkret mötesbrief som mötesvärden faktiskt kan använda. Till sist lägger den till den berikade posten i Google Sheets och skickar ett formaterat Slack-meddelande så att teamet är redo utan att jaga detaljer.

Om webhooken istället är en avbokning letar arbetsflödet upp bokningen via Event ID, tar bort motsvarande rad i Google Sheets och postar en avbokningsnotis i Slack. Korrekt spårning. Ingen förvirring.

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

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

Säg att du får 4 TimeRex-bokningar per dag. Manuellt kanske du lägger 5 minuter på att logga detaljer i Google Sheets och sedan ytterligare 5 minuter på att skriva ett Slack-meddelande och en snabb brief, vilket är cirka 40 minuter per dag. Lägg till en avbokning och du bränner ytterligare 10 minuter på att hitta och rätta arket. Med det här arbetsflödet är ditt ”arbete” i princip noll: webhooken triggar direkt, AI-briefen genereras i bakgrunden och Slack + Sheets uppdateras automatiskt. Du får tillbaka ungefär en timme på intensiva dagar, och arket speglar verkligheten.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • TimeRex som skickar webhooks för bokning och avbokning.
  • Google Sheets för att lagra berikade bokningsposter.
  • Slack för teamlarm och bokningsbriefar.
  • Google Gemini API-nyckel (hämta den från Google AI Studio / Google Cloud).

Kunskapsnivå: Medel. Du klistrar in en webhook-URL i TimeRex, kopplar konton i n8n och matchar kolumner i Google Sheets noggrant.

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

Så fungerar det

TimeRex skickar en boknings-webhook. Ett bekräftat eller avbokat möte träffar din n8n-webhook-endpoint samma sekund som det händer, så att du inte är beroende av att någon kommer ihåg att ”logga det senare”.

Arbetsflödet verifierar förfrågan. Det kontrollerar först en delad säkerhetstoken. Om token är fel postar n8n en säkerhetsnotis i Slack så att du ser att något är fel, istället för att tyst acceptera dåliga data.

Bekräftade bokningar berikas. n8n routar händelsen, kontrollerar valfritt ett ”media directory”-ark för att härleda bokningskälla från kalendernamnet, tar fram företaget från e-postdomänen och ber sedan Gemini klassificera bokningstypen och skriva en praktisk mötesbrief.

Allt skrivs och kommuniceras. Den slutliga posten läggs till i Google Sheets, och Slack får ett tydligt ”ny bokning”-meddelande med kategori, företag och förberedelsenotiser. Om det är en avbokning hittar n8n raden med matchande Event ID, tar bort den och postar en avbokningsnotis så att ingen förbereder i onödan.

Du kan enkelt ändra bokningskategorierna så att de passar ditt team (till exempel lägga till ”Demo” eller ”Onboarding”) utifrån era behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: konfigurera webhook-triggern

Konfigurera den inkommande webhooken som tar emot bokningsdata och startar arbetsflödet.

  1. Lägg till och öppna Incoming Booking Webhook.
  2. Ställ in HTTP MethodPOST.
  3. Ställ in Path/timerex-booking.
  4. Kopiera den genererade webhook-URL:en och konfigurera den i ert bokningssystem.
  5. Skicka en test-payload för en bokning för att säkerställa att webhooken tar emot data.
⚠️ Vanlig fallgrop: Säkerställ att webhook-URL:en matchar er bokningstjänsts konfiguration exakt, inklusive sökvägen /timerex-booking.

Steg 2: lägg till säkerhet och routinglogik

Skydda arbetsflödet och routa bokningar baserat på kalender och händelsetyp.

  1. Öppna Validate Security Token och ställ in villkoret så att det jämför {{ $json.headers['x-timerex-authorization'] }} med er tokensträng (ersätt YOUR_TIMEREX_SECURITY_TOKEN).
  2. Bekräfta att den falska grenen går till Slack Security Notice för aviseringar om ogiltiga tokens.
  3. Öppna Calendar Type Gate och ställ in regeln så att den kontrollerar att {{ $json.body.calendar_name }} innehåller YOUR_CALENDAR_FILTER_KEYWORD.
  4. Öppna Event Type Router och verifiera två regler: {{ $json.body.webhook_type }} är lika med event_confirmed och är lika med event_cancelled.
⚠️ Vanlig fallgrop: Om värdet för säkerhetstoken eller kalenderfilter-nyckelordet inte uppdateras från platshållarna kommer alla förfrågningar att avvisas eller hoppas över.

Steg 3: anslut Google Sheets-datakällor

Konfigurera Google Sheets-noderna som läser och skriver bokningsdata.

  1. Öppna Retrieve Media Directory och ställ in DocumentYOUR_MEDIA_MASTER_SHEET_ID och SheetMedia Master (gid=0).
  2. Credential Required: Anslut era googleSheetsOAuth2Api-credentials i Retrieve Media Directory.
  3. Öppna Append Enriched Record och ställ in Operationappend, DocumentYOUR_BOOKINGS_SHEET_ID, och SheetBookings (gid=0).
  4. Credential Required: Anslut era googleSheetsOAuth2Api-credentials i Append Enriched Record.
  5. Öppna Lookup Booking by Event och ställ in DocumentYOUR_BOOKINGS_SHEET_ID och SheetBookings (gid=0).
  6. Ställ in filtret lookupValue{{ $node['Incoming Booking Webhook'].json.body.event.id }} och lookupColumnevent_id.
  7. Credential Required: Anslut era googleSheetsOAuth2Api-credentials i Lookup Booking by Event.
  8. Öppna Remove Cancelled Entry, ställ in Operationdelete, Start Index{{ $json.row_number }}, och Number To Delete1.
  9. Credential Required: Anslut era googleSheetsOAuth2Api-credentials i Remove Cancelled Entry.

Steg 4: konfigurera dataanrikning och AI-klassificering

Extrahera detaljer, klassificera bokningar med AI och skapa en mötesbrief.

  1. Verifiera att Identify Media Origin använder medialistan från Retrieve Media Directory och matchar mot Incoming Booking Webhook’s calendar_name.
  2. Kontrollera Derive Company from Email för att säkerställa att den parsar guest_email och guest_name från webhook-formuläret och outputtar company_name, media_source och event_id.
  3. Öppna AI Booking Classifier och bekräfta att prompttexten inkluderar {{ $json.guest_name }}, {{ $json.company_name }}, {{ $json.email_domain }} och {{ $json.calendar_name }}.
  4. Öppna AI Meeting Brief Builder och bekräfta att prompten använder {{ $('Derive Company from Email').item.json.guest_name }}, {{ $('AI Booking Classifier').item.json.text }} och {{ $('Derive Company from Email').item.json.booking_date }}.
  5. Verifiera att Combine AI Outputs slår ihop AI-svaren och lägger till created_at med new Date().toISOString().
  6. Säkerställ att Gemini Chat Categorizer är ansluten som språkmodell för AI Booking Classifier; lägg till credentials i Gemini Chat Categorizer, inte i klassificerarnoden.
  7. Säkerställ att Gemini Chat Briefing är ansluten som språkmodell för AI Meeting Brief Builder; lägg till credentials i Gemini Chat Briefing, inte i brief builder-noden.
Credential Required: Anslut era Google Gemini (lmChatGoogleGemini)-credentials i Gemini Chat Categorizer och Gemini Chat Briefing så att AI-noderna kan köras.

Steg 5: konfigurera Slack-notiser

Skicka aviseringar för säkerhetsproblem, nya bokningar och avbokningar.

  1. Öppna Slack Security Notice och behåll Text inställd på uttrycket som inkluderar {{ $now.format('yyyy-MM-dd HH:mm:ss') }}.
  2. Credential Required: Anslut era Slack OAuth2-credentials i Slack Security Notice.
  3. Öppna Slack New Booking Notice och bekräfta att meddelandet använder {{ $json.guest_name }}, {{ $json.booking_category }} och {{ $json.ai_meeting_brief }}.
  4. Credential Required: Anslut era Slack OAuth2-credentials i Slack New Booking Notice.
  5. Öppna Slack Cancellation Notice och verifiera att den hämtar fält från Incoming Booking Webhook med uttryck som {{ $('Incoming Booking Webhook').item.json.body.event.id }}.
  6. Credential Required: Anslut era Slack OAuth2-credentials i Slack Cancellation Notice.

Steg 6: verifiera körflöde och förgrening

Bekräfta att noderna är kopplade i avsedd ordning för bekräftelser och avbokningar.

  1. Säkerställ att Incoming Booking Webhook går vidare till Validate Security Token.
  2. Bekräfta att den giltiga vägen går från Validate Security TokenCalendar Type GateEvent Type Router.
  3. Verifiera att bekräftelseflödet kör Event Type RouterRetrieve Media DirectoryIdentify Media OriginDerive Company from EmailAI Booking ClassifierAI Meeting Brief BuilderCombine AI OutputsAppend Enriched RecordSlack New Booking Notice.
  4. Verifiera att avbokningsflödet kör Event Type RouterLookup Booking by EventRemove Cancelled EntrySlack Cancellation Notice.

Steg 7: testa och aktivera

Validera arbetsflödet med en riktig boknings-payload och aktivera det för produktionsanvändning.

  1. Klicka på Execute Workflow och skicka en test-payload till Incoming Booking Webhook.
  2. Bekräfta att lyckade körningar lägger till en rad i arket Bookings och postar ett meddelande via Slack New Booking Notice.
  3. Skicka en avboknings-payload för att verifiera att Lookup Booking by Event och Remove Cancelled Entry tar bort rätt rad och triggar Slack Cancellation Notice.
  4. När testerna är godkända, växla arbetsflödet till Active för att aktivera körning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Behörigheter i Google Sheets kan blockera tillägg eller borttag. Om rader inte uppdateras, kontrollera åtkomst för det anslutna Google-kontot och Sheet ID som används i Sheets-noderna.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstider. Öka väntetiden om nedströms noder fallerar på tomma svar.
  • Gemini-promptar börjar generiskt, vilket gör att ”briefen” kan kännas fluffig. Lägg in er tonalitet och en tajtare struktur tidigt (vad som ska verifieras, vad som ska frågas, vad som ska undvikas) annars kommer du att redigera utdata för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här TimeRex-bokningsautomationen?

Cirka 30–60 minuter om dina TimeRex-, Google- och Slack-konton är redo.

Behöver jag kunna koda för att automatisera TimeRex-bokningsautomation?

Nej. Du kopplar konton, klistrar in webhook + säkerhetstoken och matchar kolumnerna i Google Sheets.

Är n8n gratis att använda för det här arbetsflödet för TimeRex-bokningsautomation?

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 användning av Google Gemini API, vilket oftast är litet per bokning men beror på promptstorlek och volym.

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 egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här arbetsflödet för TimeRex-bokningsautomation för olika bokningskategorier?

Ja, och det bör du förmodligen. Uppdatera prompten i ”AI Booking Classifier” så att den använder dina kategorier (som Demo, Förnyelse, Onboarding) och justera logiken i ”Calendar Type Gate” och ”Event Type Router” om du använder flera kalendrar. Du kan också ändra vilka kolumner i arket som steget ”Append Enriched Record” skriver till, så att resultatet matchar hur du rapporterar. Om du vill byta till en annan AI-modell senare byter du ut Gemini-chatnoderna och behåller resten av flödet som det är.

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

Oftast beror det på att kontrollen av säkerhetstoken misslyckas. Bekräfta att token i TimeRex matchar det du lagt in i steget ”Validate Security Token”, och säkerställ att TimeRex pekar på rätt URL för ”Incoming Booking Webhook”. Om du ser bokningar men inga uppdateringar i arket är det troligare att det handlar om behörigheter i Google Sheets eller ett Sheet ID som inte matchar.

Hur många bokningar kan den här TimeRex-bokningsautomationen hantera?

På n8n Cloud beror det på din månatliga exekveringsgräns, men de flesta små team klarar dagliga bokningar utan problem på Starter. Om du kör egen hosting finns ingen fast exekveringsgräns, och den verkliga begränsningen blir din server och hur snabbt dina AI-anrop svarar. I praktiken klarar den här typen av flöde utan problem dussintals bokningar per dag i de flesta miljöer.

Är den här TimeRex-bokningsautomationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här flödet behöver förgreningar (bekräftad vs avbokad), uppslag och borttag i Google Sheets samt säkerhetshantering, vilket är där enklare builders börjar bli klumpiga eller dyra. n8n ger dig också mer kontroll över exakt Slack-meddelande och vad som lagras, och egen hosting kan vara avgörande om volymen växer. Nackdelen är uppsättningen: du lägger lite mer tid på att få det rätt första gången. Om du bara behöver ”skicka ett Slack-meddelande när en bokning sker” kan Zapier eller Make gå snabbare. Prata med en automationsexpert om du är osäker.

När detta är live försvinner bokningsadministrationen till stor del. Teamet får kontexten de behöver, ditt Google-ark förblir strukturerat och avbokningar slutar förorena dina siffror.

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