目录

n8n 工作流教程:创建每天自动发送的天气通知

本节将创建一个完整的小项目:每天早上 7 点,获取台北的天气预报,整理成一段文字发送到你的邮箱。

[Schedule Trigger] ─▶ [HTTP Request] ─▶ [Edit Fields] ─▶ [Send Email]
   每天 07:00          获取天气数据        整理成文字         发送通知

天气数据使用免费且无需注册的 Open-Meteo API。

步骤 1:创建工作流和触发器

  1. 在首页点击 Create Workflow,将名称改为“每日天气通知”。
  2. 点击 Add first step,搜索并选择 Schedule Trigger。
  3. 设置:
    • Trigger Interval:Days
    • Days Between Triggers:1
    • Trigger at Hour:7am
    • Trigger at Minute:0
Schedule Trigger 设置:每天 7am
Schedule Trigger:Trigger Interval 选择 Days,Trigger at Hour 选择 7am

确认 n8n 的时区设置正确(GENERIC_TIMEZONE=Asia/Taipei),否则工作流会在错误的时间运行。

步骤 2:获取天气数据

  1. 在 Schedule Trigger 后添加 HTTP Request 节点。

  2. 设置:

    • Method:GET

    • URL:

      https://api.open-meteo.com/v1/forecast?latitude=25.03&longitude=121.56&daily=temperature_2m_max,temperature_2m_min,precipitation_probability_max&timezone=Asia%2FTaipei&forecast_days=1
  3. 点击 Execute step,右侧 OUTPUT 中会显示 API 返回的数据:

HTTP Request 节点的输出数据
执行 HTTP Request 后,右侧 OUTPUT 显示 Open-Meteo 返回的天气数据
{
  "daily": {
    "time": ["2026-10-12"],
    "temperature_2m_max": [28.4],
    "temperature_2m_min": [22.1],
    "precipitation_probability_max": [60]
  }
}

(数值每天都不同。)

步骤 3:整理成一段文字

  1. 添加 Edit Fields (Set) 节点。
  2. 点击 Add Field,名称填写 message,类型选择 String。
  3. 将值字段切换为 Expression,输入:
今天({{ $json.daily.time[0] }})台北天气:
最高 {{ $json.daily.temperature_2m_max[0] }}°C,最低 {{ $json.daily.temperature_2m_min[0] }}°C,
降雨概率 {{ $json.daily.precipitation_probability_max[0] }}%。
{{ $json.daily.precipitation_probability_max[0] >= 50 ? '☔ 记得带伞!' : '☀️ 应该不用带伞。' }}

{{ }} 中的内容是表达式,$json 表示上一个节点的输出数据。下方的预览会实时显示结果。表达式的详细用法见表达式教程。

  1. 点击 Execute step 确认输出。
Edit Fields 节点使用表达式生成消息
Edit Fields:左侧将 INPUT 中的字段拖入表达式,右侧 OUTPUT 立即显示组合后的消息

步骤 4:发送 Email

最简单的方法是使用 Send Email 节点(通过 SMTP):

  1. 添加 Send Email 节点。
  2. 在 Credential 中选择 Create new credential,填写 SMTP 设置。以 Gmail 为例:
    • Host:smtp.gmail.com
    • Port:465,启用 SSL/TLS
    • User:你的 Gmail 地址
    • Password:Google 账号的应用专用密码(需要先开启两步验证,然后在 Google 账号的安全设置中创建)
  3. 设置:
    • From Email、To Email:你的邮箱
    • Subject:今日天气
    • Email Format:Text
    • Text:将 INPUT 中的 message 字段拖到这里,或输入 {{ $json.message }}

也可以改用 Gmail 节点(OAuth 授权)、Telegram、LINE 或 Discord 节点,只需替换最后一个节点即可。凭证的设置方法见凭证管理。

步骤 5:测试整个流程

点击下方的 Execute workflow,所有节点会依次运行,每个节点右上角都会显示绿色对勾和输出的项目数量。检查邮箱是否收到通知。

运行完成的天气通知工作流
运行成功的节点会显示绿色边框和对勾,连线上会显示传递的项目数(1 item)

如果某个节点出现红色错误,点击该节点查看错误信息,修正后再运行一次。

步骤 6:保存并发布

  1. 点击 Save 保存。
  2. 点击 Publish 发布。之后每天早上 7 点都会自动运行。

查看执行记录

切换到 Executions 标签页,可以查看每天自动运行的记录。点击任意一次执行,即可查看当时每个节点的数据。

n8n 执行记录列表和失败的执行
Executions 标签页:左侧是每次执行的记录,右侧显示当时每个节点的状态,失败的节点会用红框标出

延伸练习

  • 改为同时查询台北、台中、高雄三个城市(提示:在 HTTP Request 前添加一个生成三条数据的节点,n8n 会自动对每条数据运行一次,见数据结构与 items)。
  • 仅在降雨概率超过 50% 时发送邮件(提示:使用 If 节点,见常用核心节点)。

更新于 2026年10月12日