中級向けn8n 公式テンプレート承認済み
法令の改正ウォッチ
見張りたい法令の一覧を書いておくと、毎日 e-Gov 法令API(キー不要)で改正を調べ、新しい版があれば、変わった条文をコードが条ごとに出します。
Claude が各条の変更を説明し、コードが「引用は条文にあるか」「数字は条文にあるか(漢数字も)」を照合して、Google スプレッドシートと Slack に出します。
労働基準法など3法令で、改正の検出、記録、通知まで動きました。一方で、照合を通ったのに中身が不正確な説明が1件ありました。n8n 公式テンプレートとして承認された JSON を配布します。
人の手間は、どう変わるか
Before(人が手でやっていたこと)
- ニュースや e-Gov を見て、担当する法令が改正されていないかを確かめる
- 改正があれば、新旧の条文を並べて、どこが変わったかを探す
- 変わった点をまとめて、社内に共有する
After(このワークフローを入れると)
- 毎日、一覧の法令に新しい版がないかを調べる
- 新しい版があれば、追加・削除・変更された条文と、変わった文字が、コードで出る
- 各条の変更の説明(コードが照合ずみ)が、シートと Slack に届く
それでも人に残ること
- 説明を読み、元の条文で中身を確かめる(照合を通っても、中身が不正確な説明が1件あった)
- 自社への影響を判断する
公開
動作確認: — n8n 2.36.8 / e-Gov 法令API(Version 2) / Claude Haiku 4.5 / Google スプレッドシート / Slack(無料プラン)
n8n 公式テンプレート: 英語版が n8n の審査を通過しました()。注記を読む
この記事で配っている JSON は、n8n に出した英語版と同じものです(審査のあとで n8n 側が手を入れていれば、公式のページの版のほうが新しい)。n8n が内容を保証するものではありません。 n8n 公式のページ(英語版)を見る
仕事に関わる法律が改正されたことに、あとから気づく。総務、人事、法務の担当者なら、一度はあると思います。
このワークフローは、見張りたい法令の一覧を書いておくと、毎日、改正がないかを調べて、どの条文が、どう変わったかを知らせます。
伝えたいことは、1つです。変わった条文は、コードが機械的に出す。AI には、説明を書かせるだけにして、その説明もコードが照合する。 ただ、それでも、照合を通った説明が、中身として間違っていることがありました(下の「第115条の例」)。だから、通知には、AI の説明と並べて、コードが出した「変わった文字」を必ず出します。
law-amendment-watch.json をダウンロード
n8n 公式のテンプレートとして承認されました(n8n の画面での公開の日付は、2026年10月15日)。配っているのは、n8n に出した英語版と同じファイルです。Slack に送る文は、日本語です。
e-Gov 法令API について
デジタル庁の e-Gov 法令API(Version 2) は、API キーなしで呼べました。使ったのは、次の3つです。
GET /laws:法令名から、法令ID を調べるGET /law_revisions/{法令ID}:改正の履歴(新しい順。まだ施行されていない改正も含む)GET /law_data/{版のID}:その版の本文(JSON で取れる。労働基準法は、1つの版で約420KB の JSON でした)
仕様書には、利用規約と、呼び出しの回数の上限が、見当たりませんでした。 このワークフローは、呼び出しを1秒ずつ空けています。使う前に、e-Gov の規約を確かめてください。また、本文の JSON 形式は、仕様書で「試行版」とされていて、変わる可能性があります。
法令の本文は、著作権法第13条により、著作権の対象になりません。
このワークフローがすること
- 毎日8時に、Config に書いた法令(初期値は、労働基準法、個人情報保護法、下請法)の、改正の履歴を見る
Watchタブに覚えている版と比べる。初めての法令は、今の版を覚えるだけ(「見張りを始めました」と Slack に出す)- 新しい版があれば、新旧の本文を取り、コードが条ごとに比べる(附則も含む)。追加・削除・変更の条と、変わった文字(前後を少し付けて)を出す。ここに AI は入らない
- Claude(Haiku 4.5) が、変わった条ごとに、1〜2文の説明と、新旧の条文からの引用を書く(初期値で10条まで)
- コードが照合する
Changesタブ(1条1行)と Slack に出す。最後にWatchタブを更新する(Slack で失敗しても、次の実行でもう一度見つかるように)
Demo のトリガーを使うと、各法令の、新しいほうから2つの版を比べて見せます(何も覚えません)。公開する前に、出力を見るのに使えます。
コードが照合すること
| 照合すること | どうしているか |
|---|---|
| 引用は、条文にあるか | 新しい条文からの引用は新しい条文に、古い条文からの引用は古い条文に、その文字列があるか |
| 数字は、条文にあるか | 説明に出てくる数字が、新旧の条文にあるか。漢数字も数えるので、「36」は「第三十六条」と照合できる |
| 条は、コードが見つけたものか | AI が、変わっていない条について書いたら、落とす。AI が説明しなかった条は「要確認」にする |
| 種類は合っているか | 追加・削除・変更の種類が、コードの判定と同じか |
照合に落ちた説明は、「要確認」として残します。 コードが出した「変わった文字」は、どの条にも必ず付けます。
実際の法令で試した結果
2026年10月12日に、本物の e-Gov 法令API で試しました。それぞれ1回の実行です。
| 試したこと | 結果 |
|---|---|
| Demo(3法令、新しいほうから2つの版) | 労働基準法と個人情報保護法は、説明がすべて照合を通った(どちらも、成年後見の制度の見直しに伴う用語の変更) |
| 初めての実行 | 3法令とも、今の版を覚えて「見張りを始めました」 |
| 古い版を覚えさせて実行 | 労働基準法の改正を検出(追加4、変更6)。記録・通知・状態の更新まで動いた |
| もう一度実行 | 何も起きなかった(約3秒。比較も、Claude の呼び出しもなし) |
| 存在しない法令ID | Slack に「読めませんでした(ID を確かめて)」。状態の表には何も書かない |
説明の例です(労働基準法 第五十八条)。
未成年者の労働契約に関する規定で、「後見人」が「未成年後見人」に変更され、また「代つて」が「代わつて」に、「向つて」が「向かつて」に改められた。
送り仮名の小さな変更まで、拾えていました。コードが出した変わった文字も、同じ内容でした。
コードそのものは、AI を使わずに30通り(漢数字の変換、本物の条文を編集・削除したもの、作り話の引用、違う数字、存在しない条、読めない出力など)で試し、すべて期待どおりでした。
照合を通ったのに、間違っていた説明(第115条の例)
労働基準法の改正で、第百十五条(時効)について、Claude は、こう説明しました。
賃金請求権の消滅時効が5年間に統一され、災害補償請求権について…
この説明は、照合をすべて通りました。 引用は条文にあり、「5」という数字も、条文の「五年間」にあります。
しかし、コードが出した、変わった文字を見ると、違います。
- 旧:「…五年間、この法律の規定による災害補償その他の請求権(賃金の請求権を除く。)はこれを行使することができる時から二年間…」
- 新:「…五年間、その他の請求権(この法律の規定による災害補償の請求権を除く。)はこれを行使することができる時から二年間…」
賃金の請求権の「五年間」は、旧い条文にも、もともと書かれていました。 変わったのは、「その他の請求権」と「災害補償の請求権」の書き分けです。AI は、変わっていない部分を、変わったかのように書いています。
つまずいたこと
1. 大きな改正で、AI の出力が JSON として読めなかった
下請法は、2025〜2026年に、名前も中身も大きく変わりました(今の題名は「製造委託等に係る中小受託事業者に対する代金の支払の遅延等の防止に関する法律」)。20条の説明を一度に頼むと、Claude の出力が長すぎて、途中で切れ、JSON として読めませんでした。 このとき、20条とも「要確認」になり、間違った説明は1つも出ませんでした(照合が、きちんと働いた例です)。
出力の上限を 4,000 から 8,000 トークンに上げ、一度に説明する条数の初期値を10にしました。もう一度試すと、10条が説明され、そのうち2条が照合で「要確認」になり、残りの12条は、コードの差分だけで出ました。
2. 番号の振り直しがあると、差分が荒くなる
同じ下請法では、条の番号が振り直されたため、コードは「第3条(旧)」と「第3条(新)」を比べます。中身が別の条なので、ほぼ全部の条が「変更」になります。 条は位置で照らし合わせていて、意味で照らし合わせてはいないためです。大改正では、差分は「どこを読むべきか」の目印くらいに考えてください。
3. Windows のシェルで、日本語の検索がうまくいかなかった
法令ID を調べるとき、私の環境(Windows の Git Bash)から curl に日本語の法令名を渡すと、文字化けして、0件が返りました。Node.js の fetch で問い合わせ直すと、正しく返りました。ワークフローの中(n8n)では、問題になりません。
使うための設定
- スプレッドシート: 空のシートを作り、ID を Spreadsheet ID に貼って、Run once を1回実行する(
WatchとChangesのタブができる)。そのあと、Google スプレッドシートのノードで、そのシートを選ぶ - 認証情報: Google スプレッドシート、Anthropic、Slack(アプリを、選んだチャンネルに入れておく)
- Config: 見張る法令の ID を、カンマ区切りで書く。ID は、e-Gov の URL にあります(
laws.e-gov.go.jp/law/322AC0000000049なら労働基準法)。政令や省令にも ID があるので、同じように書けます - Demo を実行して、Slack の出力を見てから、公開する
使う前に知っておくこと
- 法的な助言ではありません。 「どの条文を読むべきか」の目印です
- 初めての法令は、今の版を覚えるだけで、比べません。知らせるのは、そのあとの改正からです
- 施行前の改正(「未施行(施行予定)」)も知らせます。施行日は、Slack の1行目に出ます
- Claude の一文の概要(改正が何についてのものか)は、照合していません。参考にとどめてください
- 条文の一部は Anthropic に送られます(法令の本文なので、機密ではありません)
確認していないこと
- e-Gov 法令API の利用規約と、呼び出しの回数の上限(仕様書に見当たらなかった)
- 何十本もの法令を見張ったときの、時間と費用(試したのは3本)
- 本文がとても大きい法令(所得税法など)で、n8n のメモリが足りるか
- Haiku 以外のモデルで、説明の正確さが上がるか
次に読む
- 同じく、確認を通っても中身が違った例は 引用つきの議事録
- 外部の API を、AI なしで使うテンプレートは 外貨のカード決済の為替チェック
- HTTP Request ノードの使い方は n8n HTTP Request ノードの使い方
- 定期的に動かす設定は n8n Schedule Trigger の使い方
- テンプレートを n8n 公式に出した記録は n8n テンプレート投稿と審査