自治会の役員が行事・当番・役所のお知らせを Google フォームで集め、Apps Script で月次の回覧板の文面と当番表を作る
役員や班長が Google フォームで出した行事・当番・役所からのお知らせを月ごとにまとめ、回覧板の決まった書き方の文面に整えます。当番表はスクリプトが名簿から作り、印刷用の文書にして庶務の役員が確かめます。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Google Apps Script/Make/Zapier
- 対象業界
- その他/不動産
- 対象部門
- 総務
- 対象業務
- 台帳・マスタ管理/書類作成
- 主な課題
- 人手が足りない/属人化している/書類作成に時間がかかる
- AIで行う処理
- 生成
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 庶務の役員が、電話・メール・紙のメモ・役員会の記録から、翌月に載せるお知らせを集める
- 日時や場所が書かれていないものは、出した人に電話で確かめる
- 市役所からの配布物は、回覧板に載せる部分を選び、要点を書き写す
- お知らせごとに、見出し・日時・場所・持ち物・連絡先の形に書き直す
- 当番の記録のシートを見て、翌月の当番の班と世帯を書き出す
- Google ドキュメントのひな形に、行事の日付の順に並べて貼る
- 副会長が読んで直し、印刷して班長に配る
- 人役員・班長・子ども会などの代表が、お知らせを Google フォームで出す(区分、件名、日時、場所、対象、持ち物、詳細、連絡先、載せる月)
- 自動フォームが送られるたびに Apps Script が動き、区分ごとに要る項目がそろっているかを確かめる
- 自動足りない項目があれば、出した人に足りない項目を知らせるメールを送り、一覧に「項目不足」と印を付ける
- 人市役所からの配布物は、庶務の役員が回覧板に載せる部分の文をフォームの「詳細」に貼って出す
- 自動毎月20日の朝に Apps Script が動き、翌月に載せるお知らせを集め、日付の順に並べる
- 自動お知らせごとに、区分と件名と詳細を Claude API に渡し、見出しと短い説明を JSON で受け取る
- 自動名簿と当番の記録から、翌月の当番表をスクリプトが作る
- 自動ひな形の文書を複製し、文面の記号を日時・場所・持ち物・連絡先に置き換え、当番表を差し込む
- 人庶務の役員と副会長が文書を読んで直し、印刷して班長に配る
各工程の詳しい説明を読む
- 庶務の役員が、電話・メール・紙のメモ・役員会の記録から、翌月に載せるお知らせを集める
- 日時や場所が書かれていないものは、出した人に電話で確かめる
- 市役所からの配布物は、回覧板に載せる部分を選び、要点を書き写す
- お知らせごとに、見出し・日時・場所・持ち物・連絡先の形に書き直す
- 当番の記録のシートを見て、翌月の当番の班と世帯を書き出す
- Google ドキュメントのひな形に、行事の日付の順に並べて貼る
- 副会長が読んで直し、印刷して班長に配る
(a)集め方がばらばら。 1番目と2番目に時間がかかります。メールの本文に「来月の清掃、いつもどおりで」としか書かれていないお知らせから、日時・集合場所・持ち物を確かめ直すのは、電話の折り返しを待つ作業です。
(b)書き直しに時間がかかる。 出す人によって書き方がまったく違います。長い文章で届くもの、箇条書きのメモで届くもの、市役所の配布物のように回覧板に載せるには長すぎるもの。4番目でそれを同じ形に直すのが、庶務の役員のいちばんの仕事になっています。
(c)当番表の書き写しを間違える。 5番目は、順番の記録を見て翌月の班と世帯を書き出す作業です。前の月の当番表をコピーして直すため、1つだけ直し忘れて、同じ世帯が2か月続けて当番になることがありました。
(d)作り方が引き継がれない。 どこまで書き直すか、市役所の配布物のどこを載せるか、という判断が庶務の役員の頭の中にあり、交代のたびに回覧板の書き方が変わります。 住民から「前のほうが読みやすかった」と言われるのは、たいてい交代の後です。
- 【人】 役員・班長・子ども会などの代表が、お知らせを Google フォームで出す(区分、件名、日時、場所、対象、持ち物、詳細、連絡先、載せる月)
- 【自動】 フォームが送られるたびに Apps Script が動き、区分ごとに要る項目がそろっているかを確かめる
- 【自動】 足りない項目があれば、出した人に足りない項目を知らせるメールを送り、一覧に「項目不足」と印を付ける
- 【人】 市役所からの配布物は、庶務の役員が回覧板に載せる部分の文をフォームの「詳細」に貼って出す
- 【自動】 毎月20日の朝に Apps Script が動き、翌月に載せるお知らせを集め、日付の順に並べる
- 【自動】 お知らせごとに、区分と件名と詳細を Claude API に渡し、見出しと短い説明を JSON で受け取る
- 【自動】 名簿と当番の記録から、翌月の当番表をスクリプトが作る
- 【自動】 ひな形の文書を複製し、文面の記号を日時・場所・持ち物・連絡先に置き換え、当番表を差し込む
- 【人】 庶務の役員と副会長が文書を読んで直し、印刷して班長に配る
1番目でフォームに項目を分けることが、この設計の要です。 日時・場所・持ち物が別々の欄で届けば、AIに文章から読み取らせる必要がありません。 文章から読み取らせると、「いつもどおり」の「いつも」を推し量って時刻を書くことがあります。
2番目と3番目で、足りない項目を締切の前に知らせます。 20日にまとめて見てから電話するのではなく、出したその場で足りないと分かれば、出した人が自分で出し直せます。
02今回想定するシステム構成
Google フォーム(お知らせの受付) │ ▼【トリガー】フォームの送信(フォームの送信時のトリガー) Google Apps Script ── 要る項目の確認、足りなければ出した人へメール │ ▼ 回答のスプレッドシート │ ▼【トリガー】毎月20日の朝(時間主導型のトリガー) Google Apps Script ├──▶ 翌月に載せるお知らせを集め、日付の順に並べる ├──▶ 名簿と当番の記録から当番表を作る(AIは使わない) ▼ Claude API ── 区分・件名・詳細から、見出しと短い説明を JSON で返す ▼ Google Apps Script ── ひな形を複製し、記号を差し込み、当番表を入れる ▼ Google ドキュメント(回覧板)と PDF ──▶【人】読んで直し、印刷する
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Google Apps Script | Make、Zapier |
| 生成AI | Claude API(Messages API、構造化出力) | OpenAI API |
| 受付 | Google フォーム | - |
| 保管 | Google スプレッドシート(回答、名簿、当番の記録、決まり、処理ログ)、Google ドライブ(ひな形と回覧板の文書) | - |
| 文書 | Google ドキュメント(回覧板)と PDF | - |
新しく足すのは、フォームと Apps Script と、決まり・処理ログのシートだけです。 ひな形の文書と当番の記録のシートは、いまの庶務の役員が使っているものをそのまま使います。すべて自治会の共有の Google アカウントの中に置きます。 役員の個人のアカウントに置くと、交代のときに引き継げません。
回覧板は、子どものいる家庭にも届きます。 子ども会の行事のお知らせには、参加する子どもの学年や集合の仕方が載ることがあります。この構成で AI を使うのは役員だけで、 渡すのはお知らせの区分と件名と詳細の文だけですが、子どもの名前や学校名がお知らせに入らないよう、フォームの説明に書いておきます。 生成AIの中には18歳未満が関わる利用を規約で制限しているものがあるため、代替候補を選ぶときは規約を確かめてください。
訃報は、この構成に乗せません。 自治会によっては回覧板でお悔やみの知らせを回しますが、載せるかどうか、どこまで書くかはご家族の意向で決まります。 会長が直接ご家族と相談して書き、フォームの区分にも入れません。
03どうやって実装するのか
処理の起点を決める
トリガーは2つです。 1つは、お知らせのフォームが送られるたびに動くもの。もう1つは、毎月20日の朝に動き、翌月の回覧板をまとめて作るものです。
フォームの送信時のトリガーには、2つの種類があります。 フォームに結び付けたスクリプトで動くものと、回答を受けるスプレッドシートに結び付けたスクリプトで動くものです。公式のページでは、フォームの側のトリガーはイベントの response に回答の全体を、source にフォームを渡し、スプレッドシートの側のトリガーは namedValues に質問の名前と値を、values にシートの並びのままの値を渡すとされています。この構成ではスプレッドシートの側を使います。 回答の行の隣の列に「項目不足」の印を書けるからです。どちらもインストール型で、作るにはトリガーの作成の手続きが要ります。
毎月20日の朝のトリガーは、時間主導型で作ります。 Apps Script の時間主導型のトリガーは、毎分から月に1回までの間隔で動かせます。公式のページでは、9時に設定すると9時から10時のあいだのどこかで動き、その時刻が保たれるとされています。20日は自治会のお知らせの締切の日で、 その日の朝に回覧板の第1版ができ、庶務の役員が夜に読める形にします。
インストール型のトリガーは、作った人のアカウントで動きます。 公式のページにそう書かれています。トリガーは自治会の共有のアカウントで作ります。 庶務の役員の個人のアカウントで作ると、役員が交代してアカウントを外したときにトリガーが止まります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| お知らせ | 区分、件名、日時、場所、対象、持ち物、詳細、連絡先、載せる月、出した人の名前とメールアドレス | フォームの回答のシート |
| 名簿 | 班、世帯の番号、世帯の名前、当番を免除する印 | 名簿のシート |
| 当番の記録 | 当番の種類、月、班、世帯の番号、交代した印 | 当番の記録のシート |
| 決まり | 区分ごとの要る項目、載せる順、文面の決まり、ひな形の文書の場所 | 決まりのシート |
質を決めるのは、フォームの「区分」です。 区分は「自治会の行事」「当番の連絡」「子ども会・老人会」「市役所・消防・警察から」「班長から」の5つにし、区分ごとに要る項目を決まりのシートに書きます。 行事なら日時・場所・持ち物・連絡先、市役所からのお知らせなら詳細と問い合わせ先、という具合です。区分を選ばせると、要る項目がそろっているかを機械的に確かめられます。
当番の記録の「交代した印」も落とせません。 当番の世帯どうしで日を替わってもらうことがあり、交代を記録しないと、翌月の順番が1つずれます。 交代は班長がフォームの「当番の連絡」で出し、庶務の役員が当番の記録に印を付けます。
データの取得方法を決める
フォームの送信時は、イベントの namedValues から値を読みます。 質問の名前ごとに答えが配列で入っているので、区分を見て、決まりのシートの要る項目と突き合わせます。
| 取るもの | どう取るか | 何に使うか |
|---|---|---|
| 区分と要る項目 | namedValues の区分と、決まりのシートの対応 | 項目不足の判定 |
| 翌月のお知らせ | 回答のシートで、載せる月が翌月で、「項目不足」の印が無い行 | 回覧板に載せる対象 |
| 載せる順 | 区分の順(決まりのシート)と、日時の早い順 | 文書の並び |
| 翌月の当番 | 当番の記録で、各当番の種類の最後の世帯の次から、免除の印を飛ばして順に | 当番表 |
| ひな形 | 決まりのシートにあるひな形の文書のファイル | 複製の元 |
当番の順番は、前の月の当番表から決めません。 当番の記録のシートの最後の行から順に進め、交代した印のある月は、交代する前の世帯の順で数えます。 前の月の表をコピーして直す、というこれまでのやり方が、(c)の書き写しの誤りの元でした。
AIへ渡す前に整形する
- 要る項目を確かめる(フォームの送信のたび) … 区分ごとの要る項目が空なら、出した人に足りない項目を知らせるメールを送り、行に「項目不足」の印を付けます
- 日時の形をそろえる … 「10/5 8:00」「10月5日(日)午前8時」のような書き方を、スクリプトが「10月5日(日)8時」の形に直します。読めない書き方は直さず「要確認」にします
- 翌月の対象を集める(20日の朝) … 載せる月が翌月で、「項目不足」の印が無い行を集めます。20日を過ぎて出された行は、印を付けて翌々月へ回すか、庶務の役員が選びます
- 重なりを見つける … 同じ日時・同じ場所の行事が2件あれば、どちらかの出し間違いの恐れがあるので「要確認」にします
- 当番表を作る … 当番の種類ごとに、翌月の班と世帯をスクリプトが決めます
- AIに渡す材料を作る … お知らせごとに、区分・件名・詳細の文だけを渡します。日時・場所・持ち物・連絡先・出した人の名前は渡しません
6番目で日時や場所を渡さないのは、AIがそれを本文に書き直すのを防ぐためです。 渡さなければ書けません。本文の中で日時に触れる必要があるときは、【日時】の記号を置かせます。
市役所からのお知らせの詳細は長いことがあります。 庶務の役員が配布物から回覧板に載せる部分を選んで貼りますが、それでも数百字になることがあり、 AIにはその要点を3〜4行にまとめさせます。問い合わせ先と、配布物の原本の置き場所は、記号で差し込みます。
AIに処理させる
させるのは、お知らせごとに見出しと短い説明を書くことです。
| 項目 | 書くこと | 使ってよい材料 |
|---|---|---|
| 見出し | 何のお知らせかが一目で分かる15字以内の見出し | 区分、件名 |
| 説明 | 住民に伝えることを2〜4行で。お願いがあれば最後に | 詳細の文、記号 |
| 要点のまとめ(市役所から) | 配布物の要点を3〜4行に。原本を見てほしい旨を最後に | 詳細の文、記号 |
説明は、回覧板を手に取った人が10秒で読める長さにします。 回覧板は玄関先で読んで次の家に回すもので、長い文は読まれません。 細かい事情は連絡先に聞いてもらう形にし、連絡先の記号を必ず置かせます。
| させないこと | 理由 |
|---|---|
| 日時・場所・持ち物・連絡先を書く | フォームの値と食い違いうる。記号で置き、後から差し込む |
| 当番の班や世帯を書く | 当番表はスクリプトが名簿から作る |
| 詳細にない内容を書き足す | 「雨天決行」「駐車場あり」などを推し量らない |
| 参加を強く求める・欠席を責める | 自治会の活動は任意の参加が前提 |
| 市役所のお知らせの意味を解釈する | 要点を短くするだけ。制度の説明を足さない |
3行目がいちばん起きやすい失敗です。 清掃や祭りのお知らせを書かせると、「雨天の場合は中止します」「軍手をお持ちください」と、よくある決まり文句を書き足します。 詳細に書かれていなければ、その行事が雨でどうなるかは誰にも分かりません。書き足された一文は、住民にとって事実として読まれます。
5行目も気をつけます。 市役所からの制度のお知らせの要点を頼むと、「この制度は〜の方が対象です」と、配布物に無い対象の説明を足すことがあります。対象の判断は市役所に聞くもので、回覧板の役目は原本があることを知らせることです。
指示内容を固定する
あなたは自治会の庶務の役員で、毎月の回覧板に載せるお知らせを整える担当です。
以下のお知らせ1件について、見出しと短い説明を書いてください。
【書き方】
- headline:15字以内。何のお知らせかが一目で分かるように。
- body:2〜4行。住民に伝えることを、やさしい言葉で。
お願いがあれば最後の行に書く。
日時・場所・持ち物・連絡先に触れるときは、
【日時】【場所】【持ち物】【連絡先】の記号をそのまま置く。
- 区分が「市役所・消防・警察から」のときは、詳細の要点を3〜4行にまとめ、
最後に「詳しくは【原本の置き場所】をご覧ください」と書く。
【厳守事項】
- 日付、時刻、場所の名前、電話番号、人の名前を本文に直接書かないでください。
記号をそのまま置いてください。
- 詳細に書かれていないことを書き足さないでください
(雨天の扱い、駐車場、服装、持ち物、申込の要否など)。
- 参加を強く求める言葉、欠席を責める言葉を使わないでください。
- 市役所などのお知らせについて、対象や条件を自分の言葉で説明しないでください。
- used_tokens に、本文で使った記号をすべて並べてください。
- 詳細が短すぎて書けないときは、本文を空にし、needs_review に理由を書いてください。
【区分】{category}
【件名】{title}
【詳細】{detail}
【使える記号】{allowed_tokens}
「持ち物」を書き足しの例に名指ししているのは、行事のお知らせで最も出やすいからです。 持ち物の欄が空のお知らせは、持ち物が無いのか、書き忘れなのかが分かりません。AIに埋めさせず、フォームの段階で「持ち物なし」を選べるようにします。
出力形式を固定する
Claude API の構造化出力で、次の形の JSON を受け取ります。 公式のページでは、output_config.format に type: "json_schema" を指定し、オブジェクトには additionalProperties: false を付けることとされています。
{
"item_id": "R-2026-11-014",
"category": "event | duty | kids_seniors | public_office | block_leader",
"headline": "",
"body": "",
"used_tokens": ["【日時】", "【場所】", "【持ち物】", "【連絡先】"],
"needs_review": ""
}
1つ目の理由は、記号の使い方をスクリプトで検算できることです。
| 検査 | 合わないとき |
|---|---|
本文の記号と used_tokens が一致する | 「要確認」(記号の書き漏れ・書き足し) |
| 記号がすべて、渡した使える記号の中にある | 「要確認」(存在しない記号) |
| 記号を除いた本文に、日付・時刻・電話番号らしい文字列がない | 「要確認」(直書き) |
| 行事の区分で【日時】と【連絡先】がある | 「要確認」(要る記号の欠け) |
headline が15字以内 | 長いまま一覧に出し、庶務の役員が直す |
category が渡した値と同じ | 「要確認」(取り違え) |
見出しの字数をスクリプトで見るのは、構造化出力が文字列の長さの制約に対応していないためです。 公式のページでは、minLength・maxLength などの文字列の制約は対応しておらず、使うと400のエラーになるとされています。長さはスキーマに書かず、受け取った後に数えます。 列挙型の値は大文字小文字が保証されないとされているので、category は大文字小文字を区別せずに比べます。
2つ目の理由は、お知らせ1件ずつに分けて受け取れることです。 回覧板全体を1回で書かせると、1件の誤りを直すために全体を作り直すことになります。 1件ずつなら、「要確認」の1件だけを作り直せます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| フォームの回答のシート | フォームの送信時のトリガー | 要る項目を確かめ、印を付ける |
| Gmail | Apps Script のメールの送信 | 項目不足を出した人に知らせる |
| Claude API | UrlFetchApp.fetch | お知らせごとに見出しと説明を受け取る |
| Google ドライブ | ファイルの makeCopy | ひな形の文書を、その月の名前で複製する |
| Google ドキュメント | 本文の replaceText・appendParagraph・appendTable | 記号を差し込み、お知らせと当番表を並べる |
API の呼び出しでは muteHttpExceptions を true にします。 公式のページでは、これを true にすると失敗の応答でも例外を投げないとされています。応答のコードを見て、混み合いならしばらく待ってやり直し、それ以外の失敗はそのお知らせを「要確認」にして、詳細の文をそのまま文書に入れます。
文書は、ひな形を複製してから書き込みます。 ファイルの makeCopy は、指定したフォルダに指定した名前で複製を作るとされています。複製した文書の本文に、お知らせを見出しと説明の段落で appendParagraph で足し、当番表は appendTable で表として足します。公式のページでは、appendTable は文書が表で終われないため、表の後に空の段落も足すとされています。記号の置き換えは replaceText で行いますが、これは正規表現で探すとされているので、記号に「.」や「(」などの正規表現で意味を持つ文字を使わないようにします。【】は使えます。
印刷用の PDF も作ります。 ファイルの getAs で application/pdf を指定すると PDF にでき、変換には1日の上限があるとされています。PDF は庶務の役員が直し終えた後に作るので、20日の朝の処理では作らず、文書の上の「確定」の印を見て、別の時間主導型のトリガーで作ります。
人が確認する
- 「項目不足」のまま残っている行を見る … 20日の朝の時点で出し直されていない行です。出した人に電話するか、翌々月に回すかを決めます
- 「要確認」のお知らせを読む … 記号の書き漏れや、詳細が短すぎて書けなかったものです
- 全体を通して読む … 見出しと説明が詳細と合っているか。書き足された一文が無いか
- 当番表を名簿と見比べる … 交代した印のある月は特に。引っ越しや免除の申し出が名簿に反映されているか
- 副会長が読む … 2人目の目で、日時と場所を1件ずつ確かめます
- 「確定」の印を付ける … PDF が作られ、印刷に回します
1件3分を目安にします。 読む・直す・2人目の確認をならした時間です。4番目は、名簿を知っている人にしかできません。 先月引っ越した世帯が当番に入っていないかは、記録より役員の記憶のほうが早いこともあります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 要る項目が空のまま送られた | 出した人に足りない項目を知らせ、「項目不足」の印。出し直しを待つ |
| 出した人のメールアドレスが無い | 印だけ付け、庶務の役員が電話で確かめる |
| 日時が読めない書き方 | 直さずに「要確認」。推し量って直さない |
| 同じ日時・場所の行事が2件 | 「要確認」。どちらかの出し間違いを確かめる |
| 20日を過ぎて出された | 翌々月へ回す印を付け、急ぎかどうかを庶務の役員が決める |
| 当番の順番の世帯が引っ越した | 名簿の免除の印で飛ばす。印が無ければ「要確認」 |
| API が応答しない・混み合い | 時間をおいてやり直し、続けて失敗したら詳細の文をそのまま入れて「要確認」 |
| 1回の実行が時間切れになる | 処理済みの印を見て、次の実行で続きから作る |
最後の行は、Apps Script の上限から来ます。 公式の上限の表では、スクリプトの実行時間は1回あたり6分で、トリガーで動かした合計の実行時間は個人のアカウントで1日90分、Google Workspace のアカウントで1日6時間です。月60件なら1回で収まることが多いものの、 やり直しが重なったときのために続きから作る形にしておきます。文書の作成は個人のアカウントで1日250とされており、月に1つの回覧板には十分です。
記録を残す
- 実行の日時、対象の月、集めたお知らせの数、「項目不足」と「要確認」の数
- お知らせごとの、フォームの回答と、AIが返した JSON の全文(差し込む前のもの)
- 検査の結果と、「要確認」にした理由
- 当番表と、そう決めた根拠(各当番の種類の最後の世帯、飛ばした世帯と理由)
- 確定した文書と PDF のファイル、確定した日と確定した役員
4つ目で根拠を残すのは、住民から「なぜうちが今月の当番なのか」と聞かれたときのためです。 順番と飛ばした理由が残っていれば、その場で答えられ、次の役員にも引き継げます。
04実装レベルの3段階
最小構成では、集める手間が残ります。 文面の質を確かめるための段階です。 本記事の想定は半自動化です。 20日の朝に回覧板の第1版ができ、庶務の役員と副会長が読んで直します。1件9分が3分になるのはこの段階です。 差が大きいのは、①の確かめがフォームの段階に移り、③の並べ替えと当番表がスクリプトに移るからです。 本格構成は、紙の回覧板と並べて電子の配信も始めたい自治会向けです。 ただし、配信に使うアプリで何ができるかは製品ごとに違い、 住民の連絡先を新しく集めることにもなります。役員会と総会で決めてから進めてください。
05工数削減シミュレーション
導入後 60件 × 3分 ÷ 60 = 3 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 毎月の回覧板を役員が手作りしている自治会・町内会、マンションの管理組合。役員や班長からのお知らせが、電話・メール・紙のメモ・口頭とばらばらに届き、まとめる役員に負担が集まっている場合。役員が1〜2年で交代し、回覧板の作り方が引き継がれにくい場合。役員が Google のアカウントを持ち、フォームとスプレッドシートを使える場合。
- お知らせが月に数件で、手書きの回覧板で足りる自治会。回覧板をやめ、地域の連絡のアプリや掲示板だけで知らせている場合。役員の誰もパソコンやスマートフォンでフォームを使えない場合。なお、自治会の行事や当番の決め方そのもの、役所からの通知の内容の判断はこの構成の対象外です。
07最小構成で試す方法
- 先月の回覧板に載せたお知らせから10件を選ぶ(行事・当番の連絡・子ども会・市役所から・班長から、を混ぜる)
- その10件について、元のメールやメモの文を手元に用意する
- お知らせごとに、区分・件名・詳細の文だけを書いた材料を作る(日時や場所は記号に置き換えておく)
- 手元の Claude の画面に、第7章のプロンプトと、1件ずつの材料を貼る
- 出てきた見出しと説明を、先月の回覧板と並べて、庶務の役員と副会長で読み比べる
10件は必ず区分をばらして選んでください。 行事ばかりだと、市役所からのお知らせを短くする書き方が試せません。
| 出てきた内容 | 判断 |
|---|---|
| 先月の回覧板と遜色ない | フォームとスクリプトでつなぐ段階に進む |
| 日時や場所を直接書いてくる | 材料の記号の置き方と指示で直る。構成は有効 |
| 雨天の扱いや持ち物を書き足す | 禁止の例を足し、フォームの項目を見直す |
| 市役所のお知らせに対象の説明を足す | 要点を短くするだけ、と指示を絞る |
3行目が出たら、フォームの側を直す合図です。 書き足されるのは、たいていフォームに欄の無い項目です。雨天の扱いがよく問われるなら、行事の区分に「雨天の場合」の欄を足します。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 日時や場所が言い換えられる | フォームの項目で受け、記号で差し込む。 AIに渡さない |
| 雨天の扱いや持ち物が書き足される | 指示で禁じ、フォームに欄を足す |
| 当番の順番が1つずれる | 当番の記録から進める。 交代した印を必ず付ける |
| 引っ越した世帯が当番に入る | 名簿の免除の印で飛ばし、役員が名簿と見比べる |
replaceText で記号が置き換わらない | 正規表現で探すので、記号に意味を持つ文字を使わない |
| 役員の個人のアカウントでトリガーを作る | 作成者のアカウントで動く。共有のアカウントで作る |
| 締切を過ぎたお知らせが漏れる | 翌々月へ回す印を付け、庶務の役員が急ぎかを決める |
| フォームで出してもらえない | 最初は庶務の役員が代わりに出す |
| 市役所のお知らせに対象の説明が足される | 要点を短くするだけに絞り、原本の置き場所を記号で示す |
| 子どもの名前がお知らせに入る | フォームの説明に書いておき、見つけたら役員が消す |
上の2行が、この構成の失敗のほとんどです。 どちらも「回覧板に書いてあることは事実」と住民が読むことから来る失敗で、言い換えも書き足しも、訂正が全員には届きません。 事実はフォームの項目から差し込み、AIには書かせないでください。
下の2行は、仕組みではなく人の側の問題です。 フォームで出してもらう習慣は、役員会で一度決めただけでは根づきません。電話で受けたお知らせを庶務の役員が代わりに出すときも、必ずフォームを通します。 経路を1つにしておけば、20日の朝に集まるお知らせが全部になり、「あのお知らせは電話で聞いていたのに載っていない」という漏れがなくなります。 子どもの名前は、子ども会の行事の参加者の一覧を貼り付けたときに入りやすいので、フォームの「詳細」の説明欄に例を挙げて書いておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 世帯の名前と班、当番の順番、お知らせを出した役員や班長の名前と連絡先、行事の日時と場所です。子ども会のお知らせには、子どもの参加に関わる内容が入ることがあります。
- 外部へ渡す範囲を、文面に必要なものまでに限る … Claude API に渡すのはお知らせの区分・件名・詳細の文だけです。世帯の名前、当番の順番、連絡先、出した人の名前は渡しません
- 当番表を AI に作らせない … 名簿と当番の記録からスクリプトが作ります
- 子どもの名前や学校名を載せない … フォームの説明に書き、役員が読むときにも確かめます
- 訃報をこの構成に乗せない … 載せるかどうかはご家族の意向で決まり、会長が直接扱います
- 名簿の共有範囲を絞る … 名簿は自治会の共有のアカウントに置き、編集できるのは庶務の役員と会長に限ります。 班長にはその班の当番表だけを渡します
- API キーをスクリプトに直接書かない … スクリプトのプロパティに置き、役員の交代のときにキーを作り直します
誤りが起きた場合のリスクは、日時や場所を誤って伝えることと、住民の情報を必要以上に外へ出すことの2つです。前者はフォームの項目と記号の差し込みで、後者は渡す範囲を詳細の文に限ることで防ぎます。最後に、名簿を知っている役員2人が読んでから印刷します。
10まず何から始めるか
1週目:共有のアカウントとフォームを用意する
自治会の共有の Google アカウントを作り、ひな形の文書・名簿・当番の記録をそこへ移します。お知らせのフォームを作り、区分と区分ごとの要る項目を役員会で決めます。
2週目:10件で試す
先月のお知らせから区分をばらして10件を選び、手元の Claude の画面で見出しと説明を作らせて、先月の回覧板と読み比べます。日時を書いていないか、書き足しが無いかを最優先で見ます。
3週目:フォームの送信時の確認を作る
Apps Script で、要る項目がそろっているかを確かめ、足りなければ出した人に知らせるところまで組みます。役員と班長に、来月分からフォームで出してもらうよう頼みます。
4週目:20日の朝に文書を作る
翌月のお知らせを集め、API で文面を作り、当番表とあわせてひな形の複製に書き込むところまで組みます。最初の月は、これまでどおりの手作りの回覧板と並べて見比べます。
2か月目: 確定の印から PDF を作る仕組みを足します。3か月目以降: 「項目不足」と「要確認」の多い区分を見て、フォームの欄と文面の決まりを直します。次の役員がシートの決まりを読むだけで、同じ回覧板を作れるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
フォームの送信時のトリガーに、フォームの側(response、source)とスプレッドシートの側(namedValues、values)があり、どちらもインストール型であること | Google: Event objects | 2026-10-26 |
| 時間主導型のトリガーが毎分から月1回まで動かせ、時刻がずれうること(9時の設定が9〜10時に動き、その時刻が保たれる)。インストール型のトリガーが作成者のアカウントで動くこと | Google: Installable triggers | 2026-10-26 |
| 実行時間が1回6分、トリガーの合計実行時間が個人1日90分・Workspace 1日6時間、文書の作成が個人1日250であること | Google: Quotas for Google Services | 2026-10-26 |
replaceText が正規表現で探して置き換えること。appendParagraph が段落を足すこと。appendTable が表を足し、文書が表で終われないため後に空の段落も足すこと | Google: Class Body | 2026-10-26 |
makeCopy が指定したフォルダに指定した名前で複製を作ること。getAs で application/pdf を指定して PDF にでき、変換に1日の上限があること | Google: Class File | 2026-10-26 |
muteHttpExceptions を true にすると、失敗の応答でも例外を投げないこと | Google: Class UrlFetchApp | 2026-10-26 |
構造化出力を output_config.format の json_schema で指定し、additionalProperties: false が必要なこと。minLength・maxLength などの文字列の制約に対応せず400になること。列挙型の値の大文字小文字が保証されないこと | Claude: Structured outputs | 2026-10-26 |
名簿や当番の扱い、回覧板に載せる内容の決まりは、自治会の規約と役員会・総会の決定に従ってください。 本記事は、お知らせの取りまとめと回覧板の文面づくりに絞って、公式のページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1904)についてのご相談はこちらから。
