サブワークフローを使用したデータ処理のネストされたループ - n8n ワークフロー

n8nで複雑なネストループの課題を克服:サブワークフローとExecute Workflowノードの活用。モジュール化されたデータ処理ロジックのための信頼性の高いn8nテンプレートをダウンロード。

ワークフロープレビュー

自動化の準備はいいですか?

このn8nワークフローテンプレートをダウンロードして、今すぐ使い始めましょう。

こんな方におすすめ

単一のn8nワークフローでの信頼性の高いネストループの実装に苦労している方。
モジュール化されたデータ処理構造を必要とする開発者。
フロー制御に焦点を当てた高度なn8nテンプレートを探しているユーザー。
Execute Workflow n8nノードのベストプラクティスに関心がある方。

概要

n8nは強力なプラットフォームですが、ネストされたループ(別のリストの各アイテムに対してリストを反復処理)のような複雑なフロー制御パターンには、創造的な解決策が必要になる場合があります。

この堅牢なn8nワークフローテンプレートは、ネストされたロジックをメインワークフローと再利用可能なサブワークフローの2つの明確なコンポーネントに分離することで、決定的な解決策を提供します。メインワークフローはSplit In Batches n8nノードを使用して「外部」リスト(Colors)を反復処理し、各アイテムに対してExecute Sub-workflow n8nノードを使用して専用のサブワークフローを呼び出します。

サブワークフローは外部アイテムをパラメータとして受け取り、独自の内部ループ(Integers)を実行して結果を結合します。このアプローチにより、よりクリーンな実行が保証され、単一ワークフローのループ構造で発生しやすいデータ混在の問題を防ぎ、モジュール設計におけるExecute Workflow n8nノードのパワーが示されます。このn8nソリューションは、複雑な組み合わせデータタスクを処理するために不可欠です。

仕組み

このオートメーションは、メインの実行フローと、Execute Workflow n8nノードを介して接続された二次的なサブワークフローロジックで構成されています。


  1. メインワークフローのトリガー: プロセスは、手動のn8nトリガーである「ワークフローを実行」クリック時に開始されます。

  2. 外部データの初期化: Colors Code n8nノードがプライマリリスト(yellow, blue, green)を生成します。

  3. 外部ループ: Loop Over Colors Split In Batches n8nノードが、生成された色リストの反復処理を開始し、バッチごとに1色ずつ処理します。

  4. サブワークフローの実行: 各色アイテムに対して、Execute Sub-workflow n8nノードが呼び出され、現在のcolor値を入力パラメータとしてサブワークフローに渡します。

  5. サブワークフローのトリガー: サブワークフローはWhen Executed by Another Workflow n8nトリガーで開始され、メインのn8nワークフローから渡されたcolorパラメータを受け入れます。

  6. 内部データの初期化: Integers Code n8nノードが二次リスト(1, 2, 3)を生成します。

  7. 内部ループ: Loop Over Integers Split In Batches n8nノードが整数リストの反復処理を行います。

  8. データの結合: Edit Fields Set n8nノードがコア処理を実行します。メインループから受け取った色データと、現在の内部ループの数値を組み合わせ、'yellow - 1'のような最終結果を生成します。

この構造により、外部リストのすべてのアイテムに対して、内部のn8nワークフローシーケンス全体が確実に実行され、必要なすべての組み合わせが生成されます。

インストールガイド

この強力なn8nワークフローとその関連サブワークフローをデプロイするには、次の手順に従ってください。


  1. インポート: 提供されたn8nワークフローJSON全体をコピーし、n8nインスタンスに貼り付けます(新規作成 -> JSONからインポート)。

  2. サブワークフローの分離: 提供されたテンプレートにはメインとサブの両方のロジックが含まれていますが、正しく機能させるには、サブワークフロー部分(When Executed by Another Workflow n8nトリガーで始まる部分)は、必ず別個の新しいn8nワークフローキャンバスに移動する必要があります。この新しいサブワークフローを保存します。

  3. ワークフローのリンク: メインのn8nワークフローに戻ります。Execute Sub-workflow n8nノードをクリックします。

  4. リンクの設定: パラメータで、Sub-workflowフィールドを更新して、手順2で作成した新しいワークフローの正確な名前を選択します。入力パラメータcolor={{ $json.color }}として正しくマッピングされていることを確認します。

  5. 実行: メインのn8nワークフローとサブワークフローの両方を保存してアクティブ化します。n8nトリガーを使用してメインワークフローを手動で実行し、ネストされたループの動作を確認します。

ノード詳細

When clicking ‘Execute workflow’ (Manual Trigger n8n trigger): オンデマンドでプライマリn8nワークフローフローを開始します。
Colors (Code n8n node): 外部ループの初期配列データ(色リスト)を生成します。これは、n8nノード内でのデータ準備を示すものです。
Loop Over Colors (Split In Batches n8n node): プライマリなフロー制御n8nノードで、色リストのバッチ処理を担当し、次のステップが色アイテムごとに1回実行されるようにします。
Execute Sub-workflow (Execute Workflow n8n node): 重要な接続ノード。外部ループの各アイテムに対して、別のサブワークフローを呼び出します。主な設定:color入力を下流のn8nワークフローに渡します。
When Executed by Another Workflow (Execute Workflow Trigger n8n trigger): サブワークフローのエントリーポイントです。メインのn8nワークフローによって渡されたcolor入力を受け入れるように設定されています。
Integers (Code n8n node): サブワークフロー内で、内部ループ用の配列データ(数値リスト)を生成します。
Loop Over Integers (Split In Batches n8n node): 内部ループの反復を制御し、数値リストを1項目ずつ処理します。
Edit Fields (Set n8n node): 最終処理ステップです。n8n式を使用して、メインワークフローから渡された色データ(={{ $('When Executed by Another Workflow').item.json.color }})と現在の数値データ({{ $('Loop Over Integers').item.json.number }})を結合し、結合されたresultフィールドを生成します。

関連するn8nワークフロー

無料

ノード: 7 ノード
更新済み: 12月 26 2025
すべて表示

特徴*