n8n ワークフロー サンプル9選、アカウント不要
n8n は、コードを書かずに複数のサービスをつなげて作業を自動化するツールです。AI で何か作ろうとしていてこの名前を初めて見た方のために、アカウント不要ですぐ動く n8n ワークフロー サンプルを9つ用意しました。API キーも要りません。
自動再生 · タイルを押すとその項目へ · すべて1つのzip
- 01 RSS 毎日ダイジェスト
- 02 公開 API → HTML テーブル
- 03 Webhook 検証してから応答
- 04 週次レポートの骨格
- 05 バッチで回す
- 06 2つのソースをキーで結合
- 07 重複削除・絞り込み・並べ替え
- 08 公開ページからタイトルを抽出
- 09 条件で分岐するルーター
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 フィールドに入れます。チームの朝会ブリーフィングを自動化したいときや、興味あるブログのまとめを毎朝受け取りたいときに使います。
{
"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 です。ダッシュボードのウィジェットに埋め込んだり、メール本文の表としてそのまま貼り付けたりする用途に向いています。
{
"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 が必要だからです。フォーム受信の窓口や、外部サービスのコールバックを受け取る場所にそのまま置ける骨格です。
{
"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 を自動で拾ったり、運用サマリーを毎週月曜の朝に用意しておきたいときに使う骨格です。
{
"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 レート制限対策が必要な場面でそのまま使える形です。
{
"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 にそのまま使えます。
{
"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本にまとめました。リードの整理や、スコアからランキング表を作る作業に使います。
{
"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 が結果を整えます。ログインが必要なページや個人情報を含むページには、この方法を使いません。お知らせの監視のようにページの変化を定期チェックしたり、公開リストの収集が必要なときに使います。
{
"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 分岐です。等級別の処理を決めておいて、担当者の割り当てまで自動で分けたいときに使う形です。
{
"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 が初めての方は、自動化カテゴリーに同じ系統の例がもっとありますし、このサイトがどんな基準で検証しているかは概要ページに書いています。