対象サイトのn8nノードがない場合
許可されたAPIが操作を提供するか先に確認します。描画された要素やログイン済みページが必要なら、HTTP経由でブラウザー実行環境につなぎます。通常のワークフローで入力、応答、分岐を管理し、AI Agentからはサブワークフローを一つのツールとして呼べます。
テスト管理画面なら、ブラウザーがConfirm demoを押し、状態を読み取ります。n8nは操作IDを保存して実際に変わったか確認します。応答が失敗しても操作が完了している場合があるので、もう一度押す前に状態を照会します。 ブラウザー自動化ツール 検索とブラウザー操作
ワークフローとブラウザーを分ける
| 層 | 担当 | 残す情報 |
|---|---|---|
| 親ワークフローまたはAI Agent | 許可済みの操作を選び一件送る | 操作IDと対象 |
| ブラウザーサブワークフロー | 検証、呼び出し、応答の判定 | 構造化された結果か確認待ち |
| ブラウザー | 開く、対象を確認、操作、読み戻す | レコードID、前後の状態 |
| アプリまたは永続ストア | 不明な結果を調べ、重複を防ぐ | 確認済みの結果または不明 |
HTTP Requestはサービスを呼び、ブラウザーがページとセッションを使います。操作を限定し、実行側の信頼できる設定からテストページを選びます。ログイン済みなら先にアカウントを確かめます。n8nの利用者はデータ抽出と画面操作の違いや、同じトリガーが二度動いた場合の重複を話題にしています。 既存ブラウザーに接続 ログインセッションの確認 ブラウザーの議論 冪等性の議論
サブワークフローをインポートする
n8n JSON と Tabbitのテストアダプター を取得します。同じコンピューターにn8n、Node.js、Tabbit CLIを用意します。外部アカウントは使わず、合成ページのボタンで確認します。アダプターを起動し、JSONをインポートして Manual Test を実行します。
node tabbit-fixture-adapter.mjsアダプターはループバックの3219ポートを使います。n8nがコンテナや別ホストで動くと、localhostはそちらを指します。二つのHTTPノードを変更する前に許可された接続を設定します。 クラウドのlocalhost例
親のAI Agentに Call n8n Workflow Tool を追加し、インポートしたサブワークフローを選び、operation_id と scenario を Workflow Tool Input に渡します。呼び出しごとに一件にします。本番用のIDは通常のノードで元レコードと操作から決め、再試行で変えません。 Call n8n Workflow Tool サブワークフローのデータ
応答を検証する
HTTPステータス、操作ID、テストレコードID、初期OFF、最終ON、書き込み一件を照合します。必要な値がない成功応答は確認待ちに回します。エージェントが結果を要約しても、後続ノードは検証済みの値で分岐します。
{
"operation_id": "E09-lost-response",
"outcome": "reconciled",
"receipt_source": "read_back",
"http_status": 200,
"fixture_id": "E09-FIXTURE",
"state": "ON",
"writes": 1,
"replay": false
}この http_status はGETの結果です。POSTの失敗は実行ログに別途残します。ネットワークエラーでHTTP状態がない場合も結果は不明です。 HTTP Requestノード
再試行前に状態を読む
| 場面 | 確認 | 期待する結果 |
|---|---|---|
| 正常な応答 | POSTでレコードとONを確認 | confirmed、書き込み一件 |
| 変更後に応答が失敗 | POSTが503、GETで同じ操作とONを確認 | reconciled、書き込み一件 |
| 状態が不明 | POSTが503、GETで操作を確認できない | needs_review、再送しない |
| 確認済みIDを再利用 | 保存済み結果を返す | 同じ結果、書き込みは合計一件 |
アダプターの記録はメモリ上です。本番は永続ストア、安定した一意キー、再起動後の読み取りが必要です。書く前に許可済みの対象と操作を保存します。確認済みなら結果を返し、不明なら照会や人の確認に回します。同じキーで重複を防げるか、未実行を人が確認して承認したときだけ再試行します。 n8nのエラー処理 フォーム保存を確認する例
ダウンロード用ワークフローを n8n 2.46.6 と Node.js 24.16.0 の環境にインポートし、別のローカルワークフローから1回につき1件の入力で呼び出しました。初回は confirmed(200)、reconciled(503 の後に 200)、needs_review(503 の後に 404)を返しました。アダプターが記録した Tabbit のクリックは2回です。同じ ID で再実行すると、完了済みの2件は保存済みの受領記録を返し、残り1件は確認待ちのままで、追加クリックはありませんでした。テストには模擬ページを使い、言語モデルは呼び出していません。
一つの操作と確認から始める
AI Agentをつなぐ前に手動テストを実行します。正常、照会後の確認、確認待ちが別の結果になるか確かめます。実際の業務アカウントで試すなら読み取りから始めます。 最初のブラウザー作業 エージェントのツール利用
よくある質問
対象サイトのn8nノードがない場合は?
範囲を限定したブラウザーサブワークフローをツールにするか、HTTP Requestでブラウザーサービスを呼び出します。
HTTP Requestはブラウザーですか?
HTTPインターフェースを呼びます。描画、クリック、許可済みセッションはブラウザー実行環境が担当します。
ブラウザーは何を返すべきですか?
操作ID、結果、レコードID、実際に読んだ状態と検証に必要な証拠を返します。
送信に失敗したらすぐ再試行しますか?
同じ操作IDで状態を確認します。不明なままなら人の確認に回します。
再試行では新しいIDを使いますか?
同じ操作では安定したIDを再利用します。別の操作やレコードには別のIDを使います。