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

Google Sheets + Slack: lagerlarm vid varje order

Rickard Andersson Partner, Nodenordic.se

Beställningar trillar in, och du upptäcker att ni är slut i lager på värsta möjliga sätt: efter att ni redan har lovat leverans. Då blir det panikjakt i kalkylark, DM:ar och “vem såg meddelandet?”-förvirring.

Den här lagerlarm-automationen träffar driftsansvariga först, men butiksägare och lagerledare känner av det också. I stället för att manuellt kontrollera Google Sheets och hoppas att någon pingar rätt person, får du en Slack-notis för varje order, plus en strukturerad logg du faktiskt kan lita på.

Nedan finns det exakta n8n-flödet som validerar inkommande ordrar, kontrollerar lagersaldo i Google Sheets, larmar i Slack och loggar vad som hände så att du kan skärpa upp fulfillment utan att lägga till fler möten.

Så här fungerar automatiseringen

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

n8n Workflow Template: Google Sheets + Slack: lagerlarm vid varje order

Problemet: lagerkontroller sker för sent

Manuella lagerkontroller fallerar inte för att folk är lata. De fallerar för att ordervolymen är ojämn, avbrotten är konstanta och “jag kollar om en minut” blir till 20 minuter. Under tiden har kunden redan fått en orderbekräftelse. Sedan sitter du fast med återbetalningar, stressade delleveranser eller att ta kostnaden för expresspåfyllnad. Och om teamet använder Slack för den dagliga koordineringen blir den värsta varianten när larmet hamnar i fel kanal, eller inte går iväg alls. Samma resultat: sen leverans, missnöjd kund, stökiga överlämningar.

Friktionen byggs på. Här är var det brister i verkligheten.

  • Någon måste kopiera SKU:er från ordern, slå upp varje SKU i ett ark och räkna ut mängderna.
  • Slut-i-lager upptäcks efter att ordern redan är “accepterad”, vilket gör att kundsupport får hantera konsekvenserna.
  • Slack-meddelanden är inkonsekventa, så lagret kan inte avgöra vilka ordrar som är säkra att plocka och vilka som måste stoppas.
  • Om det inte finns en pålitlig logg kan du inte se mönster, som att samma 5 SKU:er skapar problem varje vecka.

Lösningen: ordertriggade lagerkontroller med Slack-larm

Det här flödet gör lagerkontroll till något som sker automatiskt i exakt rätt ögonblick: när en order kommer in. En inkommande order träffar en n8n-webhook, som validerar payloaden så att du inte hanterar ofullständiga ordrar eller felaktig artikeldata. Därefter formaterar den ordern, plockar ut varje artikels SKU och antal, och hämtar senaste lagersaldon från Google Sheets. Efter det slår flödet ihop resultaten till en vy och kontrollerar tillgänglighet. Om allt finns i lager skickar det en “success”-notis i Slack och loggar detaljerna i ett Google Sheet. Om något saknas postar det ett bristlarm (till kanalen du väljer) och loggar avvikelsen så att den går att följa upp.

Flödet startar med en webhook-händelse för order. Sedan jämför det antal per artikel mot lagersaldon i Google Sheets och skickar ordern vidare via ett spår för godkänt eller brist. Till sist får Slack rätt meddelande och loggarket får hela spårbarheten.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du hanterar 20 ordrar per dag och att varje order har 3 artiklar. Om någon lägger ens 3 minuter per artikel på att kolla Google Sheets och göra snabb huvudräkning blir det ungefär 3 timmar per dag av “bara verifiera lagret”. Med det här flödet blir den manuella tiden i princip själva triggen (ordern kommer in) plus en kort väntan medan n8n hämtar rader från Google Sheets och postar i Slack. Du gör fortfarande fulfillment, såklart. Du slutar bara med den repetitiva kontrollen och pingandet.

Det du behöver

  • n8n-instans (prova n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra och hämta lagersaldon
  • Slack för att larma rätt kanal direkt
  • Webhook-källa (hämta den från din butiks-/appintegration)

Svårighetsgrad: Nybörjare. Du kopplar konton, klonar ett Google Sheet och justerar några villkor och kanalnamn.

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

Så fungerar det

En order träffar din webhook. n8n tar emot ordern från din webbplats, ditt formulär, din app eller vilket system som helst som kan skicka JSON till flödets URL.

Ordern struktureras och valideras. Flödet kontrollerar att payloaden innehåller det du behöver (order-id, kundfält, artiklar, antal) och förbereder sedan en konsekvent struktur så att resten av logiken inte skapar fel vid konstiga indata.

Lager hämtas från Google Sheets och jämförs. För varje SKU i ordern hämtar flödet lagersaldon från ditt ark, slår ihop resultaten och kör en tillgänglighetskontroll baserad på de tröskelvärden du har satt.

Slack och loggning sker automatiskt. Ordrar som finns i lager får ett lyckat-meddelande plus en loggrad för godkänt. Brister triggar ett larm till din “warehouse”-kanal (eller en annan kanal du väljer) och en loggrad för brist så att du kan följa återkommande problem.

Du kan enkelt modifiera Slack-routingen för att posta olika larm per produktkategori eller plats utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Sätt upp den inkommande webhooken som tar emot orderpayloads från ert e-handelssystem.

  1. Lägg till och öppna Incoming Order Hook.
  2. Ställ in Pathecom-order.
  3. Ställ in HTTP MethodPOST.
  4. Ställ in Response DataAll Entries och Response ModeLast Node.

Steg 2: Anslut Google Sheets för lager och loggning

Konfigurera uppslag i kalkylbladet för lagernivåer samt append till loggen för orderutfall.

  1. Öppna Retrieve Stock Levels och anslut arket som innehåller lager per SKU.
  2. Credential Required: Anslut era googleSheetsOAuth2Api-credentials.
  3. Ställ in Operationlookup, RangeInventories!A:B och Lookup Columnsku.
  4. Ställ in Lookup Value={{$json["sku"]}} och Sheet ID till ert kalkylblads-ID (ersätt [YOUR_ID]).
  5. Öppna Append Log Sheet och ställ in Operationappend med Range OrderLogs!A:E och ert Sheet ID.
  6. Credential Required: Anslut era googleSheetsOAuth2Api-credentials.
Tips: Säkerställ att ert lagerark har en kolumn sku i kolumn A och lagervärden i kolumn B för att matcha uppslagsintervallet Inventories!A:B.

Steg 3: Sätt upp funktioner för orderparsning och förberedelser

Dessa funktionsnoder validerar den inkommande payloaden och normaliserar orderdata för lagerkontroller och fakturering.

  1. Öppna Validate Order Payload och behåll valideringslogiken som kastar ett fel om id, customer eller items saknas.
  2. Öppna Prepare Order Details för att mappa kunddata, rader och totalsummor till en konsekvent struktur.
  3. Öppna Extract Item Quantities för att skapa per-rad-poster med sku och qty.
  4. Observera att Extract Item Quantities skickar output parallellt till både Retrieve Stock Levels och Combine Item Stock.
⚠️ Vanlig fallgrop: Säkerställ att den inkommande orderpayloaden innehåller en items-array med sku och quantity; annars kastar Validate Order Payload felet Invalid order payload.

Steg 4: Konfigurera sammanslagning av lager och logik för tillgänglighet

Kombinera beställda artiklar med lagernivåer och kontrollera om ordern kan levereras.

  1. I Combine Item Stock, ställ in Modecombine och Fields to Matchsku.
  2. I Stock Availability Check, ställ in det booleska villkoret så att det jämför kvantiteter och lager med ={{ $items().every(item => item.json.qty <= item.json.stock) }} mot ={{ true }}.
  3. Verifiera att Combine Item Stock går in i Stock Availability Check för slutlig routning.

Steg 5: Konfigurera aviseringar för lyckat flöde och brist

Skicka Slack-notiser baserat på om lagret är tillräckligt eller inte.

  1. Öppna Slack Success Alert och ställ in Text={{ '✅ Order ' + $json.orderId + 'Invoiced. \nInvoice: ' + $json.invoiceId + ', \nAmount: $' + $json.amount + ', \nCustomer: ' + $json.customer + ', \nDate: ' + $json.date}}.
  2. Ställ in Channel till ert Slack-kanal-ID (ersätt [YOUR_ID]), och använd Authentication oAuth2.
  3. Credential Required: Anslut era slackOAuth2Api-credentials.
  4. Öppna Slack Shortage Alert och ställ in Text={{'⚠️ Order '}} {{ $('Prepare Order Details').item.json.id }} {{'is not available for order due to lack of stock.'}} \n{{'\n SKU: '}} {{ $json.sku }}\n{{'\n Request quantity: '}} {{ $json.qty }}\n{{'\n Stock quantity: '}} {{ $json.stock }}.
  5. Ställ in Channel till ert Slack-kanal-ID (ersätt [YOUR_ID]) och säkerställ att Authentication är oAuth2.
  6. Credential Required: Anslut era slackOAuth2Api-credentials.

Steg 6: Bygg faktura- och loggposter

Skapa fakturadata för lyckade ordrar och logga utfall för både lyckat flöde och bristgrenen.

  1. Öppna Generate Invoice Record och behåll fakturakonstruktionen som använder fält från Prepare Order Details och Extract Item Quantities.
  2. Verifiera att Generate Invoice Record skickar output till Slack Success Alert.
  3. Öppna Build Success Log och bekräfta att den sätter status till Success.
  4. Öppna Build Shortage Log och bekräfta att den sätter status till Out of Stock.
  5. Säkerställ att både Build Success Log och Build Shortage Log är kopplade till Append Log Sheet.
Tips: Det här arbetsflödet har flera funktionsnoder (totalt 6). Om ni anpassar orderschemat, uppdatera Prepare Order Details först och justera sedan de nedströms funktionsnoderna som refererar till den.

Steg 7: Testa och aktivera ert arbetsflöde

Kör ett manuellt test med en exempelpayload för att bekräfta att lagerkontroller, aviseringar och loggning fungerar.

  1. Klicka på Execute Workflow och skicka en test-POST-begäran till URL:en för Incoming Order Hook med en giltig orderpayload.
  2. En lyckad körning ska: passera Validate Order Payload, fylla Prepare Order Details, och slutföra lageruppslag/sammanslagning före Stock Availability Check.
  3. Om lagret finns, verifiera ett meddelande i Slack Success Alert och en ny rad som läggs till av Append Log Sheet.
  4. Om lagret är otillräckligt, verifiera ett meddelande i Slack Shortage Alert och en loggrad från Build Shortage Log som läggs till i Append Log Sheet.
  5. När allt är verifierat, slå på arbetsflödet till Active för användning i produktion.
⚠️ Vanlig fallgrop: Det här arbetsflödet har ingen felhantering. Om er webhook skickar felaktiga payloads kommer körningar att misslyckas i Validate Order Payload utan alternativ loggning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera n8n-menyn Credentials och bekräfta att arket är delat med det anslutna Google-kontot.
  • Om din lageruppslagning kräver exakt SKU-matchning kommer små formateringsskillnader att skapa falska brister. Kontrollera extra mellanslag, olika versalisering eller SKU:er som är lagrade som tal i Google Sheets.
  • Slack-larm kan tyst hamna fel om kanalnamnet ändras. Kontrollera att kanalen (ofta “warehouse”) finns och matchar konfigurationen i Slack-noden innan du litar på den i produktion.

Vanliga frågor

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

Cirka 30 minuter om ditt Google Sheet och Slack är redo.

Behöver jag kodkunskaper för att automatisera lagerlarm?

Nej. Du klistrar in inloggningsuppgifter och justerar några villkor. Den “svåra delen” är helt enkelt att bestämma vad som räknas som en brist för din verksamhet.

Är n8n gratis att använda för det här flödet för lagerlarm-automation?

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å ta hänsyn till begränsningar i Google Workspace och Slack-planer om ditt konto är begränsat.

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

Kan jag anpassa det här flödet för lagerlarm-automation för olika Slack-kanaler per produktkategori?

Ja, och det är en av de bästa uppgraderingarna. Du kan routa meddelanden genom att lägga till ett villkor direkt efter Extract Item Quantities, och sedan skicka larm till olika Slack-noder (eller sätta kanal dynamiskt) innan flödet når Slack Success Alert eller Slack Shortage Alert. Vanliga anpassningar är separata kanaler för restorder vs. normal plock, olika tröskelvärden för snabbrörliga SKU:er och att tagga en specifik ansvarig för ordrar med högt värde.

Varför misslyckas min Slack-anslutning i det här flödet?

Oftast beror det på utgångna inloggningsuppgifter eller saknade workspace-behörigheter i din n8n Slack-credential. Kontrollera också kanalnamnet: om “warehouse” inte finns (eller har bytt namn) postar Slack inte där du förväntar dig. Om du skickar många larm samtidigt kan även rate limits dyka upp, vilket ser ut som slumpmässiga fel.

Hur många ordrar kan den här lagerlarm-automationen hantera?

Många. I n8n Cloud beror kapaciteten på din plans exekveringsgränser, och vid self-hosting beror det på din server. I praktiken är uppslag i Google Sheets den största flaskhalsen, men de flesta små team kan köra detta hela dagen utan att märka något.

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

Ofta, ja, eftersom det här flödet har förgreningslogik (godkänt vs. brist) plus dataformatering som är enklare att styra i n8n. Du får också möjligheten att self-hosta, vilket är viktigt när ordervolymen sticker iväg och per-task-prissättning blir irriterande, ärligt talat. Zapier eller Make kan fortfarande vara helt okej för en enkel “ny order → posta meddelande”-setup, men det här flödet gör validering, kontroller för flera artiklar och strukturerad loggning. Om du är osäker, prata med en automationsexpert så pekar vi dig mot det enklaste pålitliga alternativet.

När detta väl är igång slutar lagerkontroller vara en daglig brandkårsutryckning och blir en tyst bakgrundsprocess. Du får snabbare beslut, tydligare överlämningar i Slack och betydligt färre oväntade slut-i-lager.

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