定例会議のリマインドを自動化!Google Apps Scriptで毎月メール送信する方法
- GAS
毎月やってくる定例会議。「そろそろ関係者にリマインドメールを送らなきゃ…」と感じながら、手動で文面を用意し、BCC宛先を確認して送信する――この作業、意外と時間も心理的負担も大きいですよね。
本事例では、Google Apps Script(GAS)を使って定例会議リマインドメールを毎月自動送信する仕組みを構築し、送信漏れゼロ・心理的負担ゼロ・作業時間ゼロを実現しました。
この記事では、この仕組みの概要・導入効果・実際のプロンプトから応用例までを紹介します。
なお本記事は、もともとSHIFT AIの会員コミュニティ内で限定公開していた内容を、特別に一般公開しています。SHIFT AIでは、こうした実践的なAI活用ノウハウを日々研究・発信しており、誰でもすぐに実務で活かせる形で情報提供を行っています。
さらに詳しく学びたい方には、定期開催している無料セミナーもご用意しています。ページ下部よりお気軽にご参加ください。
リマインドメールの課題
本事例では、定例会議のたびに、開催日が近づくと担当者が手動でリマインドメールを作成し、BCC宛先を確認して送信していました。この作業は単純ながらも、時間と注意力を要し、「うっかり後回しにしてしまう」「アドレス確認を誤る」といったヒューマンエラーのリスクも伴っていました。さらに、送信のタイミングが遅れると参加者への周知が不十分になり、運営全体の信頼性を損なう恐れもありました。
GASによるリマインドメールの自動送信
課題を解決するため、毎月10日に定例会議の案内文を、指定の宛先にBCCで一斉に自動送信するGASを構築しました。
これにより、会議前の案内メールが関係者に自動で届く仕組みを構築しました。
仕組みの概要
- 送信先:TO/CC/BCC を固定(BCCはリスト化)
- 文面:定型の案内文をそのまま送信
- スケジュール:毎月10日(例)に合わせて件名・本文の日付を自動埋め込み
実行:時間主導トリガー(月次)で自動実行
自動メール送信の導入効果
- 月次の送信作業:0件化(年間12回の手作業→自動)
- 作業時間:年間6〜12時間削減(1回30〜60分想定)
- 対応品質:送信漏れ・遅延ゼロで関係者の安心感向上
心理的負担:「送らなきゃ」という心理的負担がゼロに
自動メール送信の実際のプロンプト
毎月10日に、特定の関係者へ会議リマインドメールをBCCで一斉送信するGASを作成してください。
本文は毎回同じ定型文を使用し、TO・CC・BCCは固定アドレスで送信したいです。件名と本文には改行・署名も含めてください。
出力されたGAS
function sendFutureMeetingReminder() {
const to = “office@○○○○○”;
const cc = “info@○○○○○”;
// BCCリスト(カンマ区切りの文字列に変換)
const bccList = [
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“l○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”,
“○○○○○@○○○○○”
].join(“,”); // ← ココが大事!
//
第3金曜日を自動計算
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth();
let count = 0;
let date;
for (let i = 1; i <= 31; i++) {
const d = new Date(year, month, i);
if (d.getDay() === 5 && d.getMonth() === month) {
count++;
if (count === 3) {
date = d;
break;
}
}
}
const monthJP = month + 1;
const dayJP = date.getDate();
const dateLine = `${year}年${monthJP}月${dayJP}日(金)`;
const subject = `【未来会議のご案内】${monthJP}月の未来会議は ${dayJP}日(金)19:00~ 開催です`;
const body = `当会の活動を支えてくださっている皆さま
いつも温かいご支援とご協力をありがとうございます。
今月の「未来会議」が近づいてまいりましたので、ささやかながらご案内をお送りいたします。
━━━━━━━━━━━━━━━━━━
■ 開催日:${dateLine}
■ 時 間:19:00〜21:00(開場 18:45〜)
■ 場 所:○○○○○ 1階研修室
〒○○○-○○○○ ○○市○○町○○○○○○
※駐車場・駐輪場あり
━━━━━━━━━━━━━━━━━━
当日は、お忙しい中とは存じますが、
皆さまとお顔を合わせてお話できることを楽しみにしております。
ご参加のほど、どうぞよろしくお願い申し上げます。
何かご不明な点がございましたら、お気軽にご連絡ください。
—
特定非営利活動法人 栃木県こども応援なないろ
office@○○○○○
※本メールは関係者の皆さまへ BCC にてお送りしております。
`;
GmailApp.sendEmail(to, subject, body, {
cc: cc,
bcc: bccList // ← カンマ区切りの文字列!
});
}
GASの実装方法
1.スプレッドシートの右上「拡張機能」の「Apps Script」を選択。

2.「無題のプロジェクト」の「コード.gs」内に、出力されたコードを貼り付け。

3.「保存」マークをクリックして保存。

4.トリガーを設定する。
左側のアイコンの中から「時計マーク⏰」を選択し、右下にある「+ トリガーを追加」ボタンをクリック。


5.各項目を以下に設定し、右下の「保存」をクリック。
- 実行する関数:onFormSubmit /
- イベントのソース:フォームから を選択
- イベントの種類:フォーム送信時

※実際の画面とは異なります。
6.以下の手順でテストを行う。
- フォームにテスト回答を送信
- 数秒程度で送信対象者(今回の事例では役員・人事)に通知メールが届くか確認
- 受信できない場合は以下を確認すること
- 設問名のスペルミス/全半角違いをチェック
- トリガーが「フォーム送信」になっているか確認
- 送信先アドレスのドメイン制限ロジックを見直し
7.動作確認ができたら閉じる。
日付計算ロジックのテスト方法
- 固定日での強制テスト:const now = new Date(2025, 8, 1); のように「今」を差し替えて第3金曜計算を確認
- 境界月テスト:月初が土曜/日曜始まり、金曜日が4回/5回ある月を複数チェック
- スナップショット:算出日付をログ出力し、想定と一致するかを確認(Logger.log(thirdFriday))
リマインドメールを自動化する際の注意点
便利な自動送信ですが、BCC管理や日付計算の誤りは誤送信の原因になります。
テスト環境・許可ドメイン限定・ダブルチェック体制で、安全に本番移行しましょう。
- 日付計算ロジック:毎月◯日固定だけでなく「第3金曜日」といった条件を使う場合はテスト必須
- BCCアドレス管理:スプレッドシート化しておくと編集・更新が容易でミスも防げる
- 誤送信リスク回避:本運用前にテスト環境で送信チェックを行うことが重要
文面の改定:毎年の会場・時間変更時は定型文を棚卸し
リマインドメール自動化の応用可能性
定例会議のリマインドだけでなく、以下のようなケースにも応用が可能です。
- イベント案内メール:社外向けセミナーや勉強会の案内
- 定例タスクのリマインド:経費精算や勤怠締め切りのお知らせ
- 社内報配信:毎月のニュースレター送信にも転用可能
まとめ|“記憶と根性”から“仕組み”へ
GASでリマインドメールを自動化すれば、「思い出す→書く→確認→送る」という4工程が丸ごと不要になります。AIとGASの掛け合わせで、“気合いで続ける運用”から、何もしなくても“続いてしまう運用”に変えていきましょう。
さらに詳しいAI活用術や最新情報を学びたい方は、定期開催している無料セミナーもご用意しております。是非参加してみてください。
投稿者プロフィール
名前:皆川純子
Instagramアカウント:https://www.instagram.com/remote_ai_official/
無料セミナーへの参加はこちらから
SHIFT AIの最先端AI活用×マネタイズが
学べる限定特典付き
これらの特典は、SHIFT AIがこれまで20,000人以上に届けてきた
「実務直結のAIスキル」のノウハウを、
国内外の先端事例と組み合わせ、誰もが再現できる形に体系化したものです。