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 + Telegram för patientuppföljning

Rickard Andersson Partner, Nodenordic.se

Postoperativa uppföljningar är där ”vi tar det senare” blir till missade meddelanden, stressad backtracking och patienter som känner sig förbisedda. Om du någon gång har jagat svar via sms, inkorgar och kalkylark vet du att stressen är på riktigt.

Vårdkoordinatorer känner det först. En klinikchef ser det i övertiden. Och jourläkaren får den värsta versionen: det akuta fallet som upptäcktes för sent. Den här automatiseringen för Telegram-uppföljningar håller dagliga check-ins konsekventa och sorterar sedan svaren i låg, måttlig eller hög oro – utan att du behöver sitta och vakta den.

Nedan ser du exakt hur flödet körs i n8n, vilka resultat det ger (tid tillbaka, färre missar, tydligare eskalering) och vad du behöver för att anpassa det till din egen patientlista.

Så fungerar automatiseringen

Hela n8n-workflowen, från trigger till slutligt resultat:

n8n Workflow Template: Google Sheets + Telegram för patientuppföljning

Problemet: patientuppföljningar fallerar vid manuellt arbete

Dagliga check-ins låter enkelt tills du gör det i större skala. Någon måste komma ihåg vilka som fortfarande är inom sin uppföljningsperiod, kontakta dem vid rätt tidpunkt, hålla koll på vem som svarat, tolka vad svaret betyder och avgöra om det behöver eskaleras. Det är många små beslut staplade ovanpå varandra. Ett missat svar är inte bara ett ”oj”. Det kan bli en patientsäkerhetsfråga – plus ett dokumentationsproblem när du försöker återskapa vad som hände utifrån spridda anteckningar.

Friktionen byggs på. Och den visar sig oftast på samma ställen.

  • Du slutar med att kopiera listor från ett kalkylark till meddelanden varje morgon, vilket är långsamt och lätt att göra fel.
  • Svar kommer asynkront, så någon måste bevaka en kanal hela dagen bara för att upptäcka meddelandet som ”känns fel”.
  • Personal tolkar symtom olika, vilket leder till inkonsekvent triage och onödigt fram och tillbaka.
  • Eskaleringar sker för sent eftersom det akuta meddelandet hamnade långt ner i en tråd – eller aldrig vidarebefordrades.

Lösningen: automatiserade dagliga check-ins + AI-triage i Telegram

Den här n8n-workflowen gör ditt Google Sheet till en motor för dagliga uppföljningar. Enligt schema hämtar den patientrader, filtrerar till endast dem som fortfarande ligger inom en definierad uppföljningsperiod och skickar ett check-in-meddelande via din Telegram-bot. När en patient svarar fångar workflowen meddelandet direkt, rensar och strukturerar det, och använder sedan en AI-agent (driven av Google Gemini i den här mallen) för att sammanfatta och klassificera svaret som låg, måttlig eller hög intensitet. Därefter sker nästa åtgärd automatiskt: låg får ett stöttande svar, måttlig får vägledning och en uppföljningshändelse i Google Calendar, och hög triggar en brådskande e-postvarning till läkaren via Gmail – samtidigt som patienten får ett svar som bekräftar att det är brådskande.

Workflowen börjar med en schemalagd hämtning från Google Sheets, som hanterar de utgående check-ins. Inkommande Telegram-svar går en separat väg för triage, så inget missas medan du är upptagen med besök. Till sist hamnar resultat där team faktiskt arbetar: Telegram för patientmeddelanden, Google Calendar för planerade uppföljningar och Gmail för brådskande eskalering.

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

Exempel: så här kan det se ut

Säg att din klinik följer upp 30 patienter per dag. Manuellt kanske du lägger cirka 2 minuter per patient på att kolla arket, skicka meddelandet och logga att det gick iväg (cirka 1 timme), och sedan ytterligare 1–2 timmar under dagen på att läsa svar och bestämma vad som ska göras. Med den här workflowen körs den utgående utskicket obevakat och triage sker automatiskt. Du lägger i praktiken bara tid på de måttliga och höga fallen – vilket för många team är en kort lista i stället för en hel dag av bevakning.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra patienternas uppföljningsposter.
  • Telegram-bot för att skicka check-ins och ta emot svar.
  • Google Calendar för att schemalägga uppföljningshändelser för måttliga fall.
  • Gmail för att mejla läkaren vid akuta fall.
  • Gemini API-inloggningsuppgifter (hämta dem från Google AI Studio).

Kompetensnivå: Medel. Du kopplar främst konton och mappar kolumner i kalkylarket, samt justerar promptar och routing så att de matchar er kliniska process.

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

Så fungerar det

Schemalagda dagliga check-ins. En Schedule Trigger kör varje dag, hämtar rader från Google Sheets och filtrerar till patienter som fortfarande ligger inom sin uppföljningsperiod baserat på datan i ditt ark.

Utgående meddelanden via Telegram. För varje patientpost som kvalificerar sig skickar workflowen ett check-in-meddelande i Telegram så att teamet slipper skicka samma frågor manuellt hela morgonen.

AI-triage av inkommande svar. En Telegram Trigger fångar patientens svar, workflowen mappar fälten till en korrekt formaterad struktur, och sedan sammanfattar en AI-agent meddelandet och klassificerar intensitet (låg, måttlig, hög) med Gemini.

Rätt åtgärd, på rätt plats. En Switch routar ärendet: låg skickar lugnande besked, måttlig skickar vägledning och skapar en Google Calendar-händelse, och hög utformar och skickar en Gmail-varning till läkaren samtidigt som patienten får ett meddelande om att ärendet har eskalerats.

Du kan enkelt justera triage-trösklarna så att de matchar era rutiner utifrån era behov. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den schemalagda triggern

Ställ in den tidsbaserade triggern som startar dagliga uppföljningskontroller för patienter efter operation.

  1. Lägg till noden Scheduled Check Trigger som er workflow-trigger.
  2. Ställ in värdet Trigger At Hour till 9 i intervallet rule.
  3. Bekräfta att exekveringsflödet börjar med Scheduled Check TriggerRetrieve Sheet Rows.

Tips: Matcha trigger-timmen mot er lokala kliniks tidszon så att uppföljningar skickas under kontorstid.

Steg 2: anslut Google Sheets för patientjournaler

Hämta patientdata och slå upp poster i flera Google Sheets-verktyg som används av AI-agenter.

  1. Öppna Retrieve Sheet Rows och ställ in Document till [YOUR_ID] och Sheet till Sheet1.
  2. Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Sheet Rows.
  3. För AI-verktyg som Lookup Sheet Rows Main, Lookup Sheet Rows Low, Lookup Sheet Rows Moderate, Lookup Sheet Rows High och Lookup Sheet Rows Email, lägg till Google Sheets-uppgifter på överordnade agentnoder (t.ex. Patient Message Summarizer, Low Concern Reply Writer, Moderate Reply Composer, High Alert Reply Builder, Urgent Email Drafter).
  4. Verifiera att huvudflödet Retrieve Sheet RowsFilter Follow-up Records är anslutet.

⚠️ Vanlig fallgrop: Om kalkylblads-ID eller bladnamn ändras kommer alla uppslagsverktyg att misslyckas utan tydlig indikation. Håll [YOUR_ID] och Sheet1 synkade i varje Sheets-nod.

Steg 3: konfigurera intag av inkommande Telegram-meddelanden

Fånga patienternas svar och normalisera fält som används i hela AI-pipelinen.

  1. Lägg till noden Incoming Telegram Trigger och aktivera updates för message.
  2. Inloggning krävs: Anslut era telegramApi-uppgifter i Incoming Telegram Trigger.
  3. I Map Incoming Fields ställer ni in tilldelningar till: first_name = {{ $json.message.chat.first_name }}, message.text = {{ $json.message.text }} och message.chat.id = {{ $json.message.chat.id }}.
  4. Bekräfta flödet Incoming Telegram TriggerMap Incoming FieldsPatient Message Summarizer.

Tips: Använd de mappade fälten i alla efterföljande noder för att hålla formateringen konsekvent i AI-svaren.

Steg 4: konfigurera AI-sammanfattning och triage

Skapa en tydlig sammanfattning av patientens meddelande, klassificera brådskandegrad och parsa AI-utdata till strukturerade fält.

  1. I Patient Message Summarizer behåller ni prompt-innehållet och säkerställer att den hämtar {{ $json.first_name }} och {{ $json.message.text }}.
  2. Verifiera att Gemini Chat Engine är ansluten som språkmodell för Patient Message Summarizer. Inloggning krävs: Anslut era googlePalmApi-uppgifter i Gemini Chat Engine (inte i agenten).
  3. I Triage Classifier behåller ni det obligatoriska utdataformatet (t.ex. status: read och intensity: moderate) och säkerställer att den använder {{ $json.output }}.
  4. Verifiera att Gemini Chat Engine Triage är ansluten till Triage Classifier och har googlePalmApi-uppgifter.
  5. I Parse Status Output behåller ni JavaScript-parsern så att den returnerar strukturerade nycklar för status och intensity.
  6. Bekräfta flödet Patient Message SummarizerTriage ClassifierParse Status Output.

⚠️ Vanlig fallgrop: Om AI:n returnerar ett annat format (saknar status: eller intensity:) kommer Parse Status Output att ge tomma fält och routingen misslyckas.

Steg 5: konfigurera routing och svar till patienten

Routa patientmeddelanden baserat på triage-status och intensitet, och svara sedan via Telegram.

  1. I Status Decision Gate behåller ni villkoret att {{ $json.status }} är lika med read och routar false-grenen till Positive Feedback Message.
  2. I Intensity Router behåller ni reglerna för att {{ $json.intensity }} är lika med high, moderate och low.
  3. Verifiera routingen: Status Decision GateIntensity Router, och Status Decision GatePositive Feedback Message.
  4. För AI-svarsnoder (Low Concern Reply Writer, Moderate Reply Composer, High Alert Reply Builder) säkerställer ni att varje nod är ansluten till sin Gemini-nod (Gemini Chat Engine Low, Gemini Chat Engine Moderate, Gemini Chat Engine High) med googlePalmApi-uppgifter.
  5. Säkerställ att Send Low Reply, Send Moderate Reply och Send High Reply använder Text = {{ $json.output }} och chatId = [YOUR_ID].
  6. Inloggning krävs: Anslut era telegramApi-uppgifter i Positive Feedback Message, Send Low Reply, Send Moderate Reply och Send High Reply.

Tips: Uppdatera [YOUR_ID] med ett dynamiskt chat-ID (t.ex. {{ $json.message.chat.id }}) om ni vill att svar automatiskt ska gå till avsändaren.

Steg 6: konfigurera akut eskalering och automatiserad uppföljning

Skicka akuta e-postmeddelanden till läkare, skapa uppföljningsbesök och trigga externa samtal när meddelanden med hög intensitet dyker upp.

  1. Säkerställ att Send High Reply routar till Urgent Email Drafter och att Send Moderate Reply routar till Schedule Follow-up Agent.
  2. Verifiera att Gemini Chat Engine Email är ansluten till Urgent Email Drafter och har googlePalmApi-uppgifter.
  3. I Dispatch Doctor Email behåller ni uttrycken för sendTo, subject och message som använder $fromAI. Inloggning krävs: Anslut era gmailOAuth2-uppgifter.
  4. I External Call Request ställer ni in URL till https://api.vapi.ai/call och lägger till headern Authorization: Bearer [CONFIGURE_YOUR_TOKEN].
  5. För schemaläggning: verifiera att Schedule Follow-up Agent använder {{ $('Patient Message Summarizer').item.json.output }} och {{ $now }}, och sedan anropar Create Calendar Event och Send Appointment Text.
  6. Inloggning krävs: Anslut era googleCalendarOAuth2Api-uppgifter i Create Calendar Event och telegramApi-uppgifter i Send Appointment Text.
  7. Kom ihåg: uppgifter för AI-verktyg (t.ex. Lookup Sheet Rows Email, Dispatch Doctor Email, External Call Request, Create Calendar Event, Send Appointment Text) måste konfigureras på den överordnade agenten (Urgent Email Drafter eller Schedule Follow-up Agent), inte på verktygsnoderna i sig.

⚠️ Vanlig fallgrop: Om Dispatch Doctor Email får tomma fält från $fromAI, bekräfta att AI-utkastets utdata innehåller giltiga värden för Subject, Message och To.

Steg 7: konfigurera automatiserade uppföljningstexter

Skicka dagliga avstämningar till patienter som fortfarande är inom sin uppföljningsperiod.

  1. I Filter Follow-up Records behåller ni JavaScript-logiken som jämför start_date och Follow_up_duration(days).
  2. I Dispatch Follow-up Text behåller ni meddelandetexten med namn-uttrycket {{ $('Filter Follow-up Records').item.json.Name }}.
  3. Inloggning krävs: Anslut era telegramApi-uppgifter i Dispatch Follow-up Text.
  4. Verifiera flödet Retrieve Sheet RowsFilter Follow-up RecordsDispatch Follow-up Text.

Tips: Lägg till en kolumn för Telegram-chat-ID:n i ert kalkylblad och använd den för att ersätta [YOUR_ID] för personliga uppföljningar.

Steg 8: testa och aktivera ert workflow

Kör ett end-to-end-test för att bekräfta att uppföljningar, AI-triage, routing och larm fungerar.

  1. Kör Scheduled Check Trigger manuellt och verifiera att Dispatch Follow-up Text skickar ett meddelande för giltiga poster.
  2. Skicka ett Telegram-meddelande till Incoming Telegram Trigger och bekräfta att det flödar via Map Incoming FieldsPatient Message SummarizerTriage Classifier.
  3. Kontrollera att ett “positivt” meddelande triggar Positive Feedback Message, medan ett meddelande med oro triggar Intensity Router och rätt svarsnod.
  4. För ett meddelande med hög intensitet: bekräfta att Urgent Email Drafter skapar e-postinnehåll och att Dispatch Doctor Email skickar det.
  5. För ett meddelande med moderat intensitet: bekräfta att Schedule Follow-up Agent triggar Create Calendar Event och Send Appointment Text.
  6. När testet lyckas, växla workflowet till Active så att det dagliga schemat körs i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningsuppgifter kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera panelen Credentials i n8n och bekräfta att det kopplade Google-kontot fortfarande har åtkomst till arket.
  • Om du använder Wait-noder eller extern rendering varierar behandlingstiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Telegram-botens behörigheter och chattkontext spelar roll. Om svar inte fångas, verifiera att du skriver till rätt bot, att boten är tillåten i chatten och att Telegram Trigger pekar på rätt uppdateringstyp.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Telegram-uppföljningar?

Cirka 45 minuter om ditt Sheet, din bot och dina Google-konton är redo.

Behöver jag kunna koda för att automatisera Telegram-uppföljningar?

Nej. Du kopplar inloggningsuppgifter och mappar några kolumner i Google Sheets. Den enda ”tekniska” delen är att testa Telegram-boten från start till mål.

Är n8n gratis att använda för den här workflowen för Telegram-uppföljningar?

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 Gemini API-användning, som beror på meddelandevolym och promptstorlek.

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änsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa den här automatiseringen för Telegram-uppföljningar för olika postoperativa protokoll?

Ja, och det bör du. Uppdatera promptarna i agenterna Patient Message Summarizer och Triage Classifier så att de speglar era symptomfrågor och trösklar. Du kan också justera reglerna i Intensity Router för att lägga till en gren för ”behöver ringas”, och anpassa tidpunkten i Schedule Trigger så att check-ins går ut efter utskrivning i stället för tidigt på morgonen.

Varför fallerar min Telegram-anslutning i den här workflowen?

Oftast handlar det om bot-token, fel chattkontext eller att triggern inte tar emot uppdateringar. Kontrollera Telegram Bot-inloggningsuppgifterna i n8n igen, skicka sedan ett nytt meddelande till boten och följ körningen för att bekräfta att Incoming Telegram Trigger triggar. Om den triggar men efterföljande noder fallerar beror det ofta på fältmappning i ”Map Incoming Fields” eller att patientidentifierare saknas för att matcha tillbaka till Google Sheets.

Hur många patientsvar kan den här automatiseringen för Telegram-uppföljningar hantera?

På n8n Cloud beror det på dina körningsgränser och hur ”pratiga” dina uppföljningar är, men de flesta kliniker kan utan problem köra hundratals meddelanden per dag på en mindre plan. Om du kör egen hosting finns ingen plattformsgräns för körningar; serverresurser och API:ernas rate limits blir de främsta begränsningarna. I praktiken hanterar den här workflowen toppar bra eftersom varje svar behandlas oberoende. Om du väntar hög volym: korta ner AI-prompten och lägg på lätt throttling så att Gmail- och Calendar-noderna inte slår i rate limits.

Är den här automatiseringen för Telegram-uppföljningar bättre än att använda Zapier eller Make?

Ofta, ja. n8n hanterar triagelogik med flera grenar bättre, och egen hosting gör att kostnaderna blir mer förutsägbara när volymen växer. Du får också tajtare kontroll över hur AI-klassificeringen routas till Gmail och Google Calendar. Zapier eller Make kan fungera för enkla flöden som ”skicka meddelande, logga svar”, men det här har flera beslutspunkter. Prata med en automationsexpert om du vill ha en snabb rekommendation för din setup.

När detta väl är igång slutar uppföljningar vara en daglig brandkårsutryckning och börjar fungera som ett system. Workflowen tar hand om repetitiv triage och routing, så att teamet kan fokusera på de patienter som faktiskt behöver uppmärksamhet.

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