税理士事務所が顧問先から毎月集める通帳・領収書・請求書の提出状況を Make で追い、顧問先ごとの不足の一覧と催促の文面を作る
顧問先が共有フォルダに上げる毎月の通帳・領収書・請求書を数え、顧問先ごとの必要書類と照らして不足の一覧を作ります。そのうえで、前回の返事と巡回の予定を踏まえた催促の文面を下書きします。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 士業
- 対象部門
- 経理/総務
- 対象業務
- 台帳・マスタ管理/書類作成
- 主な課題
- 人手が足りない/属人化している/期限・対応漏れが起きる
- AIで行う処理
- 生成
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 毎月5日ごろ、アシスタントが担当の顧問先の月のフォルダを1つずつ開く
- 必要書類の一覧のスプレッドシートと見比べ、上がっていないものを書き出す
- 前回の催促のメールと顧問先の返事を Gmail で探して読む
- 巡回の予定日を予定表で確かめる
- 顧問先ごとに催促のメールを書いて送る
- 10日、15日にも同じことを繰り返す
- 提出状況のスプレッドシートに、届いた日と催促の日を書く
- 人顧問先が、これまでどおり月のフォルダに書類を上げる
- 自動毎月5日・10日・15日の朝に Make のシナリオが動き、提出状況表から顧問先の一覧を引く
- 自動顧問先ごとに、月のフォルダの中のファイルを種類のフォルダ別に数え、必要書類の一覧と照らして不足を決める
- 自動提出状況表に、種類ごとの「届いた/未着」と最終の確認日時を書き込む
- 自動不足がある顧問先について、前回の催促の後の顧問先からのメールを Gmail で探し、本文の先頭を取る
- 自動AIが、不足の一覧・催促の回数・巡回の予定日・前回の返事をもとに、催促のメールの件名と本文と担当者向けのメモを下書きする
- 自動Gmail に顧問先あての下書きを作り、担当者ごとに「今日の催促の下書き」の一覧をメールで送る
- 人担当者が下書きを読み、直して送る。送らないと決めたものは一覧に印を付ける
- 自動次の回のシナリオが、送った催促の数を数えて回数を進める
各工程の詳しい説明を読む
- 毎月5日ごろ、アシスタントが担当の顧問先の月のフォルダを1つずつ開く
- 必要書類の一覧のスプレッドシートと見比べ、上がっていないものを書き出す
- 前回の催促のメールと顧問先の返事を Gmail で探して読む
- 巡回の予定日を予定表で確かめる
- 顧問先ごとに催促のメールを書いて送る
- 10日、15日にも同じことを繰り返す
- 提出状況のスプレッドシートに、届いた日と催促の日を書く
(a)数えるだけで時間がかかる。 1件の顧問先で4〜6個のフォルダを開き、一覧と見比べます。判断らしい判断は無いのに、240件を回ると数日かかります。 回り終えたころには、最初に見た顧問先の状況が変わっています。
(b)事情を読み直すのに時間がかかる。 前回「来週送ります」と返事があった顧問先に、それを無視した定型の催促を送ると、顧問先は気分を害します。だから担当者は毎回メールの履歴を読み直します。 文面を書く時間より、履歴を読む時間のほうが長い顧問先もあります。
(c)催促の仕方が人によって違う。 早めに丁寧に何度も送る担当と、月末まで待って1回で済ませる担当がいます。巡回の前にそろわない顧問先が、特定の担当の受け持ちに偏ります。
- 【人】 顧問先が、これまでどおり月のフォルダに書類を上げる
- 【自動】 毎月5日・10日・15日の朝に Make のシナリオが動き、提出状況表から顧問先の一覧を引く
- 【自動】 顧問先ごとに、月のフォルダの中のファイルを種類のフォルダ別に数え、必要書類の一覧と照らして不足を決める
- 【自動】 提出状況表に、種類ごとの「届いた/未着」と最終の確認日時を書き込む
- 【自動】 不足がある顧問先について、前回の催促の後の顧問先からのメールを Gmail で探し、本文の先頭を取る
- 【自動】 AIが、不足の一覧・催促の回数・巡回の予定日・前回の返事をもとに、催促のメールの件名と本文と担当者向けのメモを下書きする
- 【自動】 Gmail に顧問先あての下書きを作り、担当者ごとに「今日の催促の下書き」の一覧をメールで送る
- 【人】 担当者が下書きを読み、直して送る。送らないと決めたものは一覧に印を付ける
- 【自動】 次の回のシナリオが、送った催促の数を数えて回数を進める
8番目が、この設計の分かれ目です。 催促は顧問先との関係そのものなので、送るのは必ず担当者です。 その代わり、担当者がフォルダを開くことも、履歴を探すことも、一から書くこともありません。1件15分の作業が、下書きを読んで直して送る数分になります。
3番目をAIに任せないのも意図してのことです。 何が足りないかは、フォルダのファイルの有無と一覧から1つに決まります。AIに「何が足りないか」を考えさせると、届いている書類を不足に挙げることがあります。 AIには、決まった不足を受け取って書くことだけをさせます。
02今回想定するシステム構成
顧問先が月のフォルダに書類を上げる(Google Drive の共有ドライブ) │ ▼【トリガー】スケジュール(毎月5日・10日・15日の朝) Make(シナリオ) ├──▶ Google Sheets:Search Rows(提出状況表・必要書類の一覧) ├──▶ Google Drive:Search for Files/Folders(顧問先の月のフォルダの中) ├──▶ 不足を数える(必要書類の一覧と照らす。AIを通さない) ├──▶ Google Sheets:Update a Row(提出状況表へ書き込む) ├──▶ Router:不足なし / 不足あり / 催促を止めている顧問先 ▼(不足ありのルート) ├──▶ Gmail:Search emails(前回の催促の後の顧問先からのメール) ▼ Claude API ── 催促のメールの件名・本文・担当者向けメモを JSON で返す ▼ Make ├──▶ Gmail:Create a draft email(顧問先あての下書き) ├──▶ Aggregator:担当者ごとに下書きの一覧をまとめる ▼ Gmail:Send an email(担当者あて「今日の催促の下書き」)── 送信は担当者が行う
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ) | Power Automate、n8n、Zapier |
| 生成AI | Claude API(Anthropic Claude アプリの Make an API Call) | OpenAI API、Gemini API |
| 集計 | Google Sheets(提出状況表・必要書類の一覧) | Microsoft Lists |
| 保管 | Google Drive の共有ドライブ(顧問先ごとの月のフォルダ) | OneDrive、Box |
| メール | Gmail(下書きの作成と担当者への一覧) | Outlook |
フォルダの中を数えるのは、Google Drive の Search for Files/Folders です。 Make の Google Drive のアプリには、ファイルの作成や変更で動く Watch Files in a Folder もありますが、この構成では使いません。 240件の顧問先の月のフォルダを1つずつ見張ることになり、月ごとにフォルダが変わるからです。決まった日に、顧問先ごとのフォルダを検索して数えるほうが単純です。
共有ドライブを使うには Google Workspace が要ります。 公式の説明では、Google Shared Drive の選択肢は Google Workspace の利用者だけが使え、ほかの利用者には Invalid Value のエラーが出るとされています。
AIは、Make の Anthropic Claude のアプリから呼びます。 アプリには手軽な Create a Prompt と、任意の API を呼べる Make an API Call があり、接続には API キーを使います。この構成では、返す形を JSON に決めたいので Make an API Call で Messages API を呼び、構造化出力を指定します。
03どうやって実装するのか
処理の起点を決める
毎月5日・10日・15日の朝8時に動かします。 Make のシナリオのスケジュールには、一定の間隔、1回、毎日、平日、毎週、毎月、日付の指定、手動などの選択肢があり、日付の指定か毎月で、月の決まった日に動かせます。 書類が上がるたびに動かす作りにはしません。催促は顧問先にとって決まった日に来るほうが分かりやすく、担当者も決まった日の朝に下書きをまとめて見られるからです。
巡回の前の確認を1回足します。 巡回監査のある顧問先は、予定日の3営業日前にも数えます。毎日朝に動くシナリオを別に作り、提出状況表の巡回の予定日が3営業日後の顧問先だけを処理します。
担当者が手で動かせるようにもしておきます。 顧問先から「いま上げた」と電話があったときに、その顧問先だけを数え直せるよう、提出状況表の顧問先の行に「再確認」の欄を置き、手動で動くシナリオがその行だけを処理します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 提出状況表 | 顧問先コード、顧問先名、担当者、連絡先のメールアドレス、月のフォルダのID、巡回の予定日、催促の回数、催促を止める印と理由 | Google Sheets |
| 必要書類の一覧 | 顧問先ごとに、種類のフォルダ名、書類の名前(「〇〇銀行 普通 1234の通帳」など)、必須か任意か | Google Sheets |
| 月のフォルダの中身 | 種類のフォルダごとのファイルの数と、最終の更新日時 | Google Drive |
| 前回の返事 | 前回の催促の後に顧問先から届いたメールの日時と本文の先頭 | Gmail |
| 文面の決まり | 事務所の署名、顧問先ごとの呼びかけ(「〇〇社長」「経理ご担当者様」)、使わない言い回しの一覧 | Google Sheets |
質を決めるのは、必要書類の一覧です。 「通帳」とだけ書くのではなく、口座ごとに1行を作り、種類のフォルダも口座ごとに分けます。 口座が3つの顧問先で通帳のフォルダが1つだと、1つ上がっただけで「届いた」になります。数え方は一覧の作り方でしか正しくなりません。
催促を止める印を持たせます。 「今月は休業」「決算の資料は別に預かる」「社長が入院中」のように、催促してはいけない事情がある顧問先です。印が付いた顧問先は、数えるだけで下書きを作りません。 理由は担当者が書きます。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 顧問先の一覧と必要書類 | Google Sheets | Search Rows(見出しの行を持つ表で、列の名前で項目を取る) |
| 月のフォルダの中身 | Google Drive | Search for Files/Folders(顧問先の月のフォルダの中を種類のフォルダごとに) |
| 前回の返事 | Gmail | Search emails(顧問先の連絡先から、前回の催促の日より後に届いたもの) |
| 書き込み | Google Sheets | Update a Row(種類ごとの届いた/未着、確認の日時、催促の回数) |
Search Rows には、1回の実行で返す件数の上限(Limit)があります。 公式の説明では、Limit は1回の実行サイクルで返す結果の最大の数とされています。240件の顧問先を1回で処理するなら、Limit を顧問先の数より大きくしておきます。 小さいままだと、表の後ろの顧問先が黙って処理されません。
Gmail の検索は、顧問先の連絡先と日付で絞ります。 本文は先頭の500文字だけを取り、添付と署名より後は渡しません。 AIが要るのは「いつ・何と返事があったか」で、メールの全文ではありません。
ファイルの中身は取りません。 数えるのはファイルの有無と数だけです。書類の中身をAIに渡さないことで、顧問先の口座の明細や取引先の名前が外へ出る経路がなくなります。
AIへ渡す前に整形する
- 月のフォルダの有無の確認 … フォルダが無ければ「フォルダ未作成」として担当者の一覧に載せ、下書きを作りません
- 不足の決定 … 必要書類の一覧の行ごとに、種類のフォルダのファイルが1つ以上あれば「届いた」、無ければ「未着」とします。任意の書類は不足に入れません
- 催促を止める印の確認 … 印が付いていれば、数えて書き込むだけにします
- 催促の回数の決定 … 今月の催促の数を提出状況表から取り、今回が何回目かを決めます
- 巡回までの日数の計算 … 巡回の予定日までの営業日の数を出します。日数の計算はシナリオの式で行い、AIに渡すのは結果の数だけです
- 前回の返事の整形 … 届いた日時と本文の先頭500文字にし、引用の行(「>」で始まる行)を落とします
2番目をシナリオの式で決めるのが、いちばん大事です。 不足の一覧は催促の中身そのものです。ここが1つずれると、届いている書類を催促するメールの下書きができ、担当者が直さずに送れば顧問先の信頼を失います。 式なら、同じフォルダには必ず同じ答えが出ます。
AIに処理させる
させるのは、決まった不足の一覧と事情を受け取り、顧問先ごとの催促のメールの件名と本文、担当者向けのメモを書くことです。
| 書くもの | させること | 判断できないときの扱い |
|---|---|---|
| 件名 | 月と「ご提出のお願い」、回数に応じた表現 | - |
| 本文 | 不足の書類を一覧のとおりに並べ、期限と上げ方を書く | - |
| 前回の返事への触れ方 | 返事に約束(日付・「来週」など)があれば、それに触れて書く | 返事の意味が読み取れなければ触れずに、staff_note に書く |
| 調子 | 回数と巡回までの日数で、決められた段階の言い回しにする | - |
| 担当者向けのメモ | 返事に事情(入院・休業・担当の交代など)があれば、それを書く | 無ければ空 |
4行目の調子は、段階を事務所が決めます。 1回目は「ご案内」、2回目は「再度のお願い」、3回目以上か巡回まで3営業日以内なら「巡回に間に合わせるためのお願い」。AIに調子を任せると、回数が増えるほど言葉が強くなりすぎるか、逆にいつまでも丁寧すぎるかのどちらかに寄ります。
| させないこと | 理由 |
|---|---|
| 何が足りないかを決めること | シナリオが一覧とフォルダで数える |
| 不足の一覧に書類を足す・減らすこと | 一覧のとおりに並べる |
| 期限や巡回の日を作ること | 提出状況表の値をそのまま使う |
| 返事に無い約束を書くこと | 「〇日にお送りいただけるとのこと」と作らない |
| 罰則や追加の料金をにおわせること | 事務所の方針。人が決める |
| 送信すること | 下書きまで。送るのは担当者 |
4行目が、いちばん起きやすい失敗です。 前回の返事が「バタバタしていてすみません」だけでも、AIは気を利かせて「近日中にお送りいただけるとのことで」と書きます。顧問先が言っていない約束を、事務所の側が書くことになります。
指示内容を固定する
あなたは税理士事務所の職員として、顧問先へ月次の書類の提出をお願いする
メールの下書きを書きます。下の情報だけを使ってください。推測で補わないでください。
【書くもの】
- subject:件名。「{year_month}分 ご提出のお願い」を基本にし、
下の「調子の段階」に合わせて言葉を選んでください。
- body:本文。呼びかけ、不足の書類の一覧、期限、上げ方、署名の順に書いてください。
- staff_note:担当者だけが読むメモ。前回の返事に事情が書かれていれば
要点を1〜2文で書いてください。無ければ空にしてください。
【調子の段階】{tone_level}
- 1:ご案内として、短く丁寧に。
- 2:再度のお願いとして。前回の案内に触れる。
- 3:巡回に間に合わせるためのお願いとして。巡回の日と、そろわない場合に
巡回の場で記帳が終わっていない状態になることを、責める言い方を避けて書く。
【厳守事項】
- 不足の書類は、下の「不足の一覧」のとおりに、1行ずつ並べてください。
書類を足したり、減らしたり、まとめたり、言い換えたりしないでください。
- 期限と巡回の日は、下に書かれた日付をそのまま使ってください。
ほかの日付を書かないでください。
- 前回の返事に、送る日や時期の約束が書かれていれば、それに触れてください。
約束が書かれていなければ、約束があったように書かないでください。
- 前回の返事の意味が読み取れない場合は、本文で触れず、staff_note に
「返事の意味を確認してください」と書いてください。
- 延滞の料金、契約の解除、罰則をにおわせる言い回しを使わないでください。
- 「使わない言い回しの一覧」にある言葉を使わないでください。
- 署名は下の「署名」をそのまま使ってください。
【顧問先の呼びかけ】{salutation}
【不足の一覧】{missing_items}
【期限】{due_date}
【巡回の予定日】{visit_date}(巡回まで {days_to_visit} 営業日)
【今月の催促の回数】今回が {reminder_no} 回目
【前回の返事】{last_reply}
【上げ方の案内】{upload_guide}
【使わない言い回しの一覧】{ng_phrases}
【署名】{signature}
「書類を足したり、減らしたり、まとめたり、言い換えたりしない」を明記しないと、一覧が整理されます。 「〇〇銀行の通帳」と「△△銀行の通帳」を「各銀行の通帳」にまとめると、顧問先はどの口座が足りないのか分からず、全部をもう一度上げ直します。
「約束があったように書かない」は、前の節で挙げた失敗を止める1行です。 禁止だけでなく、読み取れないときの行き先(staff_note)を用意すると、AIが本文で補わずにメモへ回します。
調子の段階を数字で渡しているのは、段階の判断をシナリオに置くためです。 回数と巡回までの日数から段階を決める式はシナリオにあり、事務所が方針を変えるときは式を直すだけで済みます。
出力形式を固定する
次の形のJSONで受け取ります。 Make an API Call で Messages API を呼び、output_config.format に type: "json_schema" で次の形を指定します。
{
"subject": "",
"body": "",
"staff_note": "",
"mentioned_promise": true
}
構造化出力は、いまの公式の書き方に合わせます。 公式の説明では、スキーマを output_config.format に type: "json_schema" で渡すとされ、以前の output_format の指定は非推奨で、いずれ使えなくなるとされています。また、スキーマでは数値の minimum・maximum、文字列の minLength・maxLength などに対応していないとされているので、件名の長さの上限はスキーマに書かず、シナリオの側で確かめます。
JSON にする理由の1つ目は、Gmail の下書きにそのまま入れられることです。 subject を件名へ、body を本文へ入れます。自由文で受けると、件名と本文の切れ目をシナリオで探すことになります。
2つ目は、staff_note を顧問先へのメールから切り離せることです。 担当者向けのメモが本文に混ざると、「社長がご入院中のため」のような事務所の内側の言葉が顧問先へ届きます。 別の項目にしておけば、メモは担当者への一覧にだけ載ります。
3つ目は、mentioned_promise で照合できることです。 前回の返事が空なのに true が返れば、本文で約束を作った疑いがあるので、担当者への一覧に「本文の確認を」と印を付けます。
シナリオの側で、本文に不足の一覧の書類名がすべて含まれるかを確かめます。 1つでも欠けていれば、下書きを作らずに担当者への一覧に「不足の一覧と本文が合わない」と載せます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google Sheets(提出状況表・必要書類の一覧・文面の決まり) | Search Rows、Update a Row | 顧問先と必要書類を引き、提出状況と催促の回数を書き込む |
| Google Drive(共有ドライブ) | Search for Files/Folders | 月のフォルダの中のファイルの有無と数 |
| Gmail | Search emails | 前回の催促の後の顧問先からのメール |
| Claude API | Anthropic Claude アプリの Make an API Call | 催促のメールの下書き(JSON) |
| Gmail | Create a draft email | 顧問先あての下書き |
| Gmail | Send an email | 担当者あての「今日の催促の下書き」の一覧 |
顧問先の処理の振り分けは Router で行います。 Router はシナリオの流れを複数の経路に分け、経路は並行ではなく順に処理されるとされています。経路ごとにフィルタを置き、「不足なし」「催促を止めている」「不足あり」に分けます。どの条件にも当たらない顧問先は、フォールバックの経路で担当者の一覧に「状況を確認してください」と載せます。
担当者への一覧は Aggregator でまとめます。 集約は複数のバンドルを1つにまとめ、Group by に式を入れると、その値ごとに1つのバンドルを出すとされています。担当者のメールアドレスで Group by し、担当者ごとに1通の一覧を送ります。
会計ソフトには触りません。 書類が届いた後の記帳は、これまでどおり担当者が行います。
人が確認する
人が見るのは、次の3つの場面です。
- 担当者が下書きを開いたとき(全件) … 不足の一覧と本文、前回の返事への触れ方を確かめ、直して送るか、送らないかを決めます
staff_noteに事情が書かれた顧問先 … 入院・休業・担当の交代などの事情があれば、催促を止める印を付けるか、電話に切り替えるかを決めます- 担当者への一覧で印が付いたもの … 「フォルダ未作成」「不足の一覧と本文が合わない」「本文の確認を」の印の付いた顧問先を見ます
送信を自動にしないのは、催促が顧問先との関係そのものだからです。 不足の数え方が正しくても、顧問先がいま催促を受けたくない事情は、フォルダにも提出状況表にも出てきません。 担当者が下書きを読む数分が、その事情に気づく最後の機会です。
目標は、240件をならして1件4分です。 不足が無い顧問先は担当者の手が動かず、下書きを読んで送るだけの顧問先は1〜2分、staff_note に事情がある顧問先や印の付いた顧問先は10分ほどかかります。4分を大きく超える月は、必要書類の一覧が実態とずれています。
例外に対処する
| 起きること | 対応 |
|---|---|
| 月のフォルダが無い | 「フォルダ未作成」として担当者の一覧へ。下書きは作らない |
| 種類のフォルダの名前が一覧と違う | 未着として数えず「フォルダ名の不一致」として担当者の一覧へ |
| 催促を止める印がある | 数えて書き込むだけ。下書きは作らない |
| 顧問先の連絡先が空 | 下書きを作らず、担当者の一覧に「連絡先なし」 |
| AIの応答が返らない・JSON が壊れている | 1回だけ再実行。続けば下書きを作らず「下書きの失敗」として一覧へ |
| 本文に不足の書類名が欠けている | 下書きを作らず「不足の一覧と本文が合わない」として一覧へ |
前回の返事が空なのに mentioned_promise が true | 下書きは作り、一覧に「本文の確認を」の印 |
| 上げた後に顧問先がファイルを消した | 次の回で未着に戻る。届いた日の記録は残す |
| Search Rows の件数が顧問先の数に届かない | Limit を見直す。処理した顧問先の数をシナリオの最後に数えて担当者の一覧に載せる |
下から1行目は、黙って起きる失敗です。 表の後ろの顧問先が処理されなくても、エラーは出ません。処理した顧問先の数を毎回数えて一覧の先頭に載せれば、240件に届かない日にすぐ気づきます。
記録を残す
- シナリオが動いた日時と、処理した顧問先の数
- 顧問先ごとの種類別の「届いた/未着」と、そのときのファイルの数と最終の更新日時
- AIに渡した不足の一覧・調子の段階・前回の返事の先頭と、返ってきたJSONの全文
- 下書きを作ったか、作らなかったならその理由
- 担当者が送ったか、送らなかったか、本文をどれくらい直したか
- 催促を止める印を付けた日と理由
5つ目は、文面の決まりを育てる材料です。 担当者が毎回同じところを直しているなら、署名や呼びかけ、使わない言い回しの一覧が足りていません。送らなかった下書きが多い顧問先は、催促より電話のほうが合っている顧問先です。
04実装レベルの3段階
半自動化で、1件15分が4分になり、この段階が本記事の想定です。 フォルダを開くこと、履歴を探すこと、一から書くことが無くなり、残るのは担当者が下書きを読んで直して送ることです。本格構成で減るのは工数より、巡回の場で書類がそろっていない顧問先の数です。
05工数削減シミュレーション
導入後 240件 × 4分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 記帳代行や月次の巡回監査のために、顧問先から毎月の通帳・領収書・請求書を共有フォルダで預かっている税理士事務所・会計事務所。顧問先が200件を超え、誰から何が届いていないかの確認と催促のメールを担当者が月に何度も手で書いている場合。顧問先がすでに書類の種類ごとのフォルダに上げる運用になっていて、届いた書類を仕分ける必要がない場合。Google Workspace を使っている場合。
- 顧問先が数十件で、担当者が顧問先ごとの状況を把握できている場合。顧問先の多くが紙を郵送してくるか、メールの添付で送ってきて、種類ごとのフォルダに上げる運用になっていない場合(届いた書類の仕分けから始める構成が先に要ります)。会計事務所向けの資料回収のサービスで、催促の送信まで済んでいる場合。
07最小構成で試す方法
- 先月の顧問先から20件を選ぶ(うち数件は、催促を何度もした顧問先と、事情があって催促を止めた顧問先を入れる)
- 20件について、先月の5日時点の不足の一覧を、フォルダと必要書類の一覧から手で書き出す
- 不足の一覧、催促の回数、巡回の予定日、前回の返事を、手元のAIサービスに貼り付ける
- 「この情報だけで、顧問先への書類の提出のお願いのメールを書いてください。不足の書類は一覧のとおりに並べ、まとめないでください。返事に無い約束を書かないでください」と指示する
- 出てきた下書きを、当時担当者が実際に送ったメールと見比べる
20件は必ずやってください。 シナリオを組む前に、「この材料で、担当者が送れる文面になるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の担当者のメールと同じくらい送れる文面になった | シナリオの組み立てに進む |
| 不足の書類をまとめて書く | 指示の「まとめない」を強める。構成は有効 |
| 事情のある顧問先に普通の催促を書く | 前回の返事の取り方が足りない。 Gmail の検索の範囲を見直す |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 通帳が1つ上がっただけで「届いた」になる | 必要書類の一覧と種類のフォルダを口座ごとに分ける |
| 不足の書類が本文でまとめられる | 「まとめない」と書き、本文に全部の書類名があるかをシナリオで確かめる |
| 返事に無い約束を本文に書く | 「約束があったように書かない」と書き、mentioned_promise で照合する |
| 担当者向けのメモが顧問先へのメールに混ざる | staff_note を別の項目にし、一覧にだけ載せる |
| 表の後ろの顧問先が処理されない | Search Rows の Limit を見直し、処理した数を毎回数える |
| 共有ドライブを選ぶと Invalid Value のエラー | Google Workspace のアカウントで接続する |
| 構造化出力の指定で 400 のエラー | output_config.format を使う。スキーマに minLength などを書かない |
| 回数が増えるほど言葉が強くなる | 調子の段階をシナリオで決め、数字で渡す |
| フォルダの名前が顧問先によって違う | 月のフォルダを作るシナリオで名前をそろえる |
| 事情のある顧問先に催促を送ってしまう | 催促を止める印を持たせ、staff_note を担当者が見る |
上の4行が、この構成の失敗のほとんどです。 どれも「顧問先へ届く文面が、事実とずれる」失敗です。不足の一覧はシナリオが決め、AIはそれを並べ替えずに書く、送るのは人という線を守れば、運用に乗ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 顧問先の名前と連絡先、書類の種類と口座の名前(銀行名と口座番号の一部)、巡回の予定日、そして顧問先からのメールの本文の先頭です。
- 書類の中身をAIに渡さない … 数えるのはファイルの有無だけです。通帳の明細や領収書の中身は、この構成のどこからもAIへ渡りません
- 口座の名前を短くする … 必要書類の一覧の書類名には、口座番号の下4桁までを使います。全桁を書類名にすると、AIへ渡る文字列に口座番号が載ります
- 顧問先の返事は先頭だけを渡す … 本文の先頭500文字にし、引用・署名・添付は渡しません。 返事に健康や家庭の事情が書かれていることがあります。AIには
staff_noteに要点だけを書かせ、本文には書かせません - 送信は担当者が行う … 下書きまでにします。税理士には守秘の義務があり、顧問先へのメールの宛先と中身は担当者が確かめてから送ります
- 共有ドライブの権限を顧問先ごとに分ける … 顧問先には自社の月のフォルダだけを共有し、ほかの顧問先のフォルダが見えないことを、月のフォルダを作るたびに確かめます
- API キーの扱い … Make の接続に使う Claude の API キーは、事務所の管理者だけが作り直せるようにします
誤りが起きた場合のリスクは、届いている書類を催促することと、顧問先の事情を無視した催促を送ることの2つです。 前者は不足をAIに決めさせると起き、後者は送信を自動にすると起きます。不足はシナリオの式で、送信は担当者の手で守る設計にしています。
10まず何から始めるか
1週目:必要書類の一覧を作り直す
顧問先ごとの必要書類を、口座ごと・種類ごとに1行ずつに分けます。種類のフォルダの名前を一覧の書類名とそろえ、催促を止める印と理由の列を足します。枚数の多い上位50件の顧問先から始めます。
2週目:20件で試す
先月の20件について不足の一覧を手で書き出し、手元のAIサービスで催促の文面を書かせます。当時担当者が送ったメールと見比べ、まとめていないか、約束を作っていないかを最優先で見ます。
3週目:文面の決まりを決める
調子の段階(1〜3)の言い回し、署名、顧問先ごとの呼びかけ、使わない言い回しの一覧を、所長と担当者で決めます。 回数と巡回までの日数から段階を決める式も決めます。
4週目:フォルダを数えて提出状況表に書くまでをつなぐ
Make で、顧問先の一覧の取得、フォルダの検索、不足の決定、提出状況表への書き込みまでを作ります。この時点では下書きを作らず、担当者がこれまでどおり催促しながら、表の不足と自分の確認を見比べます。
2か月目: 前回の返事の取得、Claude API の下書き、Gmail の下書きと担当者への一覧を足します。担当者が直した量と、送らなかった下書きの数を毎回数えます。3か月目以降: 巡回の3営業日前の確認と再確認のシナリオを足し、1件15分が何分になったかを実測します。担当者の直しが署名と呼びかけの小さな手直しだけになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Google Drive のアプリに Watch Files in a Folder(作成・変更で動く)と Search for Files/Folders などがあること。Google Shared Drive の選択肢は Google Workspace の利用者だけが使え、ほかは Invalid Value のエラーになること | Make: Google Drive modules | 2026-10-15 |
| Search Rows・Update a Row などがあり、Search Rows の Limit が1回の実行サイクルで返す最大の数であること。見出しの行を持つ表では見出しの名前で項目が出ること | Make: Google Sheets modules | 2026-10-15 |
| Gmail のアプリに Search emails、Send an email、Create a draft email などがあること | Make: Gmail modules | 2026-10-15 |
| Anthropic Claude のアプリに Create a Prompt と Make an API Call があり、接続に API キーを使うこと | Make: Anthropic Claude | 2026-10-15 |
| シナリオのスケジュールに一定の間隔・1回・毎日・平日・毎週・毎月・日付の指定・手動があり、最短の間隔はプランで決まること | Make Help: Schedule a scenario | 2026-10-15 |
| Router が流れを複数の経路に分け、経路は並行ではなく順に処理され、フィルタとフォールバックの経路を置けること | Make Help: Router | 2026-10-15 |
| 集約が複数のバンドルを1つにまとめ、Group by の式の値ごとに Key と Array を持つバンドルを出すこと | Make Help: Aggregator | 2026-10-15 |
構造化出力を output_config.format に type: "json_schema" で指定すること。以前の output_format が非推奨であること。数値の minimum・maximum、文字列の minLength・maxLength などに対応しないこと | Claude Docs: Structured outputs | 2026-10-15 |
催促をいつ、どの顧問先に、どの調子で送るかは、所長と担当の税理士が決めてください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1645)についてのご相談はこちらから。
