Good Morning Telegram Agent
The simplest possible n8n agent — just 2 nodes. Every morning at 8 AM it automatically sends a "Good Morning" message with today's date to your Telegram chat. No OAuth, no Google Cloud, no paid APIs.
Architecture
0 8 * * * (8 AM daily) · API: Telegram Bot API (free, no billing)Sample Telegram Message
What You Need
| What | Where to get it | Time |
|---|---|---|
| Docker Desktop | docker.com/products/docker-desktop | 5 min |
| Telegram app | Your phone's app store | 2 min |
| Telegram Bot Token | @BotFather on Telegram | 2 min |
| Telegram Chat ID | @userinfobot or getUpdates URL | 1 min |
Step-by-Step Setup
Install Docker & Run n8n
Install Docker Desktop, then run n8n locally:
Wait 30 seconds, open http://localhost:5678, and create your local account. New to Docker? Follow the full Docker & n8n Setup Guide →
Create Your Telegram Bot
Message @BotFather on Telegram, send /newbot, choose a name and username (must end in "bot"). Copy the Bot Token it gives you.
Start a Chat With Your Bot
Search for your bot by username and click Start. Telegram blocks messages from bots you haven't started a conversation with.
Get Your Telegram Chat ID
Message @userinfobot to get your ID instantly, or visit https://api.telegram.org/botYOUR_TOKEN/getUpdates and read the "chat":{"id":...} field.
Import the Workflow
In n8n, click + → New Workflow → ... → Import from file, and select good_morning_telegram.json from the repo.
Configure the Send Node
Open the Send Good Morning node. Replace PUT_YOUR_BOT_TOKEN_HERE in the URL with your Bot Token, and PUT_YOUR_CHAT_ID_HERE in the JSON body with your Chat ID (keep the single quotes).
Test & Publish
Save with Cmd+S, click Execute workflow — both nodes should turn green and the message should land on Telegram instantly. Click Publish to activate the daily 8 AM schedule.
Configuration & Troubleshooting
Configuration Reference
| What to change | Where |
|---|---|
| Schedule time | "Every Day 8AM" node → cron expression |
| Message text | "Send Good Morning" node → JSON Body → text |
| Recipient | "Send Good Morning" node → JSON Body → chat_id |
| Bot | "Send Good Morning" node → URL (token) |
0 8 * * * (every day). For weekdays only, use 0 8 * * 1-5.Troubleshooting
| Error | Cause | Fix |
|---|---|---|
localhost:5678 not loading | n8n not running | Check Docker Desktop — n8n container should be running |
401 Unauthorized | Wrong Bot Token | Re-copy token from BotFather, no spaces |
400 - chat not found | Wrong Chat ID or bot not started | Send /start to your bot, re-verify Chat ID |
| Message not arriving at 8 AM | Workflow not published | Click Publish — saving alone isn't enough |
Ideas to Extend
- Personalise the message with the student's name using a Code node
- Call Gemini to generate a motivational quote each morning
- Combine with the Weather agent to include today's forecast
- Send to a Telegram group instead of one person