ooligo
n8n-flow

n8nによるNDAインテーク・トリアージ

Difficulty
中級
Setup time
60min
For
legal-ops · contract-manager · paralegal
Legal Ops

Stack

専用の nda-intake@ メールボックスに届くすべてのインバウンドNDAを受け取り、Postgresレジストリから相手方リスクティアを分類し、NDAプレイブックに対してClaude Sonnet 4.6でドキュメントを処理し、Ironcladに自動承認するか条項ごとのサマリーを添付してSlackの指名レビュアーにルーティングするn8nフローです。月間50件以上のNDAを処理する社内チーム向けに設計されており、交渉ではなくインテーク時のトリアージが法務時間を消費している場合に効果を発揮します。

ダウンロード可能なバンドルは apps/web/public/artifacts/nda-intake-triage-n8n/ にあり、完全なワークフローJSONとセットアップREADMEが含まれています。バンドルが成果物です。このページはそれをいつどのように使用するかを説明します。

使用すべきタイミング

3つのことが同時に当てはまる場合にこのフローを使用してください。第1に、ボリューム自体が問題になるほど十分なNDAを処理している場合——通常は月間40件以上で、限界的なNDAは基本的に前のものと同一であり、法務チームが戦略的なゲートとしてではなく商業的なベロシティのボトルネックとして機能している場合。第2に、実際のプレイブックがある場合——条項ファミリーの書面のリスト、各々の標準ペーパーポジション、承認されたフォールバックポジション、退場閾値。プレイブックが誰かの頭の中に存在する場合、AIステップには比較対象がなく、高い自信でゴミが出ます。第3に、相手方レジストリが何らかのクエリ可能な形式——Postgres、Airtable、夜間にエクスポートされるGoogle Sheets——で存在し、メールドメインをリスクティアにマッピングしている場合。それなしでは、すべての相手方が「不明」に分類され、フローは何も有用なことをしません。

フローは既知の商業パートナーからのインバウンドの相手方ペーパー——クラシックなベンダーNDA-before-RFPと見込み客NDA-before-pricing-callのケース——で最も効果的です。また、セールスチームがSalesforceトリガーのテンプレートから始めるアウトバウンドNDAの最初のパスフィルターとしても有用です。

使用すべきでないタイミング

バニラNDA以外の契約タイプには、このフローを使用しないでください。システムプロンプトの条項分類体系は機密保持契約のみにキャリブレーションされています——MSA、DPA、サービス契約を入れると間違ったチェックリストに対して自信満々なアウトプットが生成されますが、これは最悪の失敗モードです。拡張したい場合は契約ファミリーごとに別のフローを構築してください。

M&A NDA、政府調達NDA、訴訟ホールドに関連するNDAにはスキップしてください。これらは最初の1分からGCの注意が必要であり、フローがトリアージで節約する時間は見落とされたエスカレーションの政治的コストに圧倒されます。これらは自動化を完全にバイパスする別のインテークメールを通じてルーティングしてください。

材料的なプレイブック変更(条項の追加、新しいフォールバックポジション、レジストリのティア再調整)の後1か月間はスキップしてください。Claudeのプロンプトはシステムメッセージを通じてプレイブックを暗黙的にエンコードします。自動承認を信頼する前に、モデルと新しいポリシーが一致しない箇所をキャッチするための手動レビューウィンドウが必要です。

月間約15件未満しかNDAを処理しない場合はすべてをスキップしてください。セットアップ時間(60分+実際のコストであるプレイブックの体系化作業)はそのボリュームで1年以内に回収できません。共有メールボックスとチェックリストを持つパラリーガルの方が良い答えです。

セットアップ

詳細な認証情報とテーブルスキーマのウォークスルーについては apps/web/public/artifacts/nda-intake-triage-n8n/_README.md を参照してください。30秒版:専用の nda-intake@ メールボックスをプロビジョニングし、Postgresの counterparty_registrynda_audit_log テーブルを作成し(DDLはREADMEの認証情報セクションのカラムリストに示されています)、3つのIroncladワークフローテンプレートを事前作成し(nda-reviewnda-escalationnda レコードタイプ)、Slackボットを #legal-ops-firehose#legal-nda-queue#legal-gc-escalations に招待し、n8nに nda-intake-triage-n8n.json をインポートして名前で5つの認証情報をバインドします。

ワークフローをアクティブにする前にREADMEの「First-run verification」セクションの5つのスモークテストを実行してください。5つ目のテスト——Claudeプロンプトを一時的に壊してパーサーエラーのフォールバックがサイレントに自動承認するのではなくエスカレーションすることを確認する——は最もスキップされ、最も後悔されるテストです。

フローの動作

トリガーはGmailポーリングで、PDFまたはDOCXの添付ファイルを持つメッセージと nda-processed ラベルがまだついていないメッセージにフィルタリングして、インテークメールボックスに対して1分ごとに発火します。コードノード(Normalize Intake)は送信者を抽出し、添付ファイルをbase64エンコードし、タイプ付きエンベロープを出力します。使用可能な添付ファイルがないメッセージは no_attachment ステータスに転換され、下流のブランチはワークフローをクラッシュさせることなく適切に処理します。

Postgresノード(Counterparty Lookup)は送信者ドメインでレジストリを照会し、リスクティア、優先ペーパー、自由形式のメモを返します。2番目のコードノード(Merge Counterparty Context)は不明な行のデフォルトを失敗ではなく risk_tier = 'unknown' にします——後の保守的なオーバーライドがこのケースをキャッチします。

Claude コール(Claude — Playbook Check)はドキュメントをbase64ブロックとして、10の条項ファミリー(準拠法、期間、相互性、IP排除、残存物、非勧誘、免責、結果的損害の除外、機密情報の定義、違反通知)に名前を付け、positionquotesuggested_redlineconfidence の条項ごとのJSON出力と auto-approvelawyer-reviewescalate のトップレベル recommendation を要求するシステムプロンプトと共にSonnet 4.6に送信します。

次のコードノード(Apply Risk Rules)がセーフティベルトです。優先順位で3つのオーバーライドを適用します:退場条項はClaudeが何と言おうと escalate を強制します。全体的な信頼度が0.7未満の場合はすべての auto-approvelawyer-review に降格します。そして非低リスクティアはすべての auto-approvelawyer-review に降格します。オーバーライドの理由は監査行にスタンプされるため、各ガードの発火頻度を測定できます。

Switchノードは3つのブランチの1つにルーティングします——Ironcladレコード作成(auto-approve)、IroncladレビューワークフローとBlock Kitサマリー付きのSlack弁護士キュー投稿(lawyer-review)、IroncladエスカレーションワークフローとGCチャンネルアラート(escalate)。すべてのブランチは Audit Log Write に収束し、Gmailメッセージ IDをキーとする単一行を挿入して(冪等)、次に Mark Gmail Processed でトリガーが再発火しないよう nda-processed ラベルを追加します。

エンジニアリングの選択について:HaikuよりSonnet 4.6を選択した理由はHaikuがフォールバック条項を見落とす(コールあたりは安いが偽承認あたりは高い)から。テキスト抽出ではなくbase64ドキュメント添付を使用した理由はPDFテキスト抽出が条項の意味を変える書式のキューを失うから。プロンプトではなくコードノードレイヤーで保守的なオーバーライドを行う理由はプロンプトのみのセーフガードは敵対的な相手方ペーパーでバイパスできるから。ON CONFLICT (message_id) DO NOTHING を使った冪等な監査挿入はn8nが一時的なPostgresエラーでリトライするため重複行が不要だから。IFではなくSwitchを使う理由はSwitchが各ブランチの接続トポロジーをn8nキャンバスで視覚的に明確にするから。

コストの現実

NDA1件あたりのAnthropicコストが主要な変動費です。典型的な4ページのNDAはシリアライズすると約6,000〜9,000インプットトークン(ドキュメント+システムプロンプト+相手方コンテキスト)になり、構造化されたレスポンスは800〜1,200アウトプットトークンになります。Sonnet 4.6の公開価格(インプットトークン100万あたり$3、アウトプットトークン100万あたり$15)では、$0.018〜$0.027のインプット+$0.012〜$0.018のアウトプット、つまりNDA1件あたり約$0.03〜0.045です。月間100件のNDAで$3〜$5のAPI費用。月間1,000件で$30〜$45。長いドキュメントでのリトライや時々MSAとして誤分類される10ページのドキュメントに対して3倍の乗数をかけても、典型的なボリュームでの月次請求は$200以下に収まります。

n8nのホスティングがもう1つのコスト項目です。$20/月のVPSのセルフホストは1日数千回の実行を処理します。n8n CloudのStarterティアは5,000実行で$24/月ですが、インテークメールボックスが月間5,000回以上のポーリング+処理済みメッセージの実行をトリガーする場合(月間200件以上のNDAで1分ごとのポーリングを行うとなります)は$60/月のProティアかセルフホストが必要です。

実際に重要なコストは回避する法務時間コストです。パラリーガルがNDAを手動でトリアージするには、読み取り・分類・ルーティングのステップだけで平均12〜15分かかります。フル原価ベースの時給$90のパラリーガルレートでNDA1件あたり$18〜$22の人件費。フローの$0.03のAPI費用が$20のパラリーガル時間を代替する600倍のコスト比——ただし、チームが自動承認ブランチを実際に信頼して各契約を再読しなくなった場合のみ。すべての自動承認をダブルチェックするチームは節約を失います。フローは純粋なコストになります。信頼構築のロールアウト(以下の注意点の2番目)を意図的に計画してください。

成功指標

毎週2つの数値を追跡します。インテークから処分までのサイクルタイム(自動承認、弁護士レビューキュー、エスカレーションキューのいずれか)はすべてのブランチで5分以下であるべきです——Slackアラートがキューにあり、Ironcladレコードが存在し、監査ログ行が書き込まれています。5分を超えて漂流する場合は、Anthropic APIが遅いか、n8nが実行をキューイングしています。調査してください。自動承認の精度が2つ目の数値です:フローが自動承認したすべてのNDAのうち、人間のレビュアーが変更なしで承認したであろう割合は?目標は本稼働から60日以内に99%。週次の偽陽性レビューは nda_audit_log WHERE recommendation = 'auto-approve' AND overall_confidence < 0.85 をクエリし、10行をサンプリングして手動でプレイブックを確認します。99%精度を下回る場合は、ボリュームを上げる前にプレイブックプロンプトまたはオーバーライド閾値を厳格化します。

有用なサポート指標:エスカレーション率。5%未満はフローが実際の作業をしていることを意味します。15%超はレジストリが過小サイズ(相手方が「不明」が多すぎる)か、プレイブックが条項を退場として分類するのに過度に積極的であることを意味します。30%超はフローが実質的に手動トリアージのための高価なルーティングとして機能しています。インプットを修正するかフローをオフにしてください。

代替手段との比較

vs パラリーガルによる手動トリアージ。 書面のチェックリストを持つシニアパラリーガルはNDA1件あたり$18〜$22かかり12〜15分要します。フローは$0.03で90秒かかります。パラリーガルはエッジケース(訴訟トリガー、異常な管轄区域、新しい条項構造)において著しく優れており、一貫性とボリュームにおいて著しく劣ります。正しいアーキテクチャは両方です——フローはまったく同じかフォールバック1条項のバニラNDAの80%を処理し、パラリーガルはそれを必要とする契約のために判断が解放された弁護士レビューキューを所有します。パラリーガルを完全に置き換えることが失敗モードです。拡張することが勝利です。

vs 既成品のCLMインテークモジュール。 Ironclad、Icertis、ContractWorksなどはすべてインテークルーティング機能を提供しています。問題の「保存、バージョン管理、承認者へのルーティング」半分では優れており、「特定のプレイブックに対して分類する」半分では弱いです——ビルトインのAIは特定のフォールバックポジションではなく、汎用的な条項ライブラリに対してキャリブレーションされた汎用的な条項抽出器になりがちです。フローはより精度の高いプレイブック固有のプロンプトのために統合製品の利便性をトレードします。プレイブックが本当にバニラ(合理的な相互NDAであれば何でも受け入れる)なら、既成品モジュールで十分であり、これを構築すべきではありません。プレイブックが残存物、IP排除、または非勧誘に関する特定のポジションを持つ場合、フローのプロンプトがその価値を生み出します。

vs 手動のSalesforce-to-Ironcladルーティングルール。 案件が特定のステージに達したときにIroncladワークフローを作成するSalesforceフローは純粋に決定論的です——コンテンツに関係なく、同じルーティング、同じレビュアー。これはドキュメントをコントロールするアウトバウンドペーパーには適していますが、ルーティング判断が契約の実際の内容に依存すべきインバウンドの相手方ペーパーには役立ちません。両方を使用してください:アウトバウンドトリガーにはSalesforce、インバウンド分類にはこのフロー。

注意点

相手方レジストリのカバレッジが自動承認率を左右します。それなしではフローはすべてに対して弁護士レビューに劣化します。 失敗モード:レジストリのカバレッジがインバウンド送信者の60%未満で、NDAの40%以上がクリーンでも non_low_risk_tier オーバーライドに当たって手動レビューにルーティングされます。対策:Counterparty Lookup を週次クエリで計測し(SELECT count(*) FROM nda_audit_log WHERE counterparty_id IS NULL AND processed_at > now() - interval '7 days')、不明なドメインリストをレジストリ所有者にフィードバックします。レジストリのメンテナンスをサイドプロジェクトではなく名前付きのロールとして扱います。

プレイブックのずれは、ポリシーがプロンプトより速く変わるとサイレントなミスキャリブレーションを引き起こします。 失敗モード:法務が残存物のポジションを更新しますが、Claude — Playbook Check のシステムプロンプトは古いポジションをエンコードしたままで、Claudeはチームがたった今受け入れ不可と決定した条項を自信満々に自動承認します。対策:すべてのプレイブック変更の後に30日間の手動レビューウィンドウを設けます。risk_tier != 'low' のすべての auto-approvelawyer-review に降格するオーバーライドが、より多くの契約を人の目で通過させることで部分的に緩和します。より難しい緩和策はプロンプトの条項説明と正規のプレイブック文書の四半期ごとのdiffチェックです。

パーサー障害は常にエスカレーションしなければならず、デフォルトで承認してはなりません。 失敗モード:長いまたは異常なNDAがClaudeにレスポンスをmarkdownフェンスでラップさせ、Apply Risk Rules のJSON.parseが例外をスローし、ナイーブな実装がデフォルトブランチに落ちて誤ってルーティングする可能性があります。対策:Apply Risk Rules コードノードは明示的にparse例外をキャッチし、escalation_reason: 'parser_error'recommendation = 'escalate' をスタンプします。このガードを編集して取り除かないでください。Claudeプロンプトを変更するたびにREADMEのスモークテスト#5を実行して、キャッチが引き続き発火することを確認してください。

送信者がインテークメールボックスを一般顧問宛として誤解したときに、特権コンテンツがAnthropic APIコールに漏れる可能性があります。 失敗モード:事業部門が訴訟中のコンテキスト+添付NDAを含むメールスレッドを nda-intake@ に転送し、スレッド全体(件名、本文スニペット、添付ファイル)がAnthropicのAPIリクエストに含まれます。対策:コードノードは現在 body_snippet を2,000文字に制限していますが、本文コンテンツを除去しません。フローと法務チームのAIポリシーを対にしてデータフローを明示的に承認し、件名が /litigation|privileged|attorney-client/i に一致するメッセージをLLMコールなしでGCエスカレーションブランチに転換するClaude 前のIFノードを検討してください。

メールチャンネルの規律がフローが作業を受け取れるかどうかを決定します。 失敗モード:フローは最初のNDAの後にのみ速く、最初のNDAは常に送られてきた方法で送られます。対策:個々の弁護士のメールボックス(legal-bd@gc@ など)への自動返信(「ありがとうございます、nda-intake@ に再送してください」)とNDA形の添付ファイルを持つものを自動ルーティングする転送ルールを組み合わせます。最初の30日間でチャンネル規範を推進し、フローの月次ボリュームが予測を下回って横ばいになる場合は再検討します。

スタック

オーケストレーションにn8n、条項分類にClaude Sonnet 4.6、レコード管理と下流の署名ワークフローにIronclad(または好みのCLM)、レビュアーキューにSlack、相手方レジストリと監査ログにPostgres、インテークメールボックスにGmail。法務オペレーション・バーティカルでこのフローがTier 1〜2のトリアージレイヤーとして組み込む契約レビューSOPを含む関連ワークフローを参照してください。

Files in this artifact

Download all (.zip)