国や都道府県から届く照会のメールを、エージェントが読んで担当課の候補を付け、期限つきの台帳に載せて期限前に確認する
国や都道府県から届く照会・調査の依頼メールを、エージェントが読み、事務分掌と過去の照会の記録から担当課の候補を付けます。回答期限つきで台帳に載せ、期限が近いのに回答の無い照会について、担当課へ状況の確認を送ります。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Python/Zapier
- 対象業界
- 医療/教育/自治体
- 対象部門
- 経営企画/総務
- 対象業務
- 分類・仕分け/台帳・マスタ管理
- 主な課題
- 判断に時間がかかる/属人化している/期限・対応漏れが起きる
- AIで行う処理
- エージェント
- 主な効果
- 対応スピード向上/属人化解消/工数削減/機会損失防止
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 文書係が共有メールボックスを開き、届いた依頼のメールと添付を読む
- 照会元・件名・回答期限・提出先・様式を確かめる
- 前年度の台帳を検索して、同じ照会をどの課が回答したかを見る。無ければ事務分掌規則を読む
- 担当課に電話かメールで確かめ、引き受けてもらえたら依頼のメールを転送する
- 台帳に1行書き足す
- 期限が近づいたら台帳を見て、回答の無い課に電話で確かめる
- 複数の課にまたがる照会は、企画政策課と取りまとめ役の課を相談する
- 自動共有メールボックスに依頼が届くと、ワークフローが動き、本文と添付を取り出す
- 自動添付のPDFと調査票から文字を取り出し、照会の本文とまとめる
- 自動エージェントが、照会元・件名・期限の文字列・提出先・様式を読み取る
- 自動エージェントが、過去の照会の記録と事務分掌を道具で引き、担当課の候補(主・関係課)と根拠を出す
- 自動計算のノードが、期限の文字列を日付にできるかを確かめ、台帳に「割り振り待ち」で載せる
- 人文書係が候補と根拠を確かめ、承認するか、課を直して承認する
- 自動承認されたものを担当課の受付用のメールボックスへ回し、台帳を「割り振り済み」にする
- 自動毎朝、期限が近いのに回答の無い照会について、担当課へ状況の確認を送り、返事を台帳に書く
- 人複数の課にまたがる照会と、断られた照会は、企画政策課が取りまとめ役を決める
各工程の詳しい説明を読む
- 文書係が共有メールボックスを開き、届いた依頼のメールと添付を読む
- 照会元・件名・回答期限・提出先・様式を確かめる
- 前年度の台帳を検索して、同じ照会をどの課が回答したかを見る。無ければ事務分掌規則を読む
- 担当課に電話かメールで確かめ、引き受けてもらえたら依頼のメールを転送する
- 台帳に1行書き足す
- 期限が近づいたら台帳を見て、回答の無い課に電話で確かめる
- 複数の課にまたがる照会は、企画政策課と取りまとめ役の課を相談する
(a)担当課の決め方が人に付いている。 文書係の在籍が長い職員は、件名を見ただけで回す先が分かります。異動の直後は、前年度の台帳を探す時間が何倍にもなります。 照会の名称は年度ごとに少しずつ変わり、検索で当たらないことも多くあります。
(b)期限の直前に「聞いていない」が出る。 転送したメールが担当課の職員個人に埋もれ、期限の前日に照会元から催促が来て初めて気づくことがあります。台帳には担当課の名前はあっても、課の中で誰が持っているかはありません。
(c)複数の課にまたがる照会が止まる。 「子育て世帯への支援の実施状況」のような照会は、福祉・教育・保健の課にまたがります。取りまとめ役が決まるまでの数日、どの課も手を付けません。
(d)回す先を断られる。 「うちの所管ではない」と返され、別の課を探し直すことがあります。1件の割り振りに、電話を3本かけることも珍しくありません。
- 【自動】 共有メールボックスに依頼が届くと、ワークフローが動き、本文と添付を取り出す
- 【自動】 添付のPDFと調査票から文字を取り出し、照会の本文とまとめる
- 【自動】 エージェントが、照会元・件名・期限の文字列・提出先・様式を読み取る
- 【自動】 エージェントが、過去の照会の記録と事務分掌を道具で引き、担当課の候補(主・関係課)と根拠を出す
- 【自動】 計算のノードが、期限の文字列を日付にできるかを確かめ、台帳に「割り振り待ち」で載せる
- 【人】 文書係が候補と根拠を確かめ、承認するか、課を直して承認する
- 【自動】 承認されたものを担当課の受付用のメールボックスへ回し、台帳を「割り振り済み」にする
- 【自動】 毎朝、期限が近いのに回答の無い照会について、担当課へ状況の確認を送り、返事を台帳に書く
- 【人】 複数の課にまたがる照会と、断られた照会は、企画政策課が取りまとめ役を決める
6番目が、この設計の分かれ目です。 担当課へ回すのは、文書係が承認した後だけです。誤った課へ回った照会は、回し直すまでの日数がそのまま期限から引かれます。 エージェントが回す道具を呼ぶと、そこで止まって承認を待つ形にします。
8番目で、担当課の「回答済み」を台帳に返させています。 確認のメールにボタンを付け、担当課が押した結果を台帳に書きます。電話で聞いて台帳に書き写す作業を、ここで無くします。
02今回想定するシステム構成
【トリガー】共有メールボックスへの受信(Email Trigger (IMAP)) ▼ n8n ├──▶ Extract From File(鏡文のPDF、調査票の文字を取り出す) ▼ AI Agent ノード(Azure OpenAI) │ 道具:過去の照会の記録/事務分掌/課の受付先 │ 回し先の承認つき転送(人の承認で止まる) ▼ 照会の項目・担当課の候補・根拠(構造化出力) Code ノード ── 期限の文字列を日付にできるか、営業日の計算 ▼ 照会の台帳 ── 割り振り待ち → 割り振り済み → 回答済み ▲ 【トリガー】毎朝8:30(Schedule Trigger) n8n ── 期限が近く回答の無い照会を拾う └──▶ Send Email(担当課へ状況の確認。返事を待つ)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | n8n(Email Trigger、AI Agent ノード、Schedule Trigger) | Power Automate、Make、Zapier |
| 生成AI | Azure OpenAI(Microsoft Foundry。n8n の Azure AI Foundry Chat Model ノードで接続) | Claude API、Gemini API |
| 差異計算 | JavaScript(n8n の Code ノード。期限の日付化と残り営業日の計算) | Python |
| 保管 | 照会の台帳(データベースの表) | 表計算のファイル |
| 通知 | 庁内のメール(Send Email ノード) | Microsoft Teams |
文書管理システムには書き込みません。 収受の登録と決裁は、これまでどおり担当課と文書係が行います。この構成が持つのは、誰が、いつまでに、何を返すかの台帳です。
土台になるのは、n8n の AI Agent ノード(Tools Agent)です。 つないだ道具の中から、課題に応じて使うものを選ぶ仕組みで、System Message で判断の方針を、Max Iterations(既定は10)で答えを作ろうとする回数の上限を、Require Specific Output Format で出力パーサーの接続を設定します。Return Intermediate Steps を有効にすると、途中の判断の過程も出力に残ります。
道具は Call n8n Workflow Tool で作ります。 別のワークフローを道具として呼ぶノードで、Description に使いどころを書き、Workflow Inputs を $fromAI() でAIに埋めさせます。
回す道具には、人の確認を付けます。 n8n では、AI Agent ノードの道具に人の確認をつなぐと、その道具を呼ぶところで止まり、Microsoft Teams、Microsoft Outlook、Slack などへ承認の依頼が飛びます。$tool.name と $tool.parameters で、何をしようとしたかを依頼文に出せます。否認されると、その操作は取り消され、AIに否認されたことが伝わります。
03どうやって実装するのか
処理の起点を決める
2つのトリガーを持ちます。 1つは依頼の受信、もう1つは毎朝の期限の見回りです。
受信は Email Trigger (IMAP) で、共有メールボックスを見張ります。 Mailbox Name で受付用のフォルダを指定し、Action で受け取ったメールを既読にするかを選びます。Download Attachments を有効にしないと、鏡文と調査票が取れません。 処理が重くなるとされていますが、この業務では添付が本体です。Custom Email Rules で、照会元のドメインや件名の決まった語で絞れます。
見回りは Schedule Trigger で、平日の朝8時30分に動かします。 Custom(Cron)で曜日を指定します。Schedule Trigger はワークフローのタイムゾーン、無ければインスタンスの既定を使い、自前で立てたインスタンスの既定は America/New York です。 ワークフローの設定で Asia/Tokyo を指定し、保存して公開(publish)します。 公開しないと定時に動きません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼のメール | 差出人、件名、本文、受信日時、添付 | 共有メールボックス |
| 鏡文 | 文書番号、発出日、照会元、件名、回答期限、提出先、問い合わせ先 | 添付のPDF |
| 調査票 | 様式の名前、設問、記入欄、提出先の記載 | 添付の表計算のファイル |
| 過去の照会の記録 | 照会元、件名、担当課、関係課、回答日、断られた履歴 | 照会の台帳(前年度以前を含む) |
| 事務分掌 | 課ごとの所掌事務の条文 | 事務分掌規則を条文ごとに表にしたもの |
| 課の受付先 | 課ごとの受付用のメールボックス、照会の窓口になる係 | 文書係が持つ一覧 |
質を決めるのは、過去の照会の記録の「断られた履歴」です。 件名だけを見ると担当課が明らかに見える照会でも、実際には別の課が回答していたものがあります。前年度に一度断られた課を候補の1番目に出すと、同じやり取りを毎年繰り返します。
事務分掌は、条文ごとに1行の表にします。 規則の全文をそのまま渡すと、AIは条文の言い回しが近いだけの課を候補に挙げます。課の名前、条文の番号、所掌事務の文の3列にしておくと、根拠として条文の番号を返させられます。
データの取得方法を決める
添付の文字は、エージェントの外で先に取り出します。 Extract From File ノードは、PDFや表計算のファイルなどのバイナリをJSONに変えるノードです。鏡文のPDFは本文の文字、調査票は設問の行を取り出し、メールの本文とまとめてエージェントに渡します。
| 道具の名前 | 引くもの | 使いどころ |
|---|---|---|
search_past_inquiries | 照会元と件名の語が近い過去の照会、その担当課・関係課・回答日・断られた履歴 | 前年度と同じ照会か、名前を変えた後継の照会かを見る |
search_duties | 語が近い事務分掌の条文と、その課 | 過去の記録が無いときに候補を探す |
get_section_contact | 課の受付用のメールボックスと窓口の係 | 回し先を決める |
route_inquiry | 承認された照会を担当課へ回し、台帳を更新する | 人の承認が要る。承認されるまで止まる |
search_past_inquiries を先に、search_duties を後に呼ばせます。 事務分掌から先に探すと、条文の上では当たるが実際には回答していない課が出ます。庁内の実際の分担は、規則より過去の記録のほうに出ています。
過去の照会の検索は、照会元と件名の語の両方で行います。 照会の名称は年度ごとに「令和○年度」の部分や調査の副題が変わるため、件名の完全一致では当たりません。道具の側のワークフローで、年度の表記と括弧書きを落とした件名の語で引き、照会元が同じものを上位に並べて返します。 照会元が国から都道府県経由に変わっただけの照会も、同じ照会として拾えます。
AIへ渡す前に整形する
- 差出人の確認 … 照会元のドメインの一覧に無い差出人は、エージェントに渡さず「要確認」として文書係へ回します
- 重複と差し替えの検知 … 文書番号と件名で台帳を引き、同じ照会の再送や「訂正」「差し替え」の版を見分けます
- 添付の取り出し … PDFと調査票から文字を取り出します。パスワード付きのファイルや取り出せないファイルは、その旨を記録します
- 本文の整理 … 署名、転送の履歴、自動で付く注意書きを落とします
- 長さの制限 … 調査票の設問が長いものは、表題と最初の設問、提出先の記載だけを渡します
2番目を省かないでください。 照会元が期限を延ばしたり、様式を差し替えたりすると、同じ照会がもう一度届きます。別の照会として台帳に載ると、期限の古い行が残り、催促が二重に飛びます。
AIに処理させる
させるのは、照会の項目を読み取り、担当課の候補を根拠付きで出すことです。 期限の日付への変換と、残りの営業日の計算はさせません。
| 決めること | 選ぶ値 | 判断の材料 |
|---|---|---|
| 照会の種類 | 照会・調査/意見照会/通知(回答不要)/依頼の訂正 | 本文と鏡文の記載 |
| 期限の文字列 | 書かれたとおりの文字列 | 鏡文、本文、調査票 |
| 担当課の候補 | 主の課1つと関係課 | 過去の照会の記録、事務分掌 |
| 取りまとめの要否 | 1課で足りる/複数の課の取りまとめが要る | 調査票の設問が複数の課の所掌にまたがるか |
| 文書係への確認事項 | 人が決めることの箇条書き | 根拠が弱い、断られた履歴がある、期限が読めない |
「通知(回答不要)」を分けるのは、台帳を汚さないためです。 周知だけの通知まで期限つきで載せると、回答の要らない行に毎朝催促が飛びます。
| させないこと | 理由 |
|---|---|
| 期限の日付への変換と営業日の計算 | 計算のノードで行う。読めない期限を埋めない |
| 担当課の決定 | 候補まで。決めるのは文書係 |
| 取りまとめ役の課の決定 | 企画政策課が決める |
| 回答の中身の作成 | 照会に何と答えるかは担当課の仕事 |
| 照会元への問い合わせ | 照会元へは担当課か文書係が連絡する |
指示内容を固定する
System Message に次の内容を入れます。
あなたは市役所の文書担当で、国や都道府県から届いた照会・調査の依頼を
読み、庁内の担当課の候補を探す担当です。担当課は決めず、候補と根拠を
返してください。
【読み取る項目】
照会元、文書番号、発出日、件名、照会の種類、期限の文字列、提出先、
提出の方法、様式の名前、照会元の問い合わせ先
【期限の扱い】
- 期限は、書かれている文字列をそのまま deadline_text に写してください。
- 日付に直さないでください。曜日や時刻もそのまま写してください。
- 「別途連絡」「調査票に記載」のように日付が無いときは、そのまま写し、
questions_for_clerk に「期限が読み取れない」と書いてください。
- 期限が複数ある場合(一次回答と最終回答など)は、すべてを配列で返してください。
【道具の使い方】
1. まず search_past_inquiries で、照会元と件名の語が近い過去の照会を探してください。
2. 過去の記録が無いとき、または記録の担当課に断られた履歴があるときだけ、
search_duties で事務分掌の条文を探してください。
3. 候補が決まったら get_section_contact で受付先を確認してください。
4. route_inquiry は、文書係の承認を求めるために呼んでください。
否認された場合は、否認の理由を questions_for_clerk に書き、
別の課で route_inquiry を呼び直さないでください。
同じ道具を同じ引数で2回呼ばないでください。
【厳守事項】
- 根拠の無い課を候補にしないでください。
根拠は、過去の照会の識別子か、事務分掌の条文の番号で示してください。
- 断られた履歴がある課を主の候補にするときは、その理由を書いてください。
- 調査票の設問が複数の課の所掌にまたがる場合は、needs_coordination を true にし、
取りまとめ役の課は決めないでください。
- 照会への回答の中身を書かないでください。
- 照会の種類が通知(回答不要)と読める場合は、その根拠の文字列を写してください。
【依頼のメールと添付】{inquiry}
【台帳で見つかった同じ文書番号の行】{duplicates}
「期限を日付に直さない」を書かないと、AIは親切に変換します。 「10月20日正午」を 2026-10-20 にし、時刻を落とします。「今月末」を月末の日付にします。変換そのものが合っていても、文字列が残らないと、文書係が読み違いを確かめられません。 変換は計算のノードの規則で行い、変換できなかったものを人に見せます。
「否認されたら別の課で呼び直さない」も大事です。 書かないと、否認された直後に2番目の候補で route_inquiry を呼び、文書係の承認待ちが同じ照会で何件も並びます。
出力形式を固定する
Require Specific Output Format を有効にし、Structured Output Parser をつなぎます。 次の形のJSONで受け取ります。
{
"message_id": "",
"issuer": "",
"doc_no": "",
"issued_date_text": "",
"subject": "",
"kind": "inquiry | opinion | notice_only | correction",
"deadline_text": [ { "label": "", "text": "" } ],
"submit_to": "",
"form_name": "",
"candidate_sections": [
{ "section": "", "role": "primary | related",
"basis": [ { "type": "past_inquiry | duty_clause", "id": "", "quote": "" } ],
"declined_before": false }
],
"needs_coordination": false,
"questions_for_clerk": [],
"confidence": "high | low"
}
Structured Output Parser は、JSONの例から形を作る方法と、JSON Schema を書く方法から選べます。例から作ると、すべての項目が必須として扱われます。 通知(回答不要)では candidate_sections が空になるので、JSON Schema で書き、必須の項目を自分で決めます。 $ref による参照は使えないとされているので、入れ子はその場に展開します。
1つ目の理由は、期限の文字列と日付を別の層に置けることです。 deadline_text はAIが写し、日付は計算のノードが決めます。
| 期限の文字列の例 | 計算のノードの扱い |
|---|---|
| 「令和8年10月20日(火)正午まで」 | 日付と時刻に変換。曜日が日付と合わなければ「要確認」 |
| 「10月20日」 | 受信日から見て次に来るその日に変換 |
| 「別途連絡」「調査票に記載」 | 日付なし。台帳では「期限未確定」として毎朝の一覧の先頭に出す |
| 一次回答と最終回答の2つ | 早いほうを見回りの期限にし、両方を台帳に持つ |
曜日と日付が合わないものを「要確認」にしているのは、照会元の誤記が実際にあるからです。 どちらが正しいかは照会元に確かめるしかなく、AIにも計算にも決めさせません。
2つ目は、basis で文書係の確認が速くなることです。 候補の課ごとに、どの過去の照会、どの条文を根拠にしたかが並ぶので、台帳や規則を開き直さずに承認できます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 共有メールボックス | Email Trigger (IMAP) | 依頼の受信と添付の取得 |
| 照会の台帳 | データベースの読み書き | 登録、状態の更新、過去の照会の検索 |
| 事務分掌の表 | 読み取り | 条文の検索 |
| 承認の依頼 | AI Agent の道具の人の確認(Microsoft Outlook または Teams) | 回す前に文書係が承認する |
| 担当課の受付用のメールボックス | Send Email | 承認された照会を回す |
| 期限前の確認 | Send Email の Send and Wait for Response | 担当課に状況を聞き、返事を台帳に書く |
期限前の確認は、Send Email ノードの Send and Wait for Response で送ります。 メールを送って受け手の返事を待つ操作で、承認のボタン、自由記述、項目を決めたフォームの3つの返し方があります。ここではフォームにし、「回答済み」「作業中(期限までに出せる)」「期限の延長を照会元に相談したい」の3つから選ばせます。 待つ時間は、間隔か日時で区切れます。
注意点が1つあります。 Send Email(SMTP)ノードは In-Reply-To や References のヘッダーを設定できず、返信のスレッドとしてはつながりません。 担当課へ回すメールの件名に台帳の番号を入れ、スレッドの代わりにします。
人が確認する
- 承認の依頼を見る … 文書係は、候補の課と
basisを読み、承認するか、課を直して承認します declined_beforeがtrueの候補を見る … 前に断られた課です。電話で確かめてから承認しますneeds_coordinationがtrueのものを企画政策課へ回す … 取りまとめ役の課を決めます- 「期限未確定」と「要確認」を見る … 照会元の問い合わせ先に確かめ、台帳の期限を人が入れます
- 「期限の延長を相談したい」の返事を見る … 照会元への相談は、担当課が行うか文書係が行うかを決めます
承認の画面で見るのは、候補の課の名前より根拠のほうです。 根拠が前年度の同じ照会なら承認は速く、条文だけが根拠なら、その課に電話で確かめてから承認します。
目標は、1件をならして6分です。 前年度と同じ照会で根拠がはっきりしているものは承認だけで1分、取りまとめが要るものや断られた履歴があるものは、電話を含めて15分を超えます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 照会元の一覧に無い差出人 | エージェントに渡さず「要確認」。なりすましのメールを担当課へ回さない |
| パスワード付きの添付 | 取り出せない旨を台帳に記録し、別のメールで届くパスワードを文書係が対応する |
| 同じ照会の訂正版・差し替えが届く | 台帳の元の行に紐付け、期限と様式を更新する。新しい行を作らない |
| 担当課の職員に直接届いた照会 | 担当課から共有メールボックスへ転送してもらい、台帳に載せる |
| 承認の依頼に返事が無いまま半日たつ | 文書係の別の職員へ依頼を回す |
| 期限の確認に担当課から返事が無い | 翌朝もう一度送り、期限の前日は課長あてにも送る |
| Max Iterations に達した | 途中までの結果と confidence: low で文書係へ回す |
1行目は、セキュリティの対策でもあります。 照会を装ったメールは、「担当課へ回す」という流れに乗った瞬間に、庁内の職員が開く添付になります。
記録を残す
- 受信したメールと添付の原本、受信日時
- エージェントの出力の全文と、Return Intermediate Steps で残した途中の過程
- 承認の結果(承認/課を直して承認/否認)と、直した課、承認した職員
- 期限の文字列と、計算のノードが決めた日付、「要確認」とした理由
- 期限前の確認の送信日時と、担当課の返事
- 担当課が回答した日と、照会元への提出の方法
3つ目が、翌年度の候補の質を決めます。 文書係が課を直した記録と、断られた記録が台帳に残り、search_past_inquiries の材料になります。直した記録が残らないと、エージェントは同じ誤りの候補を毎年出します。
04実装レベルの3段階
最小構成では件数がさばけません。 記録を書き出して貼る作業が重く、月240件には使えません。確かめるための段階です。 半自動化で、1件25分が15分程度になります。 ①の読み取りと台帳への記入が無くなりますが、担当課を探す作業と、期限前の電話が残ります。本格構成で6分になり、この段階が本記事の想定です。 差が大きいのは、担当課を探して確かめる作業と、期限前の確認が、1件ごとの電話だからです。 段階を飛ばさないでください。 半自動化を1か月回すと、「期限未確定」の多い照会元と、件名が毎年変わる照会が分かります。そこを台帳の側で整えてから候補を出すほうが、外れが減ります。
05工数削減シミュレーション
導入後 240件 × 6分 ÷ 60 = 24 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 国の省庁や都道府県から、照会・調査・意見照会の依頼が毎月数百件届く市区町村。依頼が文書担当の共有メールボックスにまとまって届き、どの課へ回すかを担当者の経験で決めている場合。回答期限の管理が表計算の台帳と記憶に頼っていて、期限の直前に担当課から「聞いていない」と言われることがある場合。事務分掌と、前年度の照会をどの課が回答したかの記録を表にできる場合。
- 照会が月に数十件で、文書担当1人が目で見て回せる場合。照会がすでに文書管理システムの電子決裁と収受に一本化され、担当課の割り振りと期限の通知がシステムで行われている場合。どの課が回答するかの判断に、首長や幹部の調整が毎回要るような案件が中心の場合(この構成は調整そのものを代替しません)。
07最小構成で試す方法
- 先月届いた照会から15件を選ぶ(うち数件は、担当課を回し直したもの、複数の課にまたがったものを入れる)
- 事務分掌規則の該当する部分と、前年度の台帳から同じ照会の行を書き出す
- 手元の生成AIのサービスに、1件ずつ依頼の本文・鏡文と書き出した記録を貼り付ける
- 「この照会の照会元、件名、期限(書かれたとおり)、提出先を読み取り、担当課の候補を、前年度の記録か事務分掌の条文を根拠にして挙げてください。期限を日付に直さないでください。根拠の無い課を挙げないでください」と指示する
- 出てきた候補を、実際に回答した課と突き合わせる
15件は必ずやってください。 ワークフローを組む前に、「過去の記録と事務分掌があれば候補が当たるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 実際に回答した課が候補の1番目に出た | ワークフローとエージェントの組み立てに進む |
| 期限を日付に直した、根拠の無い課を挙げた | 指示の書き方で直る。構成は有効 |
| 前年度の記録が見つからず候補が外れる | 台帳の残し方が先。 AIの問題ではない |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 期限が日付に変換され、元の書き方が消える | 文字列をそのまま写させ、変換は計算のノードで行う |
| 「別途連絡」の照会が台帳で埋もれる | 「期限未確定」として毎朝の一覧の先頭に出す |
| 条文の言い回しが近いだけの課が候補になる | 過去の記録を先に引かせ、条文は後にする |
| 前年度に断られた課が毎年候補に出る | 台帳に断られた履歴を残し、declined_before で示す |
| 訂正版が別の照会として台帳に載る | 文書番号と件名で重複を検知し、元の行を更新する |
| 否認の後に別の課で回そうとする | 呼び直さないと指示し、否認の理由を人に返す |
| 添付が取れない | Download Attachments を有効にする |
| 朝ではなく夜に動く | Schedule Trigger のタイムゾーンを Asia/Tokyo にする |
| 例から作ったスキーマで出力が失敗する | 例から作ると全項目が必須になる。JSON Schema で書く |
| 返信のスレッドがつながらない | Send Email(SMTP)はヘッダーを設定できない。件名に台帳の番号を入れる |
上の2行が、この構成の失敗のほとんどです。 どちらも期限の扱いの問題で、読めない期限を管理できているように見せてしまうという同じ形をしています。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 照会の本文と添付、調査票の設問、庁内の課と職員の連絡先です。照会によっては、住民の個人情報を含む調査票が添付されることがあります。
- ネットワークの区分を先に確かめる … 総務省の「地方公共団体における情報セキュリティポリシーに関するガイドライン」は令和7年3月に改定され、LGWAN接続系やマイナンバー利用事務系といった区分ごとの対策を定めています。照会のメールがどの区分で届き、生成AIへの接続がどの区分から許されるかは、各団体の情報セキュリティポリシーと情報政策の部門の判断によります。この構成は、その判断を代替しません
- 個人情報を含む添付を生成AIに渡さない … 調査票に住民の氏名や記入済みの個人の情報があるものは、前処理で添付を渡さず、件名と鏡文だけで候補を出します
- 回す前に必ず人が承認する … 誤った課へ回った照会は、期限を削ります。道具に人の確認を付け、承認なしに回る経路を作らない
- 差出人を確かめる … 照会元のドメインの一覧に無いメールは、エージェントに渡しません
- 生成AIのサービスは、入力を学習に使わない契約と設定のものを選ぶ … 照会の中身には、公表前の国の施策が含まれることがあります
誤りが起きた場合のリスクは、照会が期限までに回答されないことと、照会を装ったメールが庁内に回ることの2つです。 前者は期限の扱いと承認の滞りで起き、後者は差出人の確認を省くと起きます。どちらも、AIの外の規則で守ります。
10まず何から始めるか
1週目:台帳に2つの列を足す
前年度の照会の台帳に、「実際に回答した課」と「断られた課」の列を足します。すべてを埋める必要はありません。件数の多い照会元から100件ほど埋めます。
2週目:15件で試す
先月の照会から15件を選び、手元の生成AIに貼って候補を出させます。期限を日付に直していないか、根拠の無い課を挙げていないかを最優先で見ます。
3週目:ネットワークの区分と期限の規則を決める
情報政策の部門と、生成AIへの接続をどこから行うかを決めます。 あわせて、期限の文字列を日付にする規則、「期限未確定」の扱い、期限前の確認を何営業日前に送るかを、文書係と企画政策課で決めます。
4週目:受信から台帳までをつなぐ
n8n の Email Trigger で共有メールボックスを見張り、添付を取り出して項目を読み取り、台帳に「割り振り待ち」で載せるところまで作ります。この時点では候補を出しません。
2か月目: 道具のワークフローを作り、担当課の候補と承認つきの回し先を足します。文書係が候補を直した割合を毎週数えます。3か月目以降: 毎朝の期限前の確認を足し、1件25分が何分になったかを実測します。期限の前日に照会元から催促が来る件数が減り、異動の直後も割り振りが止まらなかった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Email Trigger (IMAP) の Mailbox Name、Action(既読にするか)、Download Attachments(処理が増えること)、Format、Custom Email Rules | n8n Docs: Email Trigger (IMAP) node | 2026-10-06 |
| Schedule Trigger の Custom(Cron)、タイムゾーンの扱いと自前のインスタンスの既定が America/New York であること、保存して公開する必要があること | n8n Docs: Schedule Trigger node | 2026-10-06 |
| Tools Agent の System Message、Max Iterations(既定10)、Return Intermediate Steps、Require Specific Output Format | n8n Docs: Tools AI Agent node | 2026-10-06 |
Call n8n Workflow Tool の Description、Workflow Inputs、$fromAI() | n8n Docs: Call n8n Workflow Tool node | 2026-10-06 |
Structured Output Parser で例から作ると全項目が必須になること、$ref が使えないこと | n8n Docs: Structured Output Parser node | 2026-10-06 |
道具に人の確認を付けると承認を求めて止まること。Microsoft Teams・Microsoft Outlook・Slack などの経路、$tool.name と $tool.parameters、否認で操作が取り消されAIに伝わること | n8n Docs: Human-in-the-loop for AI tool calls | 2026-10-06 |
Send Email ノードの Send and Wait for Response(承認・自由記述・フォーム、待つ時間を間隔か日時で区切れること)。SMTP で In-Reply-To と References を設定できないこと | n8n Docs: Send Email node | 2026-10-06 |
| Azure AI Foundry Chat Model ノードで Azure の生成AIを接続できること、Response Format、Sampling Temperature、Timeout、Max Retries の設定 | n8n Docs: Azure AI Foundry Chat Model node | 2026-10-06 |
| 地方公共団体における情報セキュリティポリシーに関するガイドラインが令和7年3月に改定され、LGWAN接続系やマイナンバー利用事務系についての対策(無線LANの利用の要件など)が規定されたこと | 総務省: 令和7年3月のガイドライン改定のポイントについて | 2026-10-06 |
生成AIへの接続をどのネットワークの区分から行えるかは、各団体の情報セキュリティポリシーと情報政策の部門で確認してください。 本記事は総務省の資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0491)についてのご相談はこちらから。
