个性化天气助手(集成 Google Calendar、WeatherAPI、AI 和 Telegram)
中级
这是一个Personal Productivity, AI Chatbot领域的自动化工作流,包含 15 个节点。主要使用 If, Set, Telegram, HttpRequest, GoogleCalendar 等节点。 集成 Google Calendar、WeatherAPI、Gemini 和 Telegram 的个性化天气助手
前置要求
- •Telegram Bot Token
- •可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "",
"meta": {
"instanceId": "",
"templateCredsSetupCompleted": true
},
"name": "个性化天气助手(集成 Google Calendar、WeatherAPI、AI 和 Telegram)",
"tags": [],
"nodes": [
{
"id": "c3104ac5-46d1-44b0-9086-ea7126a7e872",
"name": "由 Github 模型提供支持",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-900,
-320
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 6
}
]
}
},
"typeVersion": 1.2
},
{
"id": "2b570610-c022-47bc-a67d-d561aacd3339",
"name": "获取多个活动",
"type": "n8n-nodes-base.googleCalendar",
"position": [
-560,
-320
],
"parameters": {
"options": {},
"timeMax": "={{ $now.setZone($json.Timezone).plus({ day: 1})}}",
"timeMin": "={{ $now.setZone($json.Timezone) }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "primary"
},
"operation": "getAll"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "kUu2RaLw3ADsvumP",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "a244ba68-cea7-4a97-9f40-097a04bc6417",
"name": "HTTP请求",
"type": "n8n-nodes-base.httpRequest",
"position": [
-120,
-460
],
"parameters": {
"url": "=http://api.weatherapi.com/v1/current.json",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "key",
"value": "=YOUR_WEATHERAPI_KEY"
},
{
"name": "q",
"value": "={{ $json.location }}"
},
{
"name": "dt",
"value": "={{ $json['time start'].split('T')[0] }}"
},
{
"name": "hour",
"value": "={{ parseInt($json['time start'].split('T')[1].split(':')[0]) }}"
}
]
}
},
"executeOnce": false,
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "bd053ee0-aa73-4012-a6e7-a11d02d11b09",
"name": "如果",
"type": "n8n-nodes-base.if",
"position": [
-380,
-320
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.location }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f9af621c-ec65-4bb8-aed5-c3ae7c5b29fa",
"name": "AI 代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
160,
-460
],
"parameters": {
"text": "=agenda for (today, tomorrow) : {{ $('If').item.json.start.dateTime }}\nagenda: {{ $('Get many events').item.json.summary }},\nlocation: {{ $('Get many events').item.json.location }},\ntime: start {{ $('Get many events').item.json.start.dateTime }} end {{ $('Get many events').item.json.end.dateTime }},\ncondition in the location : Temperature (Feels Like) {{ $json.current.feelslike_c }}, Humidity {{ $json.current.humidity }}, UV Index {{ $json.current.uv }}, Visibility {{ $json.current.vis_km }}, Wind (Direction + Speed) {{ $json.current.wind_kph }} {{ $json.current.wind_dir }}",
"options": {
"systemMessage": "=You are a smart personal assistant who helps users plan their day with agenda and weather information. Present information concisely, politely, and easily read. Avoid using technical language. Communicate it simply so it's easy to understand. Write in plain text without punctuation. Add emoji to make it more interactive.\n\nFormat each agenda item:\n- Event name and location\n- Time (if available)\n- Weather conditions\n- Provide a motivating statement or lighthearted advice if the weather is bad."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "04ba0f52-addc-45fd-a53e-357b61e40212",
"name": "OpenRouter聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
160,
-300
],
"parameters": {
"model": "google/gemini-2.0-flash-exp:free",
"options": {}
},
"typeVersion": 1
},
{
"id": "ecd56a45-2f16-40a5-87ec-d2adcae8acb1",
"name": "设置时区",
"type": "n8n-nodes-base.set",
"position": [
-720,
-320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "",
"name": "Timezone",
"type": "string",
"value": "UTC"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "f5d304be-a8a5-46f0-805e-ed31ec79b14c",
"name": "发送短信",
"type": "n8n-nodes-base.telegram",
"position": [
520,
-460
],
"webhookId": "YOUR_TELEGRAM_WEBHOOK_ID",
"parameters": {
"text": "={{ $json.output }}",
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "8657096c-2e49-49ce-a5bd-32e1eb86af8e",
"name": "AI 智能体2",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-120,
20
],
"parameters": {
"text": "=agenda for (today, tomorrow) : {{ $json.start.date }}\nagenda: {{ $json.summary }},\ntime: start {{ $json.start.date }} end {{ $json.end.date }},\n",
"options": {
"systemMessage": "=You are a smart personal assistant who helps users plan their day with agenda information. Present information concisely, politely, and easily read. Avoid using technical language; communicate it simply so it's easy to understand. Write in plain text without punctuation. Add emoji to make it more interactive.\n\nFormat each agenda item:\n- Event name\n- Time (if available)\n- Provide a motivating statement."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "ee687c11-4622-40db-b961-2c33584e8a26",
"name": "OpenRouter 聊天模型2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-120,
240
],
"parameters": {
"model": "google/gemini-2.0-flash-exp:free",
"options": {}
},
"typeVersion": 1
},
{
"id": "",
"name": "发送短信",
"type": "n8n-nodes-base.telegram",
"position": [
280,
20
],
"webhookId": "YOUR_TELEGRAM_WEBHOOK_ID",
"parameters": {
"text": "={{ $json.output }}",
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1640,
-960
],
"parameters": {
"width": 620,
"height": 1080,
"content": "# 个性化天气助手(集成 Google Calendar、WeatherAPI、AI 和 Telegram)"
},
"typeVersion": 1
},
{
"id": "",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-940,
-500
],
"parameters": {
"color": 2,
"width": 680,
"height": 340,
"content": "- 基于计划运行工作流,默认设置为上午 6 点。"
},
"typeVersion": 1
},
{
"id": "",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-620
],
"parameters": {
"color": 3,
"width": 560,
"height": 440,
"content": "- 根据事件位置、日期和时间(可自定义)从 WeatherAPI 获取本地天气数据"
},
"typeVersion": 1
},
{
"id": "",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-120
],
"parameters": {
"color": 4,
"width": 320,
"height": 480,
"content": "- 如果事件没有位置,数据仍将以个性化消息的形式呈现。"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "",
"connections": {
"If": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
],
[
{
"node": "AI Agent2",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Send a text message",
"type": "main",
"index": 0
}
]
]
},
"AI Agent2": {
"main": [
[
{
"node": "Send a text message1",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Set Timezone": {
"main": [
[
{
"node": "Get many events",
"type": "main",
"index": 0
}
]
]
},
"Get many events": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Set Timezone",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenRouter Chat Model2": {
"ai_languageModel": [
[
{
"node": "AI Agent2",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 个人效率, AI 聊天机器人
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用Gemini、语音和图像生成构建多模态Telegram AI助手
使用Gemini、语音和图像生成构建多模态Telegram AI助手
If
Set
Code
+19
95 节点Iniyavan JC
个人效率
使用AI和RSS的多平台YouTube内容生成器
使用AI和RSS从YouTube生成多平台内容
If
Set
Code
+10
37 节点Budi SJ
内容创作
使用Google Vision OCR、Telegram和Google Sheets的自动化财务报告
使用Google Vision OCR、AI和Telegram处理收据到Google表格
If
Set
Code
+12
31 节点Budi SJ
发票处理
CA - 远程助手
基于 Telegram 的个人 Google 日历和提醒机器人,使用 Gemini 和 Whisper
Set
Merge
Switch
+11
27 节点Khaisa Studio
个人效率
YouTube评论情感和关键词提取器
使用Gemini AI分析YouTube评论情感和关键词并通过Telegram报告
Set
Code
Telegram
+10
20 节点Budi SJ
市场调研
宠物美容发布与预约自动化
使用AI、Facebook和Telegram机器人自动化宠物美容发布与预约
If
Set
Switch
+17
36 节点Christian Moises
AI 聊天机器人
工作流信息
难度等级
中级
节点数量15
分类2
节点类型9
作者
Budi SJ
@budisjI’m a Product Designer who also works as an Automation Developer. With a background in product design and systems thinking, I build user-centered workflows. My focus is on helping teams and businesses work more productively through impactful automation systems.
外部链接
在 n8n.io 查看 →
分享此工作流