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

LINE + Google Sheets: smidig kalorispårning

Rickard Andersson Partner, Nodenordic.se

Matloggning misslyckas oftast av en tråkig anledning. Du äter, du har fullt upp, du glömmer, och på kvällen gissar du vad ”den där nudelgrejen” ens var.

LINE-kalorispårning med automatisering hjälper när det egentligen handlar om konsekvens. Det är en räddare i nöden för upptagna yrkespersoner som lever i chattappar, för personliga tränare som behöver mer strukturerade klientloggar, och för småföretagare som inte vill underhålla ännu en app. Du skickar en text eller en bild, och loggen uppdateras av sig själv.

Det här arbetsflödet kopplar LINE till Google Sheets, använder AI för att uppskatta kalorier från måltidsfoton och skickar en snabb bekräftelse tillbaka. Nedan ser du exakt vad det gör, vad du behöver och vad du ska justera för att det ska matcha hur du faktiskt äter.

Så fungerar automatiseringen

Se hur det här löser problemet:

n8n Workflow Template: LINE + Google Sheets: smidig kalorispårning

Utmaningen: konsekvent kalorispårning utan krångel

Manuell kalorispårning ser enkel ut tills du försöker göra det varje dag. Du måste komma ihåg att logga, öppna en app, söka efter rätt livsmedel, välja portionsstorlek och sedan hoppas att du inte råkade välja ”stor” av misstag. Om du spårar för viktnedgång, prestation eller medicinska skäl spelar de där små missarna roll, eftersom de i det tysta förvränger veckobilden. Och om du hjälper någon annan att spåra (klienter, patienter, familj) slutar det med att du jagar detaljer som borde ha fångats i stunden de åt. Friktionen är helt ärligt den verkliga fienden.

Det blir mycket snabbt. Här är var det faller isär i verkliga livet.

  • Du tar ändå bilder på maten, men de blir liggande i kamerarullen och blir aldrig en användbar logg.
  • Att klistra in måltider i kalkylark är segt, så du ”tar igen det senare” och tappar precision.
  • När du väl loggar blir posterna inkonsekventa (olika namn, saknade kalorier, slumpmässiga format).
  • De flesta appar passar inte ditt arbetssätt, så du överger dem efter en vecka eller två.

Lösningen: LINE-meddelanden som automatiskt loggar kalorier i Sheets

Det här arbetsflödet gör LINE till din enklaste matdagbok. Du skickar till din LINE-bot antingen ett textmeddelande (”kycklingsallad, dressing vid sidan”) eller en bild på måltiden. Om det är text kan AI-agenten svara samtalsmässigt direkt i LINE, vilket är smidigt när du vill ha snabb vägledning eller en lätt notering. Om det är en bild laddar automatiseringen ner fotot via LINE:s API, kontrollerar om det faktiskt innehåller mat och använder sedan OpenAI Vision för att identifiera rätten och uppskatta kalorier. Arbetsflödet formaterar resultatet till strukturerad JSON, lägger till en ny rad i Google Sheets och svarar i LINE med en bekräftelse så att du vet att det sparades korrekt.

Arbetsflödet startar med en LINE-webhook och routar sedan baserat på meddelandetyp (text vs. bild). Bilder går genom ett Vision-analys- och tolkningssteg och sedan in i Google Sheets. Till sist formateras svaret och skickas tillbaka till LINE via en HTTP-förfrågan.

Vad som förändras: före vs. efter

Effekt i verkligheten

Säg att du loggar 3 måltider per dag. Manuellt kan även en ”snabb” inmatning ta runt 10 minuter (öppna app, söka mat, välja portion, fixa namn), så du lägger ungefär 30 minuter dagligen. Med det här arbetsflödet skickar du ett meddelande till din LINE-bot på cirka en minut per måltid och låter AI-svaret och uppdateringen i Sheet ske i bakgrunden. Det är runt 25 minuter tillbaka varje dag, vilket blir ett par timmar på en vecka.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • LINE Messaging API för att ta emot meddelanden via din bot.
  • Google Sheets för att lagra din strukturerade måltidslogg.
  • OpenAI API-nyckel (hämta den i OpenAI-dashboarden).

Nivå: Medel. Du klistrar in tokens, kopplar konton och byter ut några platshållar-ID:n noggrant.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödet i arbetsflödet

LINE-webhook tar emot meddelandet. En webhook från LINE Messaging API (i n8n) fångar varje inkommande event, och arbetsflödet kontrollerar sedan avsändaren så att bara godkända användare kan logga till ditt sheet.

Meddelandetypen routas. En switch skickar text i en gren och bilder i en annan, så att du inte råkar försöka ”analysera” en textnotering som om den vore ett foto.

AI bearbetar innehållet. Text kan gå till den samtalsbaserade AI-agenten (med korttidsminne för kontext), medan bilder laddas ner från LINE:s servrar och inspekteras med OpenAI Vision för att identifiera rätter och uppskatta kalorier – men bara när mat finns i bilden.

Resultat loggas och bekräftas. Kaloriutdata tolkas till en strukturerad form, läggs till i Google Sheets, och sedan skickas ett formaterat svar tillbaka till LINE via en HTTP-förfrågan.

Du kan enkelt modifiera sheet-kolumnerna för att inkludera protein eller måltidstider utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Konfigurera webhooken som tar emot LINE-händelser och styr åtkomsten innan bearbetning.

  1. Lägg till och öppna Incoming LINE Hook, ställ sedan in HTTP Method till POST och Path till 0980b700-284e-4e52-a33e-71e087eea37f.
  2. Konfigurera er LINE-webhook-URL i LINE Developer Console så att den pekar på produktions-URL:en för Incoming LINE Hook.
  3. Öppna Validate User Access och ställ in villkoret Left Value till {{ $json.body.events[0].source.userId }} och Right Value till ert auktoriserade LINE-användar-id i stället för [YOUR_ID].
  4. Koppla Incoming LINE Hook till Validate User Access och säkerställ att den routar vidare till Route by Message Type.

⚠️ Vanlig fallgrop: Om LINE-webhook-URL:en inte uppdateras efter att ni aktiverar workflowet kommer meddelanden inte att nå Incoming LINE Hook.

Steg 2: Routa meddelanden och extrahera text eller bilder

Dela upp flödet baserat på meddelandetyp och extrahera rätt payload för AI-bearbetning.

  1. I Route by Message Type, behåll de två reglerna som jämför Left Value {{ $json.body.events[0].message.type }} med text och image.
  2. Koppla utgången text till Extract Text Message och ställ in tilldelningsvärdet till {{ $json.body.events[0].message.text }}.
  3. Koppla utgången image till Download Image Asset och ställ in URL till =https://api-data.line.me/v2/bot/message/{{ $json.body.events[0].message.id }}/content.
  4. I Download Image Asset, lägg till headern Authorization med Bearer [CONFIGURE_YOUR_TOKEN] och låt Send Headers vara aktiverat.

Tips: LINE-token som används i Download Image Asset bör matcha kanalen som används för webhooken i Incoming LINE Hook.

Steg 3: Sätt upp AI-bearbetning och minne

Konfigurera AI-noderna för textsvar och kaloriuppskattning från bilder, inklusive minne och modellkopplingar.

  1. Öppna Conversational AI Handler och ställ in Text till {{ $json.text }}, med systemmeddelandet satt till You are an AI assistant. Your job is to respond to user messages..
  2. Säkerställ att OpenAI Chat Engine är ansluten som språkmodell för Conversational AI Handler och välj modellen gpt-4.1-mini. Credential Required: Anslut era openAiApi-credentials.
  3. Koppla Session Memory Buffer till ingången ai_memoryConversational AI Handler och ställ in Session Key till {{ $('Incoming LINE Hook').item.json.body.events[0].source.userId }}.
  4. Öppna Inspect Image Content och verifiera att Resource är image, Input Type är base64, Operation är analyze, och att prompten matchar kravet på kaloridata som endast JSON. Credential Required: Anslut era openAiApi-credentials.

⚠️ Vanlig fallgrop: Session Memory Buffer är en subnod—lägg till credentials i OpenAI Chat Engine och Inspect Image Content, inte i minnesnoden.

Steg 4: Tolka AI-utdata och lagra i Google Sheets

Tolka AI-utdata från bilder till strukturerade fält och lägg till dem i ett kalkylark.

  1. Säkerställ att Download Image Asset är kopplad till Inspect Image Content.
  2. Bekräfta att Inspect Image Content skickar utdata till både Parse Calorie Output och Format LINE Message parallellt.
  3. Öppna Append Sheet Row och ställ in Operation till append, Document ID till ert kalkylark (ersätt [YOUR_ID]), och Sheet Name till målfliken (ersätt [YOUR_ID]).
  4. Mappa kolumner i Append Sheet Row: date till {{ $now.format('yyyy-MM-dd') }}, menu till {{ $json.dishName }}, och cal till {{ $json.calories }}. Credential Required: Anslut era googleSheetsOAuth2Api-credentials.

Tips: Om era rubriker i arket skiljer sig, uppdatera fältnamnen i schema i Append Sheet Row så att de matchar kolumn-id:n.

Steg 5: Formatera och skicka LINE-svar

Bygg LINE-svarsmeddelandet och skicka tillbaka det till användaren.

  1. I Format LINE Message, behåll koden som bygger ett sammanfattningsmeddelande och säkerställ att den outputtar message.
  2. Öppna Map Reply Text och mappa output till {{ $json.message }}.
  3. I Post LINE Reply, ställ in URL till https://api.line.me/v2/bot/message/reply och Method till POST.
  4. Ställ in JSON Body till { "replyToken": "{{ $('Incoming LINE Hook').item.json.body.events[0].replyToken }}", "messages": [ { "type": "text", "text":{{ JSON.stringify($json.output) }} } ] } .
  5. Lägg till headers i Post LINE Reply: Authorization Bearer [CONFIGURE_YOUR_TOKEN] och Content-Type application/json.

Körningsnotering: Inspect Image Content skickar utdata till både Parse Calorie Output och Format LINE Message parallellt, så loggning i arket och svarsformatering sker samtidigt.

Steg 6: Testa och aktivera ert workflow

Verifiera beteendet end-to-end med både text- och bildindata, och aktivera sedan workflowet.

  1. Klicka på Execute Workflow och skicka ett LINE-textmeddelande för att trigga Incoming LINE Hook; bekräfta att Conversational AI Handler returnerar ett svar och att Post LINE Reply postar det tillbaka.
  2. Skicka en LINE-bild på en maträtt; bekräfta att Download Image Asset lyckas, att Inspect Image Content returnerar JSON, att Parse Calorie Output tolkar den, och att Append Sheet Row skapar en ny rad.
  3. Verifiera att svarsmeddelandet från Post LINE Reply innehåller den formaterade sammanfattningen från Format LINE Message.
  4. Slå på workflowet Active för att aktivera hantering av produktionswebhook.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tänk på

  • Inloggningsuppgifter för LINE Messaging API kan löpa ut eller ha fel behörigheter. Om det skapar fel, kontrollera först din channel access token och webhook-inställningarna i LINE Developers.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata för alltid.

Vanliga frågor

Hur snabbt kan jag implementera den här automatiseringen för LINE-kalorispårning?

Cirka en timme om din LINE-kanal och ditt Google Sheet är redo.

Kan team utan teknisk bakgrund implementera den här automatiseringen för kalorispårning?

Ja, men du vill ha någon som är bekväm med att kopiera tokens och redigera ID:n. Ingen kodning krävs för standardupplägget.

Är n8n gratis att använda för det här arbetsflödet för LINE-kalorispårning?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna in OpenAI API-användning, vilket oftast är några cent per bild beroende på modell och trafik.

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

Hur anpassar jag den här lösningen för LINE-kalorispårning till mina specifika utmaningar?

Du kan anpassa kolumnerna i Google Sheets i steget ”Append Sheet Row” och justera utdataformateringen i ”Parse Calorie Output” och ”Format LINE Message”. Vanliga justeringar är att lägga till måltidstid, lägga till en tillförlitlighetsnotis och spara det råa rättnamnet bredvid en strukturerad etikett. Om du vill att boten ska bete sig mer som en coach, ändra instruktionerna som AI-agenten använder så att svaren matchar din ton och dina regler.

Varför fungerar inte min LINE-anslutning i det här arbetsflödet?

Oftast beror det på en felaktig channel access token eller att webhook-URL:en inte matchar i din LINE Developers-konsol. Generera en ny token, uppdatera den i HTTP Request-noderna som skickar svar och laddar ner bilder, och testa igen med ett nytt meddelande. Kontrollera också logiken i ”Validate User Access”, eftersom ett användar-ID som inte matchar kan se ut som en ”trasig” anslutning även när API:et fungerar. Om du skickar bilder, bekräfta att din bot har behörighet att hämta innehållet från LINE:s content-endpoint.

Vilken kapacitet har den här lösningen för LINE-kalorispårning?

På n8n Cloud beror kapaciteten främst på din plans månatliga körningar, och Starter-planen räcker för personligt bruk. Om du kör egen drift finns ingen hård gräns; din server och OpenAI:s rate limits blir det praktiska taket. I praktiken kan de flesta bearbeta måltider hela dagen utan märkbara fördröjningar, om de inte kör detta för många användare samtidigt.

Är den här automatiseringen för LINE-kalorispårning bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet bygger på routningslogik (text vs. bild), anrop till externa API:er och hantering av strukturerad tolkning, vilket n8n klarar utan att det blir en hög med betalda tasks. Du får också egen drift, vilket är viktigt om du vill ha förutsägbara kostnader när användningen växer. Zapier eller Make kan vara enklare för ett grundflöde ”meddelande → sheet-rad”, men bildanalys och villkorshantering blir vanligtvis klumpigt. Om du är osäker, prata med en automationsexpert så hjälper vi dig att välja den renaste lösningen.

När detta väl är live blir loggning en vana med ett enda meddelande i stället för ett dagligt måste. Arbetsflödet tar hand om de repetitiva delarna så att ditt Sheet förblir korrekt utan att du behöver tänka på det.

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