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

Telegram till Google Sheets: smidiga måltidsloggar

Rickard Andersson Partner, Nodenordic.se

Matspårning faller oftast isär på samma sätt. Du börjar starkt, sedan blir loggningen irriterande, datan blir rörig och ”jag gör det senare” blir till tre missade dagar.

Matloggar i Telegram träffar helt rätt för coacher som behöver att klienter faktiskt följer upp. Grundare och upptagna marknadsförare känner också igen sig, eftersom ingen vill ha ännu en app eller ännu en flik i kalkylarket att hålla koll på.

Det här n8n-flödet gör Telegram till en lättviktig näringsassistent. Du får se hur det fångar måltider via text, röst eller foton, skriver korrekt formaterade rader till Google Sheets och skickar en tydlig daglig sammanfattning av dina framsteg tillbaka till dig.

Så fungerar den här automatiseringen

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

n8n Workflow Template: Telegram till Google Sheets: smidiga måltidsloggar

Problemet: matspårning faller när loggning blir ett jobb

Manuell matspårning låter enkelt tills du lever med den. Du äter något, sedan måste du komma ihåg vad det var, uppskatta portioner, öppna en app, söka efter livsmedel, justera makron och hoppas att du inte valde fel ”kycklingbowl” från listan med femtio. Sedan försöker du sammanfatta dagen, och det blir ännu mer knappande. Den verkliga kostnaden är inte bara tid; det är den mentala friktionen som gör att du slutar logga helt. Och när registreringarna blir inkonsekventa blir ”dagens rapport” en vag gissning i stället för något du kan agera på.

Det växer snabbt. Här är var det brukar fallera.

  • Att logga varje måltid tar cirka 5–10 minuter, så en vanlig dag kan i tysthet äta upp 30 minuter.
  • Matbilder är värst att få in strukturerat, eftersom du ändå ofta måste skriva in detaljerna senare.
  • Makron blir inkonsekventa när du växlar mellan appar, anteckningar och ”jag kommer ihåg det”.
  • Du kan inte få en tillförlitlig daglig sammanfattning om hälften av måltiderna aldrig hamnar i systemet.

Lösningen: logga måltider i Telegram, lagra strukturerad data i Sheets

Det här flödet gör en Telegram-chatt till ditt inmatningslager och Google Sheets till din databas. Ett meddelande kommer in (text, ett röstmeddelande eller ett foto på mat), flödet skickar det till rätt hanterare och en AI-modell tolkar vad du åt. Tolkningen normaliseras till konsekventa fält (måltidsbeskrivning plus kalorier, protein, kolhydrater, fett) och läggs sedan till i en tabell ”Meals” i Google Sheets. Om du är ny kör den också ett enkelt registreringsflöde som skapar en profilrad med dina mål för kalorier och protein, så att assistenten har kontext. När du ber om en rapport (eller när rapport-triggern körs) hämtar den dagens måltider och dina mål, summerar totalsiffror, bygger ett meddelande i tydligt progress-format och skickar tillbaka det i Telegram.

Flödet startar med en Telegram intake-trigger och kontrollerar sedan om du är registrerad. Därifrån routas meddelanden efter typ (text, röst, bild), näringsdetaljer extraheras och en korrekt formaterad rad skrivs till Google Sheets. Till sist genererar ett rapport-subflöde en daglig sammanfattning som du förstår på en sekund.

Det du får: automatisering vs. resultat

Exempel: så här kan det se ut

Säg att du loggar 4 måltider om dagen. Manuellt, om varje registrering tar cirka 7 minuter (söka mat, uppskatta makron, rätta misstag), är det ungefär 30 minuter per dag. Med det här flödet skickar du ett snabbt Telegram-meddelande eller en bild på cirka en minut per måltid och låter sedan AI:n göra tolkningen och loggningen i arket i bakgrunden. Även om du väntar några minuter på transkribering eller bildanalys sjunker din aktiva tid till cirka 5 minuter totalt. Det är ungefär 25 minuter tillbaka varje dag, och datan blir mer korrekt formaterad.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Telegram för att samla in måltidsmeddelanden och media.
  • Google Sheets för att lagra profiler och måltidsloggar.
  • API-nyckel till AI-leverantör (hämta den från Google AI Studio för Gemini, eller din LLM-leverantör).

Kunskapsnivå: Medel. Du kopplar in autentiseringsuppgifter, skapar två Sheets-tabeller och justerar ett par meddelandeprompter.

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

Så fungerar det

Ett Telegram-meddelande triggar flödet. Din bot tar emot text, ett röstmeddelande eller en bild via Telegram Trigger och skickar sedan en snabb ”skriver…”-indikator så att chatten känns responsiv.

Flödet kontrollerar om användaren är registrerad. Det slår upp dig i Google Sheets-tabellen ”Profile”. Om du är ny samlar en registreringsassistent in dina mål för kalorier och protein och lägger till en profilrad.

Inmatningar routas och tolkas. En Switch-nod routar efter meddelandetyp. Röstmeddelanden hämtas och transkriberas, bilder hämtas och analyseras och ren text mappas direkt in i AI-agentens kontext.

Måltidsregistreringar och dagliga rapporter skapas. För loggning lägger flödet till en rad i tabellen ”Meals” (beskrivning plus makron). För rapportering hämtar en rapport-trigger måltider och mål, summerar dagen, bygger ett lättläst framstegsmeddelande och skickar sedan tillbaka det till Telegram.

Du kan enkelt ändra vilka mål du följer (till exempel lägga till mål för kolhydrater eller fett) så att det matchar dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera Telegram-triggern

Det här arbetsflödet startar när ett Telegram-meddelande kommer in och förgrenas direkt till registreringsuppslagning och skrivindikator parallellt.

  1. Lägg till noden Telegram Intake Trigger.
  2. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter.
  3. Ställ in Updatesmessage.
  4. Bekräfta körflödet: Telegram Intake Trigger skickar utdata till både Lookup Registration och Send Typing Indicator parallellt.

Tips: Om triggern inte tar emot uppdateringar, spara om noden för att uppdatera registreringen av Telegram-webhooken.

Steg 2: Anslut Google Sheets

Google Sheets hanterar användarprofiler och måltidsloggar, och stödjer även AI-verktyg för registrering och lagring av måltider.

  1. Öppna Lookup Registration och ställ in Document ID till [YOUR_ID] och Sheet Name till Profile.
  2. Säkerställ att Filters i Lookup Registration använder {{$('Telegram Intake Trigger').item.json.message.chat.id}} mappat till User_ID.
  3. Konfigurera Retrieve Meal Records med Document ID [YOUR_ID] och Sheet Name Meals, och lägg till filter för {{$json.Date}} och {{$json.User_ID}}.
  4. Konfigurera Retrieve Profile Records med Document ID [YOUR_ID] och Sheet Name Profile.
  5. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter till Lookup Registration, Retrieve Meal Records och Retrieve Profile Records.
  6. Anslut samma googleSheetsOAuth2Api-inloggningsuppgifter till alla Google Sheets-verktygsnoder: Append Profile Row, Update Profile Targets, Fetch Profile Targets och Append Meal Entry.

⚠️ Vanlig fallgrop: Om ni lämnar [YOUR_ID] oförändrat kommer alla Google Sheets-noder att misslyckas. Ersätt det med ert faktiska kalkylblads-ID.

Steg 3: Sätt upp routing för registrering

Inkommande chattar kontrolleras mot bladet Profile för att skicka nya användare till registrering eller befintliga användare till intagsbearbetning.

  1. I Check Registration, behåll villkoret som kontrollerar att {{$json.User_ID}} finns.
  2. Anslut Lookup RegistrationCheck RegistrationRoute Incoming Message (registrerade användare) och Map Registration Text (nya användare).
  3. I Map Registration Text, ställ in message till {{$('Telegram Intake Trigger').item.json.message.text}} och chat_id till {{$('Telegram Intake Trigger').item.json.message.chat.id}}.
  4. Behåll flödet Map Registration TextRegistration AssistantFormat Markdown RegDispatch Registration Reply.

Tips: Registreringen använder AI-verktygen och minnet som är kopplade till Registration Assistant, så ni behöver inte ändra undernoderna direkt.

Steg 4: Konfigurera routing för intag och hantering av media

Arbetsflödet routar text, röst, bild eller filer som inte stöds och förbereder konsekventa payloads för AI-coachen.

  1. I Route Incoming Message, behåll de tre reglerna som kontrollerar {{$('Telegram Intake Trigger').item.json.message.text}}, {{$('Telegram Intake Trigger').item.json.message.voice}} och {{$('Telegram Intake Trigger').item.json.message.photo[0].file_id}}.
  2. För text: säkerställ att Map Text Payload sätter message till {{$('Telegram Intake Trigger').item.json.message.text}} och chat_id till {{$('Telegram Intake Trigger').item.json.message.chat.id}}.
  3. För röst: konfigurera Fetch Voice File med File ID {{$('Telegram Intake Trigger').item.json.message.voice.file_id}} och koppla sedan till Normalize MIME AudioInterpret Audio MessageMap Audio Payload.
  4. För bild: konfigurera Fetch Image File med File ID {{$('Telegram Intake Trigger').item.json.message.photo[3]?.file_id || $('Telegram Intake Trigger').item.json.message.photo[2]?.file_id || $('Telegram Intake Trigger').item.json.message.photo[1]?.file_id}} och koppla sedan till Normalize MIME ImageInterpret Image NutritionMap Image Payload.
  5. För filer som inte stöds: behåll Map Unsupported File Notice som skickar reservmeddelandet till Nutrition Coach Agent.
  6. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter till Fetch Voice File, Fetch Image File och Send Typing Indicator.

Tips: De två kodnoderna Normalize MIME är kritiska för att Gemini ska acceptera Telegrams filbinärer—ta inte bort dem.

Steg 5: Sätt upp AI-modeller och minne

Arbetsflödet använder Gemini för medietolkning och två AI-agenter för registrering och coachning.

  1. Inloggningsuppgifter krävs: Anslut era googlePalmApi-inloggningsuppgifter till Interpret Image Nutrition och Interpret Audio Message.
  2. Inloggningsuppgifter krävs: Anslut era googlePalmApi-inloggningsuppgifter till Gemini Chat Model och Gemini Chat Model Reg.
  3. Säkerställ att Gemini Chat Model är ansluten som språkmodell för Nutrition Coach Agent.
  4. Säkerställ att Gemini Chat Model Reg är ansluten som språkmodell för Registration Assistant.
  5. Behåll minnesnoderna kopplade till sina överordnade agenter: Conversation Memory ansluts till Nutrition Coach Agent och Registration Memory ansluts till Registration Assistant.
  6. För minnesnoderna, behåll Session Key inställd på {{$json.chat_id}} och Session ID Type inställd på customKey.

⚠️ Vanlig fallgrop: AI-undernoder som Conversation Memory och Registration Memory tar inte emot inloggningsuppgifter direkt—lägg dem i Gemini Chat Model och Gemini Chat Model Reg istället.

Steg 6: Konfigurera AI-verktyg för Sheets och rapporter

AI-verktyg låter agenterna lägga till måltider, uppdatera profiler och generera rapporter utan manuell förgrening.

  1. I Append Meal Entry, bekräfta att Date använder {{$today.format("yyyy-LL-dd")}} och att fälten mappar från $fromAI()-indata.
  2. I Append Profile Row och Update Profile Targets, behåll mappningen som använder {{$json.chat_id}} som User_ID och $fromAI()-värden för mål.
  3. I Fetch Profile Targets, behåll uppslagsfiltret {{$json.chat_id}} för User_ID.
  4. I Run Daily Report, behåll Workflow ID som {{$workflow.id}} och indata {{$fromAI('Date', ``, 'string')}} plus {{$json.chat_id}}.
  5. Kom ihåg att detta är AI-verktyg: inloggningsuppgifter tillämpas på själva verktygsnoderna, medan den anropande agenten är Nutrition Coach Agent eller Registration Assistant.

Steg 7: Konfigurera grenen för daglig rapport

Den dagliga rapporten är en parallell datahämtning som sammanfogar måltider och profildata för att skapa en formaterad sammanfattning.

  1. Bekräfta den parallella grenen: Report Trigger skickar utdata till både Retrieve Meal Records och Retrieve Profile Records parallellt.
  2. Behåll Retrieve Meal RecordsExtract Meal TotalsAggregate Nutrition Totals.
  3. Behåll att Aggregate Nutrition Totals och Retrieve Profile Records sammanfogas i Combine Report Data.
  4. Anslut Combine Report DataBuild Report MessagePrepare Report Reply.

Steg 8: Konfigurera formatering för Telegram-utdata

Både registreringsflödet och coachningsflödet formaterar meddelanden säkert för Telegram MarkdownV2 innan de skickas.

  1. Behåll Nutrition Coach AgentFormat MarkdownV2Dispatch Telegram Reply.
  2. Behåll Registration AssistantFormat Markdown RegDispatch Registration Reply.
  3. I Dispatch Telegram Reply och Dispatch Registration Reply, ställ in Text till {{$json.message}} och Chat ID till {{$('Telegram Intake Trigger').item.json.message.chat.id}}.
  4. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter till Dispatch Telegram Reply och Dispatch Registration Reply.

Tips: Kodnoderna Format MarkdownV2 och Format Markdown Reg chunkar automatiskt långa meddelanden—låt dem stå kvar i läget “Run Once for All Items”.

Steg 9: Testa och aktivera ert arbetsflöde

Validera både registrerings- och coachningsgrenen med exempelmeddelanden i Telegram och en rapportförfrågan.

  1. Klicka på Execute Workflow och skicka ett Telegram-textmeddelande för att trigga Telegram Intake Trigger.
  2. Skicka ett foto och ett röstmeddelande för att verifiera flödena Fetch Image FileInterpret Image Nutrition och Fetch Voice FileInterpret Audio Message.
  3. Bekräfta lyckad utdata: Dispatch Telegram Reply ska skicka svar som är säkra för MarkdownV2.
  4. Trigga en rapport via agenten och verifiera att Build Report Message skapar en sammanfattning och att Prepare Report Reply skickar den vidare.
  5. När ni är nöjda, växla arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Autentiseringsuppgifter för Google Sheets kan gå ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera n8n:s test av anslutning för credentials och säkerställ att Google-kontot kan redigera arket.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstider. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, 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 automatiseringen för matloggar i Telegram?

Cirka en timme om du redan har din Telegram-bot och dina Google-credentials klara.

Behöver jag kunna koda för att automatisera matloggar i Telegram?

Nej. Du kommer främst att koppla konton och kopiera de angivna kolumnrubrikerna i Google Sheets.

Är n8n gratis att använda för det här flödet för matloggar i Telegram?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in AI-API-användning, vilket vanligtvis är några cent per dag för personlig loggning.

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

Kan jag anpassa det här flödet för matloggar i Telegram för veckovisa avstämningar i stället för dagliga rapporter?

Ja, men då ändrar du rapport-triggern. Byt nuvarande beteende för rapport-triggern till att köras enligt schema och justera sedan frågefönstret i ”Retrieve Meal Records” och formateringen i ”Build Report Message” för att sammanfatta en vecka. Många team justerar också agentprompten så att den lyfter trender (som ”protein lågt på helger”) i stället för dagsummor.

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

Oftast är det ett problem med bot-token eller att boten faktiskt inte tar emot uppdateringar. Bekräfta token i dina Telegram Trigger-credentials, skicka sedan ett nytt meddelande till boten och kontrollera n8n:s körningslogg för att se om triggern sköt. Om den sköt men filnedladdningar misslyckas kan steget ”Fetch Voice File” eller ”Fetch Image File” sakna behörigheter eller referera till ett utgånget file_id.

Hur många måltider kan den här automatiseringen för matloggar i Telegram hantera?

För en enskild person är det i praktiken obegränsat.

Är den här automatiseringen för matloggar i Telegram bättre än att använda Zapier eller Make?

Ofta, ja, om du vill ha AI-assistentbeteendet. n8n hanterar grenlogik (text vs. röst vs. bild), konversationsminne och rapportering i flera steg utan att bli en dyr kedja av premium-uppgifter. Zapier eller Make kan fortfarande fungera för grundläggande ”Telegram-meddelande till Google Sheets-rad”, men så fort du lägger till transkribering, bildanalys och en daglig rapport blir flödet klumpigt. n8n är också enklare att self-hosta, vilket spelar roll om du kör detta för många användare. Om du väljer mellan verktyg, prata med en automationsexpert så mappar vi det mot din volym och budget.

När detta väl är igång blir loggning ett snabbt meddelande i stället för en daglig förhandling med dig själv. Flödet tar hand om det repetitiva och du får strukturerad data plus en rapport du faktiskt kan använda.

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