目錄

建立第一個 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日