Dina växter dör inte av vanvård. De dör av ”jag gör det senare” och av att vattningsscheman bor på tre ställen: i huvudet, i en slumpmässig anteckning och i en kalender du ignorerar. Missar du en cykel gissar du. Igen.
Hemmaodlare känner av det här först, ärligt talat. Men det drabbar också små växthusverksamheter och stressade byråägare som av någon anledning blev ”växtpersonen” hemma. Den här Sheets Telegram reminders-setupen tar bort behovet av att komma ihåg och ger dig ”klart”-loggning med ett enda tryck.
Nedan ser du hur arbetsflödet kontrollerar vad som förfaller, skickar en Telegram-påminnelse och uppdaterar ditt Google Sheet i samma ögonblick som du bekräftar. Du kan även lägga in en spärr mot vattning baserat på väder när du vill.
Så fungerar automationen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + Telegram: missa aldrig växtskötsel igen
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Read plants", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "Read settings", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>DecideDue"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>OpenWeather request"]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>WeatherGate"]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Weather Tag", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set DecideTag", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Merge"]
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "¿Pending task?", pos: "b", h: 48 }
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Final Message No Dues"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Vacation Mode", pos: "b", h: 48 }
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Final Message No Dues1"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Dues"]
n6 --> n11
n6 --> n14
n9 --> n5
n3 --> n10
n1 --> n3
n5 --> n6
n2 --> n12
n8 --> n9
n12 --> n1
n7 --> n9
n10 --> n4
n10 --> n8
n10 --> n13
n0 --> n2
n4 --> n7
end
subgraph sg1["Flow 2"]
direction LR
n15["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
n16["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Prepare Data"]
n17@{ icon: "mdi:database", form: "rounded", label: "Append Log", pos: "b", h: 48 }
n18["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Respond to Webhook"]
n19["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>HTML"]
n20@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n21@{ icon: "mdi:database", form: "rounded", label: "Update Water", pos: "b", h: 48 }
n22@{ icon: "mdi:database", form: "rounded", label: "Update Fert", pos: "b", h: 48 }
n23@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If1", pos: "b", h: 48 }
n23 --> n21
n23 --> n22
n19 --> n18
n15 --> n16
n17 --> n20
n20 --> n19
n22 --> n17
n16 --> n23
n21 --> n17
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n6,n10,n12,n23 decision
class n1,n2,n17,n21,n22 database
class n4,n15,n18 api
class n3,n5,n16,n19 code
classDef customIcon fill:none,stroke:none
class n3,n4,n5,n9,n11,n13,n14,n15,n16,n18,n19 customIcon
Utmaningen: att vara konsekvent med vattning och gödsling
Växtskötsel är ”enkelt” tills du har fler än några krukor och de alla vill ha olika saker. En behöver vatten var tredje dag, en annan var tionde. Gödsling går i en helt annan rytm. Sen händer livet. Du glömmer när du vattnade senast, överkompenserar och plötsligt diagnostiserar du gula blad som om det vore ett extrajobb. Det värsta är den mentala belastningen: du dubbelkollar hela tiden, tänker om och missar ändå uppgifter eftersom inget puffar dig vid rätt tillfälle.
Det eskalerar snabbt. Här är var det faller isär när det görs manuellt.
- Du lägger cirka 10 minuter per växt och vecka på att bara kolla ”är det dags?” i anteckningar, appar och minnet.
- När du väl vattnar loggar du det inte, vilket gör att nästa veckas beslut bygger på känsla.
- Regn ställer till det för utomhusscheman, men de flesta påminnelser justerar inte, så du antingen slösar vatten eller väntar för länge.
- När du är bortrest glömmer du att pausa påminnelser, och hela systemet börjar ignoreras i stället för att kännas pålitligt.
Lösningen: dagliga växtpåminnelser med bekräftelse med ett tryck
Det här arbetsflödet gör ditt Google Sheet till ett lättviktigt växtskötselsystem som faktiskt sköter sig självt. En gång per dag läser n8n in dina inställningar (inklusive tidszon och en enkel växlare för semesterläge), och hämtar sedan varje växtrad från ditt ”plants”-ark. Det räknar ut vad som är förfallet baserat på last_water/water_freq och last_fert/fert_freq, och kan sedan valfritt kontrollera OpenWeather för att undvika vattning precis före (eller precis efter) regn för växter du har markerat som väderkänsliga. Om något är förfallet får du ett Telegram-meddelande med en inbyggd knapp ”Markera som klar”. Tryck på den och arbetsflödet uppdaterar rätt datum i Google Sheets, lägger till en loggrad och visar en strukturerad bekräftelsesida så att du vet att det sparades.
Arbetsflödet startar på ett schema, inte på att du kommer ihåg. Sedan avgör det vad som är förfallet, tillämpar väderspärren när den är aktiverad och skickar påminnelserna i Telegram. Bekräftelsen går tillbaka via en webhook, uppdaterar arket och sparar historik i en loggflik så att du kan granska vad som hände senare.
Vad som förändras: före vs. efter
| Det här eliminerar du | Effekten du märker |
|---|---|
|
|
Effekt i praktiken
Säg att du har 20 växter och kollar dem två gånger i veckan. Manuellt tar även en snabb genomgång och uppdatering av anteckningar kanske 5 minuter per växt, så du hamnar på ungefär 3 timmar i veckan bara på ”uppföljning”. Med det här arbetsflödet körs den dagliga kontrollen i bakgrunden, och du lägger bara tid på det som faktiskt är förfallet. En vanlig dag kanske du trycker på 3 bekräftelser i Telegram, vilket tar ungefär en minut, plus själva vattningen.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra växter, inställningar och loggar.
- Telegram för att leverera påminnelser och fånga bekräftelser.
- OpenWeather API-nyckel (skaffa den från openweathermap.org/api).
Svårighetsnivå: Medel. Du kopplar konton, mappar kolumner i arket och klistrar in en webhook-URL i en Telegram-knapp.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Arbetsflödets steg
Ett dagligt schema drar igång. n8n kör en gång per dag och läser direkt ditt ”settings”-ark, så att vacation_mode och timezone respekteras innan något annat händer.
Din växtlista hämtas från Google Sheets. Varje rad innehåller kadens (water_freq och fert_freq) plus senast genomförda datum. Arbetsflödet räknar ut vilka åtgärder som är förfallna i dag med samma logik du annars hade använt i huvudet, bara utan missarna.
Väderbaserad filtrering sker sedan (valfritt). För växter med koordinater och aktiverat weather_delay hämtar en OpenWeather-förfrågan prognosdetaljer, och en spärrkontroll kan hoppa över eller senarelägga vattning om regn väntas snart eller precis har fallit.
Telegram skickar påminnelser och hanterar trycket på ”klart”. Varje förfallen punkt skickas som ett meddelande med en knapp som pekar på din n8n-webhook. När du trycker uppdaterar webhooken antingen vattningsdatum eller gödslingsdatum, lägger till en loggrad och returnerar en enkel HTML-bekräftelsesida.
Du kan enkelt ändra vilka åtgärder som räknas som ”förfallna” och lägga till till exempel beskärning eller omplantering efter dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera schema-triggern
Det här arbetsflödet körs automatiskt varje morgon för att kontrollera växternas skötselscheman.
- Lägg till noden Scheduled Start som din trigger.
- Ställ in schemaregeln att köra vid
triggerAtHour: 9. - Koppla Scheduled Start till Load Settings Sheet.
Steg 2: Anslut Google Sheets-datakällor
Dessa noder laddar växtdata, inställningar och uppdateringsloggar. Eftersom det finns flera Google Sheets-noder, konfigurera inloggningsuppgifter en gång och applicera på alla.
- I Load Settings Sheet, välj kalkylarket
Plants Scheudleoch flikensettings. - I Fetch Plant Sheet, välj kalkylarket
Plants Scheudleoch flikenplants. - För uppdaterings-/loggnoderna (Append Activity Log, Update Watered Date, Update Fertilized Date), bekräfta att dokumentet är
Plants Scheudleoch att fliknamnen matchar arbetsflödet:logochplants. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter till Load Settings Sheet, Fetch Plant Sheet, Append Activity Log, Update Watered Date och Update Fertilized Date.
id, last_water, last_fert och schemafälten water_freq och fert_freq så att de matchar uppdateringsmappningarna.Steg 3: Beräkna förfallna uppgifter och väderförhållanden
Det här avsnittet beräknar vilka uppgifter som är förfallna och kontrollerar vädret för att vid behov skjuta upp vattning.
- I Compute Due Actions, behåll den medföljande JavaScript-koden som returnerar arrayerna
dueochtoCheckWeather. - I Check Pending Tasks, verifiera att villkoret kontrollerar
{{ $json.due }}med operatornnotEmpty. - Check Pending Tasks skickar utdata parallellt till både Weather API Fetch och Tag Due Payload.
- I Weather API Fetch, sätt URL till
https://api.openweathermap.org/data/2.5/forecastoch query-parametrarna:lat={{ $json.due[0].lat }},lon={{ $json.due[0].lon }},appid=[CONFIGURE_YOUR_API_KEY],units=metric,cnt=16. - I Tag Weather Payload, sätt source till
weatheroch aktivera Include Other Fields. - I Tag Due Payload, tilldela today =
{{ $json.today }}, due ={{ $json.due }}, toCheckWeather ={{ $json.toCheckWeather }}och source =decide. - Sammanfoga båda flödena i Combine Weather & Due och använd sedan Weather Filter Logic för att filtrera bort uppgifter baserat på regnprognoser.
[CONFIGURE_YOUR_API_KEY] i Weather API Fetch med en giltig OpenWeather API-nyckel, annars kommer väderbaserad filtrering att misslyckas.Steg 4: Konfigurera notiser och routning när inga uppgifter finns
Efter väderfiltreringen skickar arbetsflödet antingen aviseringar eller ett meddelande om att det inte finns några uppgifter.
- I Noop Branch Check, behåll det booleska villkoret som kontrollerar
{{ $json.noop }}. - Om inga uppgifter är förfallna, routea till Notify No Tasks och sätt Text till
=No plants due today ✅och Chat ID till[YOUR_ID]. - Om uppgifter är förfallna, routea till Dispatch Due Alerts och sätt Text till
{{ $json.message }}med URL:en för inline keyboard-knappen:=https://{YOUR_PROJECT_URL}.app.n8n.cloud/webhook/plant-confirm?plant={{ $('Weather Filter Logic').item.json.plant_id }}&action={{ $('Weather Filter Logic').item.json.action }}. - Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter till Notify No Tasks, Notify Vacation Mode och Dispatch Due Alerts.
[YOUR_ID] och {YOUR_PROJECT_URL} till ert Telegram chat ID och er publika n8n-URL innan ni testar.Steg 5: Aktivera logik för semestermode
Arbetsflödet kan stoppa aviseringar när semestermode är aktiverat i er inställningsflik.
- I Vacation Mode Check, säkerställ att villkoret kontrollerar att
{{ $json.vacation_mode }}är lika medon. - När semestermode är på, routea till Notify Vacation Mode med Text satt till
=“No plants due today ✅”. - När semestermode är av, routea till Fetch Plant Sheet för att fortsätta utvärderingen av förfallna uppgifter.
Steg 6: Konfigurera bekräftelse-webhooken och uppdateringar i arket
När en användare klickar på “Mark as done” uppdaterar arbetsflödet växtposten och loggar aktiviteten.
- I Incoming Confirm Webhook, sätt Path till
plant-confirmoch Response Mode tillresponseNode. - I Prepare Confirmation Data, behåll JavaScript-koden som validerar query-parametrarna
plantochaction. - I Action Type Check, verifiera att villkoret kontrollerar att
{{ $json.action }}är lika medwaterför att routea till Update Watered Date; annars routea till Update Fertilized Date. - I Update Watered Date, behåll mappningarna id =
{{ $json.id }}och last_water ={{ $json.today }}. - I Update Fertilized Date, behåll mappningarna id =
{{ $json.id }}och last_fert ={{ $json.today }}. - I Append Activity Log, lägg till kolumner som ts =
{{$now}}, action ={{ $('Prepare Confirmation Data').item.json.action }}och message_id ={{$json["id"]}}-{{ $('Prepare Confirmation Data').item.json.action }}-{{$now}}. - I Map Confirmation Fields och Build HTML Response, behåll befintliga mappningar för att generera bekräftelsesidan och svara sedan via Return Webhook Reply med
{{ $json.body }}.
Steg 7: Testa och aktivera ert arbetsflöde
Validera både den schemalagda körningen och det manuella bekräftelseflödet.
- Klicka på Execute Workflow för att testa den schemalagda grenen och säkerställ att Notify No Tasks eller Dispatch Due Alerts skickar ett Telegram-meddelande.
- Klicka på knappen “Mark as done” i Telegram och bekräfta att Incoming Confirm Webhook-sökvägen returnerar HTML-svaret från Return Webhook Reply.
- Verifiera att växtraden uppdateras i fliken
plantsoch att en ny post visas i flikenlog. - Slå på Active för att aktivera den schemalagda automatiseringen för daglig användning.
Se upp med
- Autentisering för Google Sheets kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera status på autentiseringen i n8n och bekräfta att det anslutna Google-kontot kan redigera kalkylarket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Telegram-knappar i meddelanden är beroende av att din webhook-URL är korrekt och nåbar. Om tryck inte gör något, kontrollera länken ”Markera som klar” igen och bekräfta sedan att din n8n-webhook-sökväg matchar exakt.
Vanliga frågor
Cirka en timme om ditt Google Sheet och din Telegram-bot är redo.
Ja, men du vill följa uppsättningschecklistan noggrant. Ingen kodning krävs, men du kommer att mappa kolumner och klistra in en webhook-URL.
Ja. n8n har ett gratis alternativ för egen hosting 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 användningen av OpenWeather API (ofta gratis vid låg volym).
Två alternativ: n8n Cloud (hanterat, enklast setup) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Du kan justera logiken i ”Compute Due Actions” för att lägga till nya återkommande uppgifter som beskärning eller omplantering, och sedan spegla samma mönster som används för vattning och gödsling. Om du inte vill ha väderspärr, inaktivera OpenWeather-förfrågan och grenen ”Weather Filter Logic”. Många lägger också till en kolumn photo_url och inkluderar den i Telegram-meddelandet i ”Dispatch Due Alerts” så att påminnelsen blir direkt igenkännbar.
Oftast beror det på att chatt-ID eller bot-token är fel, eller att boten saknar behörighet att skriva till dig. Dubbelkolla Telegram-autentiseringen i n8n och bekräfta sedan att boten kan skicka ett vanligt testmeddelande. Om påminnelser skickas men trycket på ”Markera som klar” misslyckas är det oftast webhook-URL:en eller en mismatch i sökvägen. Håll också koll på nätverksblockeringar om du kör egen hosting och inte har exponerat webhooken publikt.
För de flesta hem- eller småväxthusupplägg är kapacitet inget problem. Med n8n Cloud Starter klarar du en typisk daglig körning plus webhook-klick utan problem, och egen hosting tar bort körningsbegränsningar (din server blir flaskhalsen). I praktiken fungerar dussintals växter och ett dagligt schema fint, eftersom varje växt bara är en radkontroll plus ett enstaka väderanrop ibland.
Ofta, ja, eftersom ”förfallet”-beräkningen och väderspärren är riktig logik, inte bara en enkel trigger–action-kedja. n8n gör också webhookflödet för bekräftelse rakt på sak, vilket är viktigt här eftersom ditt ”klart”-klick måste skriva tillbaka till Google Sheets och logga åtgärden. Zapier och Make kan göra det, men förgreningar och dataformning kan bli klumpigt när du lägger till gödsling, regnfördröjningar och semesterläge. Om du bara vill ha en påminnelse för en växt räcker enklare verktyg. Om du vill att det ska skala snyggt är n8n ett mer bekvämt val. Prata med en automationsexpert om du vill ha hjälp att välja.
När detta väl rullar blir ditt ark din enda sanningskälla och Telegram blir puffen. Du gör skötseln. Arbetsflödet sköter påminnelserna.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.