GAS学習note:Day7 通知機能で“報告まで自動化”〜メール&Slackで知らせてくれるGAS〜
はじめに
前回(Day6)では、トリガーを使って GASを自動で動かす方法 を学びました。
今回はさらに一歩進んで、
✅ 「チェック結果を自動で知らせる」
つまり、通知機能の追加です。
たとえばこんなことができるようになります👇
✅ 期限切れタスクをメールで報告
✅ 在庫が少ない商品をSlack通知
✅ 自分宛てに日報を自動送信
「自動で動く」から「自動で知らせる」へ。
AIが本格的にあなたの業務を“代行”し始めるステップです。
1️⃣ メールで結果を自動送信する
まずは一番シンプルな「メール通知」から。
以下は、Day4で作成した dueAlert() に通知を加えた例です👇
function dueAlertAndMail() {
const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("タスク管理");
const last = sh.getLastRow();
const today = new Date();
today.setHours(0, 0, 0, 0);
let alertList = []; // 期限切れ一覧を保存
for (let r = 2; r <= last; r++) {
const due = sh.getRange(r, 6).getValue();
const task = sh.getRange(r, 5).getValue();
const status = sh.getRange(r, 7).getValue();
if (!(due instanceof Date)) continue;
due.setHours(0, 0, 0, 0);
if (due < today && status === false) {
sh.getRange(r, 8).setValue("期限切れ");
sh.getRange(r, 6, 1, 3).setBackground("#f4cccc");
alertList.push(`・${task}(期限:${Utilities.formatDate(due, "Asia/Tokyo", "MM/dd")})`);
}
}
if (alertList.length > 0) {
const body = "以下のタスクが期限切れです。\n\n" + alertList.join("\n");
MailApp.sendEmail({
to: "you@example.com",
subject: "【自動通知】期限切れタスク一覧",
body: body,
});
}
}
📨 ポイント
MailApp.sendEmail() で簡単に送信可能。
Utilities.formatDate() で日付をきれいに整形。
トリガーと組み合わせれば、毎朝メール通知が届く仕組みに!
2️⃣ Slack通知に挑戦!
Slackを使っている方は、Webhook連携でGASから直接メッセージを送れます。
Slackのワークスペースで「App管理」→「Incoming Webhook」を追加
通知したいチャンネルを選び、Webhook URLをコピー
下記のようなコードを追加👇
function sendSlackMessage(text) {
const url = "https://hooks.slack.com/services/XXXX/YYYY/ZZZZ"; // あなたのWebhook URL
const payload = JSON.stringify({ text: text });
UrlFetchApp.fetch(url, {
method: "post",
contentType: "application/json",
payload: payload,
});
}
これを dueAlertAndMail() の最後に追記します👇
if (alertList.length > 0) {
const message = "🚨期限切れタスク一覧\n" + alertList.join("\n");
sendSlackMessage(message);
}
💬 結果:
期限切れのタスクがSlackチャンネルに自動投稿されます🎉
3️⃣ ChatGPTと一緒に通知文を改善してみよう
自動送信できるようになると、
「メール本文が味気ない」「Slack通知をもう少し見やすくしたい」
と思うようになります。
そこでChatGPTに相談👇
💬 実際のやり取り(スクショ風)
📘 あなた(質問)
ChatGPT、Slack通知をもう少し読みやすくしたいです。
絵文字や改行を入れて目立たせたい。
🤖 ChatGPT(提案)
いいですね!Slackは絵文字やMarkdownが使えます。
こんな形にしてみてください👇
const message =
"⚠️ *期限切れタスク一覧*\n" +
alertList.map(t => `• ${t}`).join("\n") +
"\n\n_※確認後、ステータスを更新してください。_";
📘 あなた
実際に送ったら見やすくなりました✨
「期限切れ」の赤背景と合わせて、かなりわかりやすいです!
💡 ChatGPT活用のコツ
通知文の調整はAIが得意な分野。
「もう少し柔らかく」「社内向けに」「英語で」など、トーンを変えられる。
コード+表現の両方をAIに相談できる。
4️⃣ GAS × トリガー × 通知 の全体像

この4つを組み合わせることで、
「AI+GASによる半自動オフィスシステム」 が完成します✨
まとめ:Day7で身についた力
Day7では、チェック結果を人間に知らせる仕組みを作りました。
✅ MailApp.sendEmail() でメール通知
✅ UrlFetchApp.fetch() でSlack通知
✅ ChatGPTを使って表現を改善
💡 Day6が「動く」なら、Day7は「伝える」ステップ。
AIが“報告役”まで担うことで、業務の自動化レベルが一気に上がります。
