GODRICH

n8n ワークフロー サンプル9選、アカウント不要

n8n は、コードを書かずに複数のサービスをつなげて作業を自動化するツールです。AI で何か作ろうとしていてこの名前を初めて見た方のために、アカウント不要ですぐ動く n8n ワークフロー サンプルを9つ用意しました。API キーも要りません。

自動再生 · タイルを押すとその項目へ · すべて1つのzip

9つ全部が n8n に貼り付けて Manual Trigger を押すだけで実行でき、公開 API を使う項目は実際に 200 が返ることまで確認しています。9つは実際の作業が流れる順番に並べました。まず受け取る3つ(01 RSS・02 公開 API・03 Webhook)、次に定期的に回す2つ(04 週次レポート・05 バッチ処理)、続いてまとめて整える3つ(06 マージ・07 整理・08 抽出)、最後に条件で分岐する1つ(09 ルーティング)です。実際の自動化も大抵この順番で大きくなっていきます。

01RSS 毎日ダイジェスト

Schedule トリガーが毎朝7時に起動し(Manual Trigger でもすぐ試せます)、RSS Read が Hacker News のフロントページを読み込みます。Limit で先頭10件だけ残し、Code ノードがタイトルとリンクを1つの Markdown にまとめて digest フィールドに入れます。チームの朝会ブリーフィングを自動化したいときや、興味あるブログのまとめを毎朝受け取りたいときに使います。

Schedule + ManualRSS Read → Limit → CodeV2 실행 확인
{
  "name": "Build Digest",
  "type": "n8n-nodes-base.code",
  "typeVersion": 2,
  "parameters": {
    "jsCode": "const lines = $input.all().map(item => `- [${item.json.title}](${item.json.link})`);\nconst digest = '# Daily Digest\\n\\n' + lines.join('\\n');\nreturn [{ json: { digest } }];"
  }
}

02公開 API → HTML テーブル

HTTP Request がキー不要の open-meteo 天気 API を呼び出します。Set が気温・風速・時刻の3フィールドだけ残し、HTML ノードの Convert to HTML Table 操作がそれを表に変換します。この操作の出力フィールド名は html ではなく table です。ダッシュボードのウィジェットに埋め込んだり、メール本文の表としてそのまま貼り付けたりする用途に向いています。

HTTP RequestSet → HTMLV2 실행 확인
{
  "name": "Build Table",
  "type": "n8n-nodes-base.html",
  "typeVersion": 1.2,
  "parameters": {
    "operation": "convertToHtmlTable",
    "options": {
      "capitalize": true,
      "caption": "Seoul current weather"
    }
  }
}

03Webhook 検証してから応答

Webhook が POST を受け取ると、IF が email と name 両方が空でないかを検査します。true なら Respond to Webhook が 200 を、false なら 400 を返します。この項目はインポートまでしか確認していません — 実行には稼働中の n8n が発行する実際の Webhook URL が必要だからです。フォーム受信の窓口や、外部サービスのコールバックを受け取る場所にそのまま置ける骨格です。

WebhookIF → RespondV1 가져오기 확인
{
  "conditions": [
    {
      "id": "c1",
      "leftValue": "={{ $json.body.email }}",
      "rightValue": "",
      "operator": {
        "type": "string",
        "operation": "notEmpty",
        "singleValue": true
      }
    },
    {
      "id": "c2",
      "leftValue": "={{ $json.body.name }}",
      "rightValue": "",
      "operator": {
        "type": "string",
        "operation": "notEmpty",
        "singleValue": true
      }
    }
  ],
  "combinator": "and"
}

04週次レポートの骨格

Schedule が毎週月曜9:00に起動し、HTTP が jsonplaceholder の投稿一覧を取得します。Aggregate がタイトルと件数を配列にまとめ、Markdown ノードがその配列からレポート文を作って report フィールドに書き込みます。タイムゾーンはワークフロー設定で指定します。週次 KPI を自動で拾ったり、運用サマリーを毎週月曜の朝に用意しておきたいときに使う骨格です。

Schedule triggerAtHour 9Aggregate → MarkdownV2 실행 확인
{
  "name": "Build Report",
  "type": "n8n-nodes-base.markdown",
  "typeVersion": 1,
  "parameters": {
    "mode": "markdownToHtml",
    "markdown": "={{ '# Weekly Report\\n\\n' + $json.postId.length + ' posts fetched this week.\\n\\n- ' + $json.title.slice(0, 5).join('\\n- ') }}",
    "destinationKey": "report",
    "options": {}
  }
}

05バッチで回す

Code が25件を作り、Loop Over Items が5件ずつのバッチに分けます。各バッチは Set を通ってバッチ番号と連番を付けられ、再び Loop Over Items に戻ります(この戻り接続がないと1回しか回りません)。全部終わると Aggregate が最後にまとめます。大量送信のように件数が多い処理や、API レート制限対策が必要な場面でそのまま使える形です。

Loop Over Items 5AggregateV2 실행 확인
{
  "name": "Loop Over Items",
  "type": "n8n-nodes-base.splitInBatches",
  "typeVersion": 3,
  "parameters": {
    "batchSize": 5,
    "options": {}
  }
}

062つのソースをキーで結合

2つの HTTP ノードがユーザーと投稿を別々に取得します。Merge がユーザーの id と投稿の userId を突き合わせ、Keep Matches モードで一致したものを1行に結合します。結合キーの名前が異なる2つのソースを合わせるときに、そのまま使える形です。顧客と注文の結合が必要なときや、キー名が違う2枚のシートの join にそのまま使えます。

HTTP ×2Merge combine by fieldV2 실행 확인
{
  "name": "Merge By User",
  "type": "n8n-nodes-base.merge",
  "typeVersion": 3.2,
  "parameters": {
    "mode": "combine",
    "combineBy": "combineByFields",
    "advanced": true,
    "mergeByFields": {
      "values": [
        {
          "field1": "id",
          "field2": "userId"
        }
      ]
    },
    "joinMode": "keepMatches",
    "outputDataFrom": "both",
    "options": {}
  }
}

07重複削除・絞り込み・並べ替え

Remove Duplicates がメールアドレス基準で重複を消し、Filter がスコア60以上だけ残し、Sort が高いスコアから順に並べます。データ整理でよく重なる3つの動作を1本にまとめました。リードの整理や、スコアからランキング表を作る作業に使います。

Remove DuplicatesFilter ≥60 → SortV2 실행 확인
{
  "conditions": {
    "options": {
      "caseSensitive": true,
      "leftValue": "",
      "typeValidation": "strict",
      "version": 2
    },
    "conditions": [
      {
        "id": "c1",
        "leftValue": "={{ $json.score }}",
        "rightValue": 60,
        "operator": {
          "type": "number",
          "operation": "gte"
        }
      }
    ],
    "combinator": "and"
  },
  "options": {}
}

08公開ページからタイトルを抽出

HTTP が robots.txt で許可された公開ページをテキストとして取得します。HTML ノードが .titleline a セレクタでタイトルとリンクだけを抜き出し、Set が結果を整えます。ログインが必要なページや個人情報を含むページには、この方法を使いません。お知らせの監視のようにページの変化を定期チェックしたり、公開リストの収集が必要なときに使います。

HTTP → HTML extractCSS 선택자V2 실행 확인
{
  "operation": "extractHtmlContent",
  "sourceData": "json",
  "dataPropertyName": "data",
  "extractionValues": {
    "values": [
      {
        "key": "title",
        "cssSelector": ".titleline a",
        "returnValue": "text",
        "returnArray": true
      },
      {
        "key": "link",
        "cssSelector": ".titleline a",
        "returnValue": "attribute",
        "attribute": "href",
        "returnArray": true
      }
    ]
  },
  "options": {}
}

09条件で分岐するルーター

Code が注文サンプル6件を作り、Switch が金額帯で3方向(50未満・50〜150・150以上)に振り分けます。各枝の Set が route ラベルを付け、Merge が3方向を再び1つに集めます。IF が2分岐なら、Switch はこのように N 分岐です。等級別の処理を決めておいて、担当者の割り当てまで自動で分けたいときに使う形です。

Switch 3 routesSet ×3 → MergeV2 실행 확인
{
  "mode": "rules",
  "rules": {
    "values": [
      {
        "conditions": {
          "conditions": [
            {
              "id": "r1",
              "leftValue": "={{ $json.amount }}",
              "rightValue": 50,
              "operator": {
                "type": "number",
                "operation": "lt"
              }
            }
          ],
          "combinator": "and"
        },
        "outputKey": "small"
      }
    ]
  }
}

準備 — アカウント・権限・バージョン

どの行も「なし」なのに表が必要なのは、等級と n8n バージョンが項目ごとに違うからです。等級は V0(構造)→V1(インポート確認)→V2(実行確認)の3段階で、この回は03だけが V1 で、残り8つは全部 V2 まで確認済みです。

項目 等級 準備 n8n バージョン
01 RSS 毎日ダイジェスト V2 なし 2.38.5
02 公開 API → HTML テーブル V2 なし 2.38.5
03 Webhook 検証してから応答 V1(インポートまで確認、実行には自分の Webhook URL が必要) なし 2.38.5
04 週次レポートの骨格 V2 なし 2.38.5
05 バッチで回す V2 なし 2.38.5
06 2つのソースをキーで結合 V2 なし 2.38.5
07 重複削除・絞り込み・並べ替え V2 なし 2.38.5
08 公開ページからタイトルを抽出 V2 なし 2.38.5
09 条件で分岐するルーター V2 なし 2.38.5

インポート方法は3通りです。n8n キャンバスで Ctrl/Cmd+V を押して JSON テキストをそのまま貼り付けるか、キャンバスメニューの Import from File で zip 内のファイルを選ぶか、CLI なら n8n import:workflow --input=ファイル.json の一行で済みます。取り込んだ後は左上の Test workflow ボタン(または Manual Trigger ノードの再生アイコン)を押せばそのまま実行できます。この表より古い n8n だと typeVersion エラーが出るので、その場合は下の落とし穴の段落を読んでください。

どこで壊れるか — 落とし穴ひとつ

一番はまりやすいのは、ノードの出力フィールド名を確認せずに決め打ちすることです — 02項目の HTML ノードは一見「html」フィールドを出しそうに見えますが、Convert to HTML Table 操作の実際の出力キーは table で、これを確認せずに書くと実行自体は成功するのに次のノードが期待したフィールドを見つけられず、そこでまた壊れます。この zip を開くときの合言葉は jj9hgmc4 で、解凍すると workflows/ の中に9つの JSON がそのまま入っています。typeVersion も同じ理由でつまずきやすく、決め打ちで書くと古い n8n では「typeVersion not supported」で返ってくるので、手元の n8n が実際に何をサポートしているか確認してから書く方が安全です。

FAQ

n8n cloud でも使えますか?

使えます。このワークフローはコミュニティノードもアカウントが必要な資格情報も使っていないので、Import メニューからそのまま取り込めます。03だけは実際に実行するために n8n cloud が発行する本物の Webhook URL が必要です。

手元の n8n バージョンが違う場合は?

typeVersion エラーが出たら、そのノードをキャンバス上で新しく作って export し、実際に保存された値を確認してから使ってください。この zip は n8n 2.38.5(Node 24)でインポートと実行の両方を確認しています。

API キーが必要なノードを追加するには?

HTTP Request ノードの Authentication オプションで資格情報を追加するか、ヘッダーに {{ $env.API_KEY }} のような式を入れて環境変数として管理してください。キーをワークフロー JSON に直接書いて共有しないことは、n8n 公式ドキュメントも推奨しています。

n8n が初めての方は、自動化カテゴリーに同じ系統の例がもっとありますし、このサイトがどんな基準で検証しているかは概要ページに書いています。

解凍パスワードを入力してください

パスワードはこの記事の本文の中にあります。読み進めると出てきます。