🤖

n8nのAI Workflow Builderを触ってみる

に公開

はじめに

2025/10/6にn8n(エヌエイトエヌ)からAI Workflow Builderのベータ版がリリースされました。
https://docs.n8n.io/release-notes/#ai-workflow-builder-beta

どこまでワークフローを自動作成してくれるのかと、どんな機能があるかを見ていきます。

AI Workflow Builderの流れ

最初に「Build with AI」を押すと、チャットでワークフロー作成に入ります。

見た感じファイルのアップロードはできなさそうなので、テキストで一般的なテストフローを入力してみます。

テストフェーズフロー

システム開発 テストフェーズワークフロー

1. 環境構築

1.1 環境構築

テスト環境を構築する

ロール:

  • 開発者

分岐条件:

  • 環境OK → 1.2へ進む

1.2 環境確認

構築されたテスト環境を確認する

ロール:

  • テスト責任者

分岐条件:

  • 環境OK → 2.1へ進む

2. 計画書作成

2.1 計画書作成

テスト計画書を作成する

ロール:

  • テスト責任者

分岐条件:

  • 計画書OK → 2.2へ進む

2.2 計画書確認

テスト計画書を確認する

ロール:

  • PM

分岐条件:

  • 計画書OK → 2.3へ進む

2.3 計画書承認

テスト計画書を承認する

ロール:

  • 顧客

分岐条件:

  • 計画書OK → 3.1へ進む
  • 計画書NG → 2.1へ進む

3. テストケース作成

3.1 テストケース作成

テストケースを作成する

ロール:

  • テスター

分岐条件:

  • テストケースOK → 3.2へ進む

3.2 テストケース承認

テストケースを承認する

ロール:

  • テスト責任者

分岐条件:

  • テストケースOK → 3.3へ進む
  • テストケースNG → 3.1へ進む

3.3 テストケース確認

テストケースを確認する

ロール:

  • PM

分岐条件:

  • テストケースOK → 4.1へ進む

4. テスト実施

4.1 テスト実施

テストを実施する

ロール:

  • テスター

分岐条件:

  • テスト結果OK → 4.2へ進む

4.2 テスト承認

テスト結果を承認する

ロール:

  • テスター

分岐条件:

  • テスト結果OK → 4.3へ進む
  • テスト結果NG → 4.4へ進む

4.3 修正

テスト結果を元に、開発環境とテスト環境の開発物を修正する

ロール:

  • 開発者

分岐条件:

  • 修正OK → 4.1へ進む

4.4 テスト結果の確認

テスト結果を確認する

ロール:

  • テスト責任者

分岐条件:

  • テスト結果OK → 5.1へ進む

5 報告書作成

5.1 報告書作成

テスト完了報告書を作成する

ロール:

  • テスト責任者

分岐条件:

  • 報告書OK → 5.2へ進む

5.2 報告書確認

テスト完了報告書を確認する

ロール:

  • PM

分岐条件:

  • 報告書OK → 5.3へ進む

5.3 報告書承認

テスト完了報告書を確認する

ロール:

  • 顧客

分岐条件:

  • 報告書OK → 5.4へ進む
  • 報告書NG → 4.1へ進む

5.4 ワークフロー終了

本番環境への適用を承認する

テストワークフロー完了

作成中も編集画面のワークフローが変わっていき、編集はできないですが、参照はできました。

また、チャット欄に何をしているかが更新されていきます。

時間がかかるタスクを人がキャンセルできたり、確認できるようにするのは体験的には大事だなと。

タスクが完了すると「Execute Workflow」と「Execute and refine」ができるようになります。

完成したワークフローを見ると、全て「manual」と条件分岐のタスクができました。

分岐の枝を選択すると、下記のようにnextのタスクを追加できます。

Agentを追加する場合はAI→AI Agentのように進んでいきます。

AgentはModelとMemoryとToolを選べます。

話を戻して、作成されたワークフローをExecuteしていきます。

分岐でFalse側に行っているので、チャット欄にTrue側のメッセージを入れてみます。


また、Executeを押すと、次のステップに進みます。

このように、チャットベースでワークフローのシミュレーションだったり変更が可能です。

タスクの中身を見てみると、

manualのタスクは、誰が何をするなど、説明が追加できる感じです。

自動化や何かアクションを追加するなら、別のタスクを追加していく必要がありそうです。

teamsならこんな感じかなと。

分岐のタスク詳細はこんな感じです。

Inputのパラメータに対して分岐の条件が設定できます。

ちなみにこんな感じのjsonが定義されています。

Download-json
{
  "name": "System Development Test Phase Management",
  "nodes": [
    {
      "parameters": {},
      "id": "MASKED_ID",
      "name": "Start Workflow",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [-1104, 256]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            { "id": "MASKED_ID", "name": "phase", "value": "test", "type": "string" },
            { "id": "MASKED_ID", "name": "project_name", "value": "YOUR_PROJECT_NAME", "type": "string" }
          ]
        },
        "includeOtherFields": true,
        "options": {}
      },
      "id": "MASKED_ID",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [-880, 256]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            { "id": "MASKED_ID", "name": "task", "value": "環境構築", "type": "string" },
            { "id": "MASKED_ID", "name": "role", "value": "開発者", "type": "string" },
            { "id": "MASKED_ID", "name": "status", "value": "in_progress", "type": "string" },
            { "id": "MASKED_ID", "name": "description", "value": "テスト環境を構築する", "type": "string" },
            { "id": "MASKED_ID", "name": "Output", "value": "", "type": "string" }
          ]
        },
        "options": {}
      },
      "id": "MASKED_ID",
      "name": "1.1 環境構築",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [-656, 256]
    },
    {
      "parameters": {
        "conditions": {
          "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 },
          "conditions": [
            {
              "id": "MASKED_ID",
              "leftValue": "={{ $json.status }}",
              "rightValue": "completed",
              "operator": { "type": "string", "operation": "equals" }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "MASKED_ID",
      "name": "環境OK?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [-432, 256]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            { "id": "MASKED_ID", "name": "task", "value": "環境確認", "type": "string" },
            { "id": "MASKED_ID", "name": "role", "value": "テスト責任者", "type": "string" },
            { "id": "MASKED_ID", "name": "status", "value": "in_progress", "type": "string" },
            { "id": "MASKED_ID", "name": "description", "value": "構築されたテスト環境を確認する", "type": "string" },
            { "id": "MASKED_ID", "name": "", "value": "", "type": "string" }
          ]
        },
        "options": {}
      },
      "id": "MASKED_ID",
      "name": "1.2 環境確認",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [-208, 256]
    },
    {
      "parameters": {
        "conditions": {
          "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 },
          "conditions": [
            {
              "id": "MASKED_ID",
              "leftValue": "={{ $('1.2 環境確認').item.json.status }}",
              "rightValue": "completed",
              "operator": { "type": "string", "operation": "equals" }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "MASKED_ID",
      "name": "環境確認OK?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [16, 256]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            { "id": "MASKED_ID", "name": "task", "value": "計画書作成", "type": "string" },
            { "id": "MASKED_ID", "name": "role", "value": "テスト責任者", "type": "string" },
            { "id": "MASKED_ID", "name": "status", "value": "in_progress", "type": "string" },
            { "id": "MASKED_ID", "name": "description", "value": "テスト計画書を作成する", "type": "string" }
          ]
        },
        "options": {}
      },
      "id": "MASKED_ID",
      "name": "2.1 計画書作成",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [240, 256]
    },
    {
      "parameters": {
        "conditions": {
          "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 },
          "conditions": [
            { "id": "MASKED_ID", "leftValue": "={{ $json.status }}", "rightValue": "completed", "operator": { "type": "string", "operation": "equals" } },
            { "id": "MASKED_ID", "leftValue": "", "rightValue": "", "operator": { "type": "string", "operation": "equals", "name": "filter.operator.equals" } }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "MASKED_ID",
      "name": "計画書OK?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [464, 208]
    },
    ... 省略(同様にすべての `"id"` は `"MASKED_ID"` に置換) ...
  ],
  "pinData": {},
  "connections": { ... (内容変わらず) ... },
  "active": false,
  "settings": { "executionOrder": "v1" },
  "versionId": "MASKED_ID",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "MASKED_ID"
  },
  "id": "MASKED_ID",
  "tags": []
}

Executionsタブで、実行履歴が見れます。

ワークフローができたら、Activeにしてみます。
Start Workflowを開いて

トリガーの種類を選んで

トリガーを設定すると

ダッシュボードでActiveにできます。

まとめ

ざっと、n8nのAI Workflow Builderを触ってみました。

Workflowをめちゃくちゃ簡単に作成できるなと思ったのと、UIが洗練されていて、3ステップくらいで作成までできてしまうのがとても良いと思いました。

もう少し細かいワークフローだったり、Agent的な設定とかもしてもらいたいですが、
その辺はToC利用だと扱えるデータ的に厳しいんだろうなと。

ヘッドウォータース

Discussion