🌤️ Agent 2 of 5 · Beginner

Daily Weather Telegram Agent

Sends a personalised, emoji-rich weather report to Telegram every morning at 8 AM — no Google Cloud or OAuth setup needed, just two free API keys.

Beginner 4 Nodes Scheduled Trigger OpenWeatherMap API Telegram Bot API
How It Works

Architecture

[ Schedule Trigger ] Fires every day at 8:00 AM ↓ [ HTTP Request → OpenWeatherMap API ] Fetches temperature, humidity, wind, conditions ↓ [ Code Node (JavaScript) ] Formats the data into a readable message with weather emojis ↓ [ HTTP Request → Telegram Bot API ] Sends the formatted message to your Telegram chat
✅ Total nodes: 4  ·  Trigger: 0 8 * * * (8 AM daily)  ·  APIs: OpenWeatherMap + Telegram — no OAuth needed

Sample Telegram Message

🌤 Morning Weather Report 📅 Wednesday, 22 July 2026 📍 Pune, IN 🌡 Temperature: 28°C (Feels like 31°C) 🔼 High: 33°C 🔽 Low: 24°C 💧 Humidity: 72% 💨 Wind: 3.2 m/s 🌤 Condition: Broken clouds Have a great day! 🙌
Before You Start

What You Need

WhatWhere to get itTime
Docker Desktopdocker.com/products/docker-desktop5 min
Telegram Bot Token@BotFather on Telegram2 min
Telegram Chat ID@userinfobot or getUpdates URL1 min
OpenWeatherMap API Keyopenweathermap.org/api3 min
✅ No Google Cloud setup needed for this agent — much simpler than the Gmail-based agents.
Build Guide

Step-by-Step Setup

1

Install Docker & Run n8n

docker run -d \ --name n8n \ --restart unless-stopped \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ docker.n8n.io/n8nio/n8n

Open http://localhost:5678 and create your local account. New to Docker? Follow the full Docker & n8n Setup Guide →

2

Get an OpenWeatherMap API Key

Sign up free at home.openweathermap.org, verify your email, then copy the Default API key from your account page. New keys take up to 10 minutes to activate.

3

Create Your Telegram Bot

Message @BotFather, send /newbot, follow the prompts, and copy the Bot Token.

4

Get Your Chat ID & Start the Bot

Message @userinfobot for your Chat ID, then find your own bot on Telegram and click Start (required before it can message you).

5

Import the Workflow

In n8n: + → New Workflow → ... → Import from file → select daily_weather_telegram.json. You should see 4 connected nodes.

6

Configure Get Weather

In the Get Weather node's Query Parameters, set q to your city (e.g. Pune,IN) and appid to your OpenWeatherMap key. Leave units as metric for °C.

7

Configure Send to Telegram

Replace PUT_YOUR_TELEGRAM_BOT_TOKEN_HERE in the URL and PUT_YOUR_TELEGRAM_CHAT_ID_HERE in the JSON body (keep the single quotes around the Chat ID).

8

Test & Publish

Save, click Execute workflow — all 4 nodes should turn green and the report should arrive on Telegram. Click Publish to activate the daily schedule.

Reference

Configuration & Troubleshooting

Configuration Reference

What to changeWhere
Schedule time"Every Day 8AM" node → cron expression
City"Get Weather" node → Query Parameters → q
Temperature unit"Get Weather" node → units (metric=°C, imperial=°F)
Message format"Format Weather Message" Code node

Troubleshooting

ErrorCauseFix
401 - Invalid API keyNew OpenWeatherMap keyWait up to 10 min for activation
400 - Bad RequestCity name not foundUse CityName,CountryCode format e.g. Pune,IN
403 - Forbidden from TelegramBot not startedOpen Telegram → find your bot → click Start
Weather not arriving at 8 AMWorkflow not publishedClick Publish — saving isn't enough
Go Further

Ideas to Extend

  • Call the /forecast endpoint for a 5-day outlook
  • Add an IF node — only send if rain is expected
  • Send weather for two cities (home and office)
  • Every Sunday, send a 7-day summary instead
Built With

Tech Stack

n8n OpenWeatherMap API Telegram Bot API Docker