This powerful n8n automation sends you daily weather updates directly to your Telegram chat using live data from OpenWeatherMap. It supports automatic daily updates and manual lookups via form input.
✅ Prerequisites
Before you begin, make sure you have:
- A working n8n instance (v1.0 or later recommended).
- An account with OpenWeatherMap (free plan is sufficient).
- A Telegram Bot created via @BotFather.
- Your Telegram user ID or chat ID.
🔐 API & Bot Setup
🧩 OpenWeatherMap API
- Go to https://openweathermap.org/api
- Sign up and verify your account.
- Navigate to API Keys in your account dashboard.
- Copy your API key (used later in the HTTP Request node).
🤖 Telegram Bot
-
Open @BotFather in Telegram.
-
Run /newbot
and follow the prompts:
- Choose a name and username for your bot.
- You’ll get a bot token (copy this).
-
Start a chat with your new bot to activate it.
-
To get your Telegram User ID, use @userinfobot or an n8n Telegram Trigger node.
🔄 Trigger Options
⏰ Schedule Trigger (Automatic)
- Runs daily at 8:00 AM IST.
- Ideal for consistent, passive updates.
📝 Form Trigger (Manual)
- Input 🌆 City and 🌍 Country manually.
- Instantly receive weather info in Telegram.
🧠 How the Flow Works
-
Trigger Activated (Scheduled or Form)
-
City & Country fetched (default or from form)
-
HTTP Request sent to OpenWeatherMap with API key
-
Weather Data Parsed & Formatted:
- 📅 Current Date
- 📍 City & Country
- 🌤️ Weather Description
- 🌡️ Temperature (°C)
- 💧 Humidity (%)
- 🌬️ Wind Speed (m/s)
- 🔼 Atmospheric Pressure
- 🌅 Sunrise Time (IST)
- 🌇 Sunset Time (IST)
-
Message Sent to Telegram
🧰 Nodes Used
- Schedule Trigger – Runs every day at 8:00 AM IST
- Form Trigger – Accepts user input
- Set Node – Default city/country values and date formatting
- HTTP Request – Calls OpenWeatherMap API
- Function Node – Converts timestamps to IST
- Telegram Node – Sends formatted weather message
📦 Example Telegram Output
📅 Wednesday, 10 July 2025
🌤 Weather in Mumbai, IN:
Condition: Clear sky
Temperature: 30°C
💧 Humidity: 70%
🌬 Wind Speed: 3 m/s
🔼 Pressure: 1013 hPa
🌅 Sunrise: 5:57:12 AM
🌇 Sunset: 6:53:45 PM
🛠️ Customization Tips
🏙️ Change Default City/Country
- Locate the Set Node (used before the API call).
- Replace
"Mumbai"
and "IN"
with your preferred location.
- Or connect the Form Trigger input to allow dynamic values.
🕗 Change Schedule Time
- Open the Schedule Trigger node.
- Adjust to your preferred time zone and daily timing (e.g., 7 AM IST).
🧪 Add Extra Data
- OpenWeatherMap returns more fields like visibility, UV index, etc.
- You can include these in your Telegram message via the Function Node and Set Node.