Media > AI活用ユースケース > 法務 > 法律事務所のWebの相談予約フォームから、相談者・相手方・関係者の名前と会社名を取り出し、利益相反の確認に使う当事者リストにそろえる

法律事務所のWebの相談予約フォームから、相談者・相手方・関係者の名前と会社名を取り出し、利益相反の確認に使う当事者リストにそろえる

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

Webの相談予約フォームが届くたびに、相談者・相手方・関係者の名前と会社名を取り出して表記をそろえ、取扱い事件の当事者索引と突き合わせた一覧を事務局に渡します。受けてよい事件かの判断は弁護士が行います。

サマリー
生成AI
ChatGPT/Claude
連携・自動化
Make/n8n/Power Automate/Python/Zapier
対象業界
士業
対象部門
法務
対象業務
データ入力・転記/内容確認・チェック
主な課題
入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
AIで行う処理
抽出
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★☆☆☆
実装レベル
半自動化
費用感
ノーコード連携(中)
人間の確認
必須
現在工数
36h/月
AI導入後
16h/月
想定削減
56%
年間削減
240h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 相談予約フォームの申込みがメールで事務局に届く
  2. 事務局が申込みを開き、相談者の氏名・会社名と、「相手方」の欄を読む
  3. 相談内容の文章を読み、相手方や関係者の名前を書き出す
  4. 書き出した名前を、事件管理の仕組みで1つずつ検索する
  5. 当たったものがあれば、その事件の担当弁護士と事件名を書き留める
  6. 結果を受付の一覧に書き、担当弁護士にチャットで確認を依頼する
  7. 弁護士の確認が済んだら、相談者に日程の案内を送る
導入後(After)
  1. 自動相談予約フォームの送信をきっかけに、Webhook で Zapier の Zap が動く
  2. 自動AI by Zapier が、フォームの項目と相談内容の文章から、人と会社の名前を役割付きで取り出す
  3. 自動Code by Zapier(Python)が、取り出した名前の表記をそろえた照合用の文字列を作る
  4. 自動名前ごとに、当事者索引のスプレッドシートを照合用の文字列で引く
  5. 自動名前・役割・根拠の文・照合の結果を、利益相反の確認の一覧に1行ずつ書く
  6. 自動事務局のチャットに、申込みの番号と「確認の一覧ができた」ことを知らせる
  7. 人事務局が一覧を見て、当たりが無かった会社名を事件管理の仕組みで別の表記でも検索する
  8. 人当たりがあったもの、迷うものを担当弁護士が確かめ、受けてよいかを決める
  9. 人確認が済んでから、相談者に日程の案内を送る
各工程の詳しい説明を読む
  1. 相談予約フォームの申込みがメールで事務局に届く
  2. 事務局が申込みを開き、相談者の氏名・会社名と、「相手方」の欄を読む
  3. 相談内容の文章を読み、相手方や関係者の名前を書き出す
  4. 書き出した名前を、事件管理の仕組みで1つずつ検索する
  5. 当たったものがあれば、その事件の担当弁護士と事件名を書き留める
  6. 結果を受付の一覧に書き、担当弁護士にチャットで確認を依頼する
  7. 弁護士の確認が済んだら、相談者に日程の案内を送る

(a)3番で拾い漏らす。 「元請けの〇〇建設」「前の勤め先」「夫の会社」。相談内容の文章の書き方はさまざまで、名前が文の途中に埋まっていると、急いでいる日ほど読み飛ばします。 書き出されなかった名前は、4番で検索されません。

(b)4番で表記ゆれに負ける。 「(株)〇〇建設」「〇〇建設株式会社」「マルマルケンセツ」。事件管理の仕組みの検索は、登録されている表記と合わないと当たりません。「該当なし」が、本当に無いのか、表記が違うだけなのかを区別できません。

(c)確認の前に日程が進む。 申込みが重なる月曜は、確認の依頼が滞ります。その間に相談者から「いつ相談できるか」と電話が入り、確認が済む前に日程を伝えてしまうことがあります。 後から相手方が既存の依頼者だと分かると、日程を取り消し、理由を言わずに断ることになります。

(d)記録が残らない。 どの名前を検索して、何件当たったか。受付の一覧には「確認済み」としか書かれていないことが多く、後から「なぜこの相談を受けたのか」を説明できません。

  1. 【自動】 相談予約フォームの送信をきっかけに、Webhook で Zapier の Zap が動く
  2. 【自動】 AI by Zapier が、フォームの項目と相談内容の文章から、人と会社の名前を役割付きで取り出す
  3. 【自動】 Code by Zapier(Python)が、取り出した名前の表記をそろえた照合用の文字列を作る
  4. 【自動】 名前ごとに、当事者索引のスプレッドシートを照合用の文字列で引く
  5. 【自動】 名前・役割・根拠の文・照合の結果を、利益相反の確認の一覧に1行ずつ書く
  6. 【自動】 事務局のチャットに、申込みの番号と「確認の一覧ができた」ことを知らせる
  7. 【人】 事務局が一覧を見て、当たりが無かった会社名を事件管理の仕組みで別の表記でも検索する
  8. 【人】 当たりがあったもの、迷うものを担当弁護士が確かめ、受けてよいかを決める
  9. 【人】 確認が済んでから、相談者に日程の案内を送る

8番目は、この構成でも人のままです。 職務を行い得ない事件に当たるかは、事件の中身と、依頼者の同意の有無などを踏まえて弁護士が判断します。一覧が出すのは「当たった」「当たらなかった」という照合の結果までです。

9番目を自動にしないのも、意図してのことです。 日程の案内をZapから送ると、確認が済む前に相談者とのやり取りが進みます。案内は、弁護士の確認が済んだことを事務局が見てから、人が送ります。

02今回想定するシステム構成

構成図
Webサイトの相談予約フォーム
   │  送信
   ▼【トリガー】Webhooks by Zapier(Catch Hook)
Zapier
   ├──▶ AI by Zapier ── 名前・会社名を役割付きで取り出す
   │        相談者 / 相談者の会社 / 相手方 / 関係者
   ├──▶ Code by Zapier(Python)── 表記をそろえた照合用の文字列
   ├──▶ Google スプレッドシート(当事者索引)── 照合用の文字列で引く
   ├──▶ Google スプレッドシート(利益相反の確認の一覧)── 1名1行で書く
   └──▶ 所内のチャット ── 申込み番号だけを知らせる
   ▼
【事務局が別の表記でも検索】──▶【担当弁護士が受けてよいかを決める】
   ▼
相談者へ日程の案内(人が送る)
役割想定する製品代替候補
ワークフローZapier(Webhooks by Zapier、Paths by Zapier)Make、n8n、Power Automate
生成AIAI by Zapier(名前と会社名の取り出し)Claude API、OpenAI API
処理Code by Zapier(Python の標準ライブラリで表記をそろえる)Formatter by Zapier
当事者索引・確認の一覧Google スプレッドシート事件管理の仕組みの書き出し機能
通知所内のチャットメール

事件管理の仕組みは、新しく足すものではありません。 この構成は、事件管理の仕組みから書き出した当事者索引を読むだけで、事件管理の仕組みへは何も書き込みません。 当事者索引は毎日書き出し直し、スプレッドシートを置き換えます。

土台になるのは Webhooks by Zapier です。 Zapier のヘルプによると、Catch Hook は送られてきたデータを解析して Zap に渡し、Zapier が発行する固有の URL にフォームから送信します。トリガーで受け取れるデータは最大10MBです。 Webhooks by Zapier は無料プランでは使えず、有料のプランが前提です。

AI by Zapier は、Zap の中に生成AIの手順を足す機能です。 プロンプトの欄に指示を書き、前の手順のデータを差し込めます。出力の項目(Output Fields)に名前・型・説明を定義すると、後の手順がその項目を参照できます。 使うモデルは OpenAI、Anthropic、Google Gemini、Azure OpenAI、Amazon Bedrock から選べ、自社のAPIキーを使う(Bring Your Own Key)こともできるとされています。相談の申込みという機密性の高い情報を扱うので、どの提供元のモデルを、どの契約条件で使うかを事務所として決めて選びます。

03どうやって実装するのか

Step1

処理の起点を決める

相談予約フォームの送信を起点にします。 フォームの送信先に、Webhooks by Zapier の Catch Hook が発行した URL を設定し、送信と同時に Zap が動くようにします。メールで届く通知を読ませる方式より、項目が崩れずに届きます。

申込みごとに必ず1回だけ動くようにします。 フォームの側で申込み番号を振り、Zap の最初に「この番号はもう処理したか」を確認の一覧で引きます。同じ申込みが二重に送られても、一覧に同じ名前が2回並ばないようにするためです。

Step2

入力データを集める

データ中身取得元
申込み申込み番号、相談者の氏名・ふりがな、会社名、「相手方」の欄、「その他の関係者」の欄、相談の分野、相談内容の文章相談予約フォーム(Webhook)
当事者索引取扱い事件ごとの依頼者・相手方・関係者の名前、照合用の文字列、事件番号、事件名、担当弁護士、終了の有無事件管理の仕組みから書き出したスプレッドシート
表記をそろえる規則会社の種類の表記(株式会社、(株)、有限会社など)の一覧、取り除く記号Code by Zapier の中に書く

質を決めるのは、当事者索引の「照合用の文字列」です。 申込みの側と索引の側で、同じ規則で作った文字列どうしを突き合わせることが、この構成のすべてです。索引の側は、書き出すたびに同じ Python の規則でこの列を作り直します。

相談内容の文章は、名前を拾うためだけに使います。 確認の一覧には、名前と、その名前を拾った根拠の文だけを写し、相談内容の全文は写しません。 一覧を見る人を増やしても、相談の中身が広がらないようにするためです。

Step3

データの取得方法を決める

取るものどこから何に使うか
申込みの項目と相談内容Catch Hook が受け取ったデータ名前の取り出し
当事者索引の該当行Google スプレッドシートの行の検索照合
処理済みの申込み番号確認の一覧の行の検索二重処理の防止

索引の検索は、照合用の文字列の列で引きます。 Zapier のヘルプによると、行の検索の手順では、検索する列(Lookup Column)と検索する値(Lookup Value)を指定し、一致した行のデータを受け取ります。同じ名前が複数の事件に出てくることがあるので、複数の行を返す高度な検索の手順を使い、最大500行まで受け取ります。

照合用の文字列で当たるのは、規則でそろえられる表記ゆれまでです。 略称、旧商号、グループ会社、代表者の個人名は、規則ではそろいません。そこは第7章の人間の確認で、事務局が事件管理の仕組みで検索します。

Step4

AIへ渡す前に整形する

  1. 名前の取り出し … AI by Zapier が、名前を役割付きで返します(次の節)
  2. 1名1件に分ける … Code by Zapier が、取り出した名前を1名ずつの辞書の並びにして返します。辞書の並びを返すと、後の手順が名前の数だけ繰り返し動きます
  3. 表記をそろえる … 名前ごとに、次の規則で照合用の文字列を作ります
規則例
全角・半角をそろえる(Python の unicodedata の NFKC 正規化)「マルマル」→「マルマル」、「ABC」→「ABC」
空白と記号を取り除く「〇〇 建設」→「〇〇建設」
会社の種類の表記を取り除く「株式会社」「(株)」「有限会社」「合同会社」など
英字を大文字にそろえる「Abc」→「ABC」

規則は、次のような短い Python で書けます。

import json, re, unicodedata

ORG_WORDS = ["株式会社", "(株)", "有限会社", "(有)", "合同会社", "一般社団法人", "医療法人"]

def match_key(name):
    s = unicodedata.normalize("NFKC", name)   # 全角・半角をそろえる(「(株)」も「(株)」になる)
    for w in ORG_WORDS:
        s = s.replace(w, "")
    s = re.sub(r"[\s・.,、。\-]", "", s)       # 空白と記号を取り除く
    return s.upper()

parties = json.loads(input_data["parties"])
output = [dict(p, application_id=input_data["application_id"],
               match_key=match_key(p["name"]) if p["name"] else "")
          for p in parties]

この規則はAIにさせません。 同じ入力に必ず同じ答えを返すことが、照合の前提だからです。Zapier のヘルプによると、Code by Zapier の Python は標準ライブラリと requests などが使え、追加のライブラリは入れられません。 上の規則は、標準ライブラリだけで書けます。

カタカナとひらがな、漢字と読みの違いは、この規則ではそろえません。 「〇〇建設」と「マルマルケンセツ」は別の文字列のままです。フォームにふりがなの欄があれば、ふりがなでも照合用の文字列を作り、両方で引きます。

Step5

AIに処理させる

させるのは、申込みの中から人と会社の名前を見つけ、書かれていたとおりに書き写し、役割と根拠の文を付けることだけです。

返させるもの内容判断できないとき
名前書かれていたとおりの表記「兄」「元請け」のように名前が無ければ、名前の欄は空
役割相談者/相談者の会社/相手方/関係者決められなければ「関係者」
種類個人/法人・団体分からなければ「不明」
根拠の文名前が出てくる文をそのまま-
続柄・立場「兄の妻」「元請け」など、文章に書かれた言い方書かれていなければ空

名前が書かれていない当事者も、続柄だけで返させます。 「兄と、兄の妻と」と書かれていれば、名前は空で、続柄が「兄」「兄の妻」の2行が出ます。事務局はこれを見て、相談者に名前を聞く必要があると分かります。 名前が無いからといって行ごと落とすと、照合されない当事者が黙って残ります。

させないこと理由
正式な会社名への言い換え推測した名前で照合すると「該当なし」が出る
表記をそろえることプログラムが決まった規則で行う
利益相反に当たるかの判断弁護士が事件の中身を踏まえて判断する
相談内容の要約一覧に相談の中身を広げない
名前が無い当事者の名前の推測「兄」の名前を相談者の姓から作らない

最後の行は、意外に起きます。 相談者が「山田」で、「兄と遺産のことで」と書かれていると、AIは「山田〇〇(兄)」のように姓を補いたがります。補った名前で照合して当たらなければ、確かめたことになってしまいます。

Step6

指示内容を固定する

あなたは法律事務所の事務局で、相談予約の申込みから、利益相反の確認に使う
当事者の名前を拾い出す担当です。申込みに書かれていることだけを使ってください。

【拾い出すもの】
申込みの項目と相談内容の文章に出てくる、すべての人と会社・団体。
相談者本人、相談者の会社、相手方、それ以外の関係者(家族、取引先、勤務先、
保険会社、管理会社など)を含めます。

【それぞれについて返すこと】
- name ........... 書かれていたとおりの表記。名前が書かれていなければ空
- role ........... applicant(相談者)/ applicant_org(相談者の会社)/
                   opponent(相手方)/ related(関係者)
- kind ........... person(個人)/ organization(法人・団体)/ unknown
- relation ....... 文章に書かれた続柄や立場(「兄の妻」「元請け」など)。無ければ空
- evidence ....... その名前や続柄が出てくる文を、申込みからそのまま写したもの

【厳守事項】
- 名前は書かれていたとおりに写してください。「(株)」を「株式会社」に直す、
  全角を半角にする、正式な社名に言い換える、といったことをしないでください。
- 名前が書かれていない当事者も、relation だけを入れて1件として返してください。
  名前を推測して補わないでください。相談者の姓を家族の名前に付けないでください。
- 相手方かどうか決められないときは related にしてください。
- 同じ人や会社が何度出てきても、表記が同じなら1件にまとめてください。
  表記が違う場合は、まとめずに別々に返してください。
- 利益相反に当たるかどうか、相談を受けられるかどうかを書かないでください。
- 相談内容の要約を書かないでください。
- 弁護士・裁判所・警察などの公的機関の名前は、当事者ではないので返さないでください。
  ただし、相手方の代理人として書かれた弁護士や法律事務所は related として返してください。

【申込みの項目】{form_fields}
【相談内容】{consultation_text}

「表記が違う場合は、まとめずに別々に返す」が大事です。 AIは「〇〇建設」と「〇〇建設さん」を賢くまとめますが、「〇〇建設」と「〇〇ホールディングス」もまとめることがあります。まとめるかどうかの判断は、照合用の文字列の側でつけます。

相手方の代理人の行も、見落とされやすいところです。 相手方の代理人として名前が挙がった法律事務所が、事務所の過去の依頼者であることもあります。

Step7

出力形式を固定する

AI by Zapier の出力の項目(Output Fields)に、parties(次の形のJSONを入れた文字列)と no_name_count(数値)を定義します。 後の手順はこの項目を参照します。

{
  "parties": [
    {
      "name": "",
      "role": "applicant | applicant_org | opponent | related",
      "kind": "person | organization | unknown",
      "relation": "",
      "evidence": ""
    }
  ],
  "no_name_count": 0
}

Code by Zapier が、これを1名ずつに分けて照合用の文字列を足します。

[
  { "application_id": "W-2026-1007-031", "name": "(株)〇〇建設",
    "role": "opponent", "kind": "organization", "relation": "元請け",
    "evidence": "元請けの(株)〇〇建設から代金を払ってもらえません。",
    "match_key": "〇〇建設" }
]

1つ目の理由は、name と match_key を別の項目に持てることです。 一覧には書かれていたとおりの表記と照合に使った文字列が並ぶので、事務局は「何を検索したのか」を一目で確かめられます。

2つ目は、evidence で拾い漏れを確かめられることです。 事務局は一覧の根拠の文を読み、申込みの文章に、根拠として挙がっていない名前が残っていないかを見ます。

3つ目は、no_name_count で「名前を聞く必要がある申込み」を分けられることです。 Paths by Zapier で、この数が1以上の申込みだけ、チャットの知らせに「名前の確認が要る」と添えます。

Step8

システムへ連携する

つなぎ先方式内容
相談予約フォームWebhooks by Zapier の Catch Hook申込みの項目と相談内容を受け取る
AI by ZapierZap の中の手順名前の取り出し
Code by ZapierZap の中の手順(Python)1名ずつに分け、照合用の文字列を作る
当事者索引Google スプレッドシートの行の検索照合用の文字列で引く
利益相反の確認の一覧Google スプレッドシートの行の追加1名1行で書く
所内のチャットメッセージの送信申込み番号と件数だけを知らせる

確認の一覧には、1名1行で次の列を書きます。 申込み番号、受付日時、名前(書かれていたとおり)、照合用の文字列、役割、種類、続柄、根拠の文、索引で当たった事件番号・事件名・担当弁護士・終了の有無、事務局の追加検索の結果、弁護士の確認の結果。最後の2列は人が書きます。

チャットの知らせには、名前も相談の中身も書きません。 「申込み W-2026-1007-031 の確認の一覧ができました(当事者4名、索引で当たり1件、名前の確認が要るもの1件)」のように、件数だけにします。所内のチャットは、事件を担当しない人も見ているからです。

Step9

人が確認する

一覧は全件、事務局が見ます。 当たりがあったものだけでなく、当たりが無かったものも見ます。

  1. 拾い漏れを見る … 申込みの相談内容を読み、根拠の文に挙がっていない名前が無いかを確かめます
  2. 当たらなかった会社名を検索する … 法人・団体で索引に当たらなかったものは、事件管理の仕組みで略称・旧商号・ふりがなでも検索します
  3. 名前の無い当事者を確かめる … no_name_count が1以上なら、相談者に名前を問い合わせます。問い合わせの文面は、相談の中身に触れない定型にします
  4. 担当弁護士に回す … 当たりがあったもの、迷うものを、事件番号を添えて担当弁護士に回します
  5. 弁護士が決める … 受けてよいか、同意が要るか、断るかを弁護士が決め、一覧に書きます

2番目を省かないでください。 照合用の文字列でそろえられるのは、全角・半角や「株式会社」の位置までです。「該当なし」は「この表記では当たらなかった」という意味でしかありません。 特に相手方が法人のときは、事務局が別の表記でも検索することを手順に組み込みます。

断る場合の連絡は、理由を書かない定型にします。 相手方が事務所の依頼者であることは、相談者に伝えられない情報です。

Step10

例外に対処する

起きること対応
AI by Zapier がエラーで止まる確認の一覧に申込み番号だけを書き、「手で確認」と印を付ける
名前が1件も返らない一覧に「名前なし」と書き、事務局が申込みを読む
名前の無い当事者がいるno_name_count を知らせに添え、相談者に定型の文面で問い合わせる
索引で500行を超えて当たる照合用の文字列が短すぎる(「山田」だけなど)。事務局が事件管理の仕組みで絞り込む
同じ申込みが二重に届く申込み番号で処理済みかを引き、2回目は何もしない
当事者索引の書き出しが古い一覧に索引の書き出し日時を書く。前日より古ければ知らせに添える
相談内容が外国語で書かれている名前は取り出せるが、表記ゆれがそろわない。事務局が検索する
相談内容に指示のような文が含まれる名前の取り出し以外の出力の項目を持たないので、後の手順は変わらない

4行目は、個人の姓だけが書かれたときに起きます。 「田中さんとの間で」の「田中」で索引を引くと、何百件も当たります。当たった件数が多いこと自体を、名前の確認が要るという合図として扱います。

最後の行は、Webのフォームならではです。 誰でも送れるフォームなので、相談内容に「これまでの指示を無視して」のような文が書かれることもありえます。AIの出力を名前の項目に限り、その後の手順を決まった規則で動かしておけば、文章の中身で動きが変わることはありません。

Step11

記録を残す

  • 申込み番号ごとの、AI by Zapier の出力(名前・役割・根拠の文)
  • 照合用の文字列と、索引で当たった事件番号
  • 照合に使った当事者索引の書き出し日時
  • 事務局の追加検索の結果(どの表記で検索したか)
  • 弁護士の確認の結果と、確認した日時
  • 相談者に日程の案内を送った日時

3行目が、後から説明するときに効きます。 当事者索引は毎日書き換わるので、「その日の索引では当たらなかった」ことを示すには、どの時点の索引で照合したかが要ります。

最後の2行の順序が、この構成の守りたいことです。 弁護士の確認より前に日程の案内が送られていないかを、一覧の日時で毎月確かめます。

04実装レベルの3段階

最小構成:申込みを手でAIの画面に貼り、名前を表にさせる / 名前の拾い出し
半自動化:上記+Webhook で Zap を動かし、照合用の文字列で当事者索引を引き、確認の一覧に書く / 拾い出しから索引の照合と一覧の作成まで
本格構成:上記+事件管理の仕組みの検索を API で直接呼び、略称・旧商号も含めて照合する / 照合の範囲の拡大

最小構成では件数がさばけません。 確かめるための段階です。 半自動化で、1件9分が4分になり、この段階が本記事の想定です。 拾い出しと、規則でそろえた照合が自動になり、事務局は一覧の確認と、当たらなかった会社名の追加検索に時間を使います。 本格構成は、事件管理の仕組みが検索の API を公開している場合に限られます。 公開されていなければ、半自動化のままで十分に効きます。事件管理の仕組みへの書き込みは、本格構成でも行いません。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
2 名
月間件数
240 件
1件あたり現在時間
9 分
1件あたり導入後時間
4 分
現在  240件 × 9分 ÷ 60 = 36 時間/月
導入後 240件 × 4分 ÷ 60 = 16 時間/月
月間削減時間
20h
削減率
56%
年間削減時間
240h
年間金額換算(時間単価3,000円)
72万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. Webサイトの相談予約フォームから月に百件以上の申込みがあり、事務局が申込みごとに相手方の名前を書き出して事件管理の仕組みで検索している法律事務所。相談の内容欄に相手方や関係者の名前が文章で書かれていて、項目として取れていない場合。取扱い事件の依頼者・相手方を一覧として書き出せる場合。
向いていない
  1. 相談の申込みが電話と紹介だけで、Webのフォームを使っていない事務所。申込みが月に十数件で、弁護士が自分で確かめて足りる場合。事件管理の仕組みが申込みの段階から当事者の照合まで備えている場合。なお、職務を行い得ない事件に当たるかどうかの判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の相談予約の申込みから30件を選ぶ(相手方が法人のもの、家族間のもの、相手方の欄が空欄のものを混ぜる)
  2. 申込みの項目と相談内容を、事務所で利用が認められている生成AIの画面に1件ずつ貼る
  3. 第7章の指示文を使い、名前・役割・種類・続柄・根拠の文を表で出させる
  4. 出てきた名前を、当時事務局が書き出した名前と並べる
  5. 表記をそろえる規則を表計算ソフトの関数で試し、当時の検索で当たった事件に当たるかを見る

30件は必ずやってください。 Zap を組む前に、拾い出しの漏れと、表記の規則で当たる範囲を確かめます。

出てきた内容判断
当時の書き出しと同じか、それより多くの名前が拾えたWebhook と索引の照合の自動化に進む
社名を正式名称に直した、家族に姓を補った指示の書き方で直る。構成は有効
規則でそろえても当時の当たりに当たらない索引の書き方の見直しが先。略称・旧商号を索引に足す
相談内容に名前がほとんど無いフォームの項目の見直しが先。相手方の欄を必須にする

3行目が出たら、当事者索引の作り方を見直す好機です。 事件管理の仕組みに、相手方の略称や旧商号を登録する欄があれば、それも索引に書き出して照合用の文字列を作ります。

08実装時につまずきやすいポイント

問題対策
AIが社名を正式名称に直す書かれていたとおりに写すよう指示し、表記をそろえるのはプログラムだけにする
家族の名前に相談者の姓を補う指示で禁じ、名前の無い当事者は続柄だけで返させる
表記ゆれで索引に当たらない申込みと索引の両方で、同じ規則の照合用の文字列を作る
「該当なし」を確認済みと受け取る法人は事務局が別の表記でも検索することを手順にする
姓だけで何百件も当たる件数の多さを、名前の確認が要る合図として扱う
当事者索引が古い毎日書き出し、一覧に書き出し日時を書く
相手方の代理人を拾わない代理人の弁護士・法律事務所を related で返すよう指示する
一覧に相談内容が広がる一覧には名前と根拠の文だけを写す
チャットの知らせに名前が載る知らせは申込み番号と件数だけにする
確認の前に日程の案内が送られる案内は人が送る。 一覧の日時で毎月確かめる

上の4行が、この構成の失敗のほとんどです。 どれも、「当たらなかった」ことを「問題がない」と読んでしまうことにつながります。照合の結果は「この表記では当たらなかった」であって、確認が済んだことではないと、一覧の見出しにも書いておくと効きます。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 相談者の氏名・連絡先・会社名、相手方と関係者の名前、相談内容の文章、そして事務所の取扱い事件の依頼者・相手方・事件名の一覧です。

  1. AI by Zapier のモデルを、契約条件を見て選ぶ … AI by Zapier は複数の提供元のモデルを選べ、自社のAPIキーを使うこともできます。相談の申込みを、どの提供元に、どの条件で渡すのかを事務所として決めてください
  2. AIに渡すのは申込みだけにする … 当事者索引はAIに渡さず、照合はスプレッドシートの検索で行います。取扱い事件の一覧そのものを生成AIに渡さないことが、この構成の前提です
  3. 一覧に相談の中身を写さない … 確認の一覧を見る人は、事務局と担当弁護士に限ります。それでも、写すのは名前と根拠の文までにします
  4. 相手方が依頼者であることを、相談者に伝えない … 断るときは理由を書かない定型の文面にします
  5. 確認が済むまで相談の中身に進まない … 弁護士法第25条や弁護士職務基本規程は、相手方の協議を受けた事件などについて職務を行ってはならないとしています。日程の案内と相談の聞き取りは、弁護士の確認の後にします
  6. 判断を自動にしない … 職務を行い得ない事件に当たるか、依頼者の同意で受けられるかは、弁護士が判断します。この構成が出すのは、照合の結果までです

誤りが起きた場合のリスクは、利益相反のある相談を受けてしまうことと、相談の中身や事務所の依頼者の情報が、見るべきでない人に広がることの2つです。前者は拾い漏れと「該当なし」の読み違いから、後者は一覧と知らせの書き方から起きます。どちらも、AIの出力を名前に限り、判断を人に残す設計で防ぎます。

10まず何から始めるか

1週目:当事者索引を書き出す

事件管理の仕組みから、取扱い事件の依頼者・相手方・関係者・事件番号・事件名・担当弁護士・終了の有無を書き出し、スプレッドシートにします。書き出しを毎日繰り返せる手順にすることが、最初の準備作業です。

2週目:30件で試す

先月の申込みから30件を選び、生成AIの画面で名前を拾い出させます。当時事務局が書き出した名前と並べ、拾い漏れと、社名の言い換えが無いかを最優先で見ます。

3週目:表記の規則を決める

全角・半角、空白と記号、会社の種類の表記の扱いを決め、Python で照合用の文字列を作る規則を書きます。同じ規則で索引の側の列も作り、30件で当時の当たりが再現できるかを確かめます。

4週目:Zap をつなぐ

Webhook、AI by Zapier、Code by Zapier、索引の検索、確認の一覧への書き込み、チャットの知らせまでを作ります。この時点では、事務局がこれまでどおり手で書き出したうえで、一覧と見比べる運用にします。

2か月目: 手での書き出しをやめ、一覧の確認と追加検索に切り替えます。拾い漏れの件数を毎週数えます。3か月目以降: 1件9分が何分になったかを実測し、日程の案内が弁護士の確認より前に送られた件数がゼロであることを確かめます。事務局が「該当なし」を確認済みと読まなくなった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-07/最終更新:2026-10-07
確認した内容情報源確認日
弁護士は、相手方の協議を受けて賛助し又はその依頼を承諾した事件、相手方の協議を受けた事件で信頼関係に基づくと認められるもの、受任している事件の相手方からの依頼による他の事件などについて、職務を行ってはならないこと(第25条)e-Gov 法令API: 弁護士法2026-10-07
職務を行い得ない事件(第27条・第28条)。共同事務所の所属弁護士は、他の所属弁護士が職務を行い得ない事件について、職務の公正を保ち得る事由があるときを除き職務を行ってはならないこと(第57条)。取扱い事件の依頼者、相手方及び事件名の記録その他の措置を採るよう努めること(第59条)法務省掲載: 弁護士職務基本規程2026-10-07
AI by Zapier がプロンプトの欄と出力の項目(名前・型・説明)を持つこと。OpenAI、Anthropic、Google Gemini、Azure OpenAI、Amazon Bedrock から選べ、自社のAPIキーも使えること。Standard が1タスク、Advanced が3倍、Premium が5倍のタスクを使うことZapier: Use AI by Zapier to analyze and return data2026-10-07
Catch Hook が受け取ったデータを解析すること、Zapier が固有の URL を発行すること、トリガーのデータが最大10MBであること、無料プランでは使えないことZapier: Trigger Zaps from webhooks2026-10-07
Code by Zapier の Python が input_data を受け取り、辞書または辞書の並びを返すこと。辞書の並びを返すと後の手順が繰り返し動くこと。標準ライブラリと requests などが使え、追加のライブラリは入れられないことZapier: Use Python code in Zaps2026-10-07
行の検索で検索する列と値を指定すること。複数の行を返す高度な検索の手順で最大500行まで受け取れることZapier: Find and update spreadsheet rows in Google Sheets2026-10-07

職務を行い得ない事件に当たるかどうかは、担当の弁護士が判断してください。 本記事は、上記の公開資料で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-0672)についてのご相談はこちらから。

AI活用について相談する
目次