Adrian
Experienced tech professional with 10+ years in Big Data, AI, and automation, former bootcamp director, and passionate about innovation and strategic growth.
Templates by Adrian
Plant care reminder with OpenWeather, Sheets and Telegram
This workflow automates plant care reminders and records using Google Sheets, Telegram, and OpenWeather API. It checks when each plant needs watering or fertilizing, sends a personalized reminder, and lets you confirm the task with a single button. When confirmed, it updates your Google Sheet and shows a confirmation HTML page. Who is it for? Home gardeners who want to automate watering and fertilizing schedules. Anyone managing a plant collection, greenhouse, or garden and wanting a lightweight, no-code reminder system. How it works Schedule Trigger starts the workflow once per day. Read Settings (Google Sheets) checks if vacation_mode is active. Read Plants (Google Sheets) retrieves all plants with columns such as id, plant, lastwater, waterfreq, etc. DecideDue (Code Node) compares today’s date with the last watering/fertilizing date and marks which plants are due. OpenWeather Request (optional) fetches local forecast for plants with coordinates and weather_delay = true. WeatherGate (Code Node) skips or delays watering if it recently rained or if rain is expected soon. Telegram Send Message sends a reminder for each due task. The message contains an inline button “Mark as done” linking to your webhook URL (opens confirmation window). Webhook – Confirm Done receives the click, update dates on Google Sheets, appends an optional log entry, and returns an HTML confirmation page. Setup steps Principal Workflow Spreadsheet- Create a Google Sheets document with: plants sheet: (id, plant, lastwater, waterfreq, lastfert, fertfreq, lat, lon, weatherdelay , indoor, thirstlevel) settings sheet: (vacation_mode, timezone) log sheet: (ts, plantid, action messageid) Connect your Google account Configure the Schedule Trigger Enable weather integration (Get a free OpenWeather API key) and add it to the HTTP Request node parameters appid. https://openweathermap.org/api Configure Telegram with your credential and your chat id on {YOURCHATID}. Configure "Send Dues" node with your custom url https://{YOURPROJECTURL}.app.n8n... Setup steps Sub-Workflow (Webhook) Trigger: Configure your custom Path. Google Sheets: Connect your Google Account and Map sheets and columns. Requirements · A Google account with access to Google Sheets. . A spreadsheet containing three sheets with headers matching the field names used in the workflow. . A telegram bot. . OpenWeather API key for climate-aware watering. How to customise it Add plant photos: Include a photo URL column and show it in the Telegram message. Extend actions: Add pruning, repotting or any other periodic task by duplicating the existing logic.
Daily NASA APOD Images to Instagram with Telegram Notifications
This workflow fetches NASA’s Astronomical Picture of the Day (APOD), prepares a caption combining the title and explanation, publishes the image to Instagram and sends you a Telegram notification with the result. It runs on a schedule so you can share inspiring space images without manual effort. Who is it for? Designed for science communicators, educators, astronomy fans and social media managers who want to share the APOD each day without searching for content. It’s also helpful for anyone looking to automate daily posts while receiving clear success or failure notifications. How it works A Schedule Trigger fires every day at 18:00 (adjustable) to start the workflow. The Get APOD HTTP request node calls https://api.nasa.gov/planetary/apod using your NASA API key and retrieves the image URL, title and explanation. The Prepare Caption node builds a caption by concatenating the title and explanation, and extracts the image URL. Prepare IG Post node sends a POST request to https://graph.facebook.com/v23.0/{YOURAPPID}/media with the image URL and caption to create a media container on Instagram. A Wait node pauses the workflow while Instagram processes the media. The Get Status for Publish request checks the status of the media; the If node proceeds only when the status_code equals FINISHED. When ready, the Publish Post node calls to https://graph.facebook.com/v23.0/{YOURAPPID}/mediapublish endpoint with the creationid to publish the photo on Instagram. On success, a Telegram node sends a message such as “PUBLISH STATUS: FINISHED” to your chat; on failure, another Telegram node notifies you that the upload failed and the workflow stops with an error. Setup steps ++Node Get APOD:++ Configure Query Auth with your own Nasa credential. ++Node: Prepare IG Post:++ Create a Facebook app and generate an access token with instagrambasic and pagesmanageposts permissions; Configure the url with you ID from you Meta Graph {YOURAPP_ID}. Configure Facebook Graph API Credential Type with your token, you can generate in your API Graph Explorer ++Node Get Status For Publish:++ Configure your Facebook Graph API token like before. ++Node Publish Post:++ Configure your Facebook Graph API token like before and configure the url with you ID from you Meta Graph {YOURAPPID}. ++Node Send Finish Message:++ Configure your token from Telegram API and your Telegram Chat ID {YOURCHATID}. ++Node Send Fail Message:++ Configure your token from Telegram API and your Telegram Chat ID {YOURCHATID}. Test the workflow to ensure the image posts correctly and that the Telegram notifications reflect the status. Requirements · NASA APOD API key from api.nasa.gov. · Instagram account linked to a Facebook page and a valid Facebook Graph API token with the appropriate permissions. · Telegram bot token and chat ID. How to customise it You can change the posting time or frequency, edit the caption template to include hashtags or links, or send success/failure notifications via email or Slack instead of Telegram. You might also save the images to cloud storage or cross‑post to other platforms, and adjust the error handling logic based on your needs.
Automate random chore assignments with Google Sheets and Gmail notifications
This workflow automates the assignment of household chores. It reads tasks and a list of people from Google Sheets, pairs each task with someone, updates the spreadsheet with the assignments and emails each person their chores. Each run makes a random assignment so you don’t have to decide who does what. By running on a schedule, it keeps your chore rotation automated. Who is it for? Designed for families, roommates, flat‑shares or property managers who want to keep track of recurring chores without endless group chats or arguments. It’s also helpful for anyone coordinating a team of cleaners or volunteers and wishing to automate a fair distribution of tasks. How it works A Schedule Trigger starts the workflow at a regular interval (default every seven days). Google Sheets node reads the “Tasks” sheet from your spreadsheet. Each row contains a chore with a task. Another Google Sheets node reads the “Persons” sheet to obtain the list of people available to do chores. Next a Code node filters out any people without an email address and any tasks without a task name, then selects a random person for each task. A Gmail node sends each person an email summarising the chore they’ve been assigned. The last Google Sheets node updates the “Tasks” sheet, writing the assigned person’s name into the assigned_to column. Setup steps Spreadsheet – Create a Google Sheets document with two sheets. The first sheet “Tasks” should have columns for task, description, assignedto and a “hidden rownumber”. The second sheet “Persons” should have columns for name and email and “hidden row_number”. Fill them with your current chores and household members. Connect your Google account – In the Get Tasks and Get People nodes, select the credential for your Google account and search for your sheets. Configure the Schedule Trigger – Set the trigger interval (for example, every seven days on a Sunday evening). Edit the assignment logic (optional) – The Code node is preconfigured to filter data and assign tasks randomly. You can modify this script if you prefer a round‑robin approach, weighting by difficulty, or any other logic. Configure Gmail – In the Send a message node, select your Gmail credential. If you want you can customise the subject and body of the email. Update sheet mapping – In the Update assignto node, ensure the assignedto column mapping writes the assigned person’s name back to the correct row. The workflow uses the row_number to match the row being updated. Test and activate – Run the workflow manually to verify it reads your sheets, assigns tasks and sends emails. Once satisfied, activate the schedule so it runs automatically. Requirements · A Google account with access to Google Sheets and Gmail. · A spreadsheet containing two sheets as described above (see images), with headers matching the field names used in the workflow. How to customise it Change the schedule interval to suit your rotation, edit the email template to include due dates or motivational messages, or modify the assignment script to weight tasks by difficulty. You could also send notifications via Slack or Telegram.