目次

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アカウントのアプリパスワード(先に2段階認証を有効にし、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タブ:左側に各実行の履歴、右側にそのときの各ノードの状態が表示され、失敗したノードは赤枠で示されます

発展課題

  • 台北、台中、高雄の3都市をまとめて調べるように変更します(ヒント:HTTP Requestの前に3件のデータを生成するノードを追加します。n8nは各データに対して自動的に1回ずつ実行します。データ構造とitemsを参照してください)。
  • 降水確率が50%を超えた場合だけメールを送るようにします(ヒント:If ノードを使います。よく使うコアノードを参照してください)。

更新日 2026年10月12日