個人でも仕事でもGoogleカレンダーは便利ですね。
今日は仕事でGoogleカレンダーの利用を辞めたです。
当社では業務で定期的にお客様への連絡をする場面があります。1年に1回システム保守契約更新の連絡です。
通知は自社システムを構築している部分もあるのですが、いろいろ理由もあり一部は手動でお客様へ連絡しています。
手動部分は管理をGoogleスプレッドシード(以下、管理スプレッドシート)で行っています。
・顧客名
・連絡手段
・メール
・契約日
・案内日
などなど
ご連絡を忘れないよう、リマインダーとしてGoogleカレンダーに登録していました。
Googleカレンダーから指定した日時にリマインダー通知がメールで届きます。
これなら抜け漏れないと考え利用し続けてきました。
ただ管理スプレッドシードとGoogleカレンダー、どちらも登録していて面倒ですね。
量が多くなってくると、しっかり2つが同期して登録できているのか?と心配になってきます。
Google Apps Scriptを利用して管理スプレッドシードの情報からメールを送信できるようにします。
コードはこんな感じ。 社内へのリマインダーなのでメールの宛先は当社のメールアドレスです。
// リマインダー送信先
const recipient = "sales@mapquest.co.jp";
// 保守更新情報リマインダー
function NotifyGmail() {
var mySheet = SpreadsheetApp.getActive().getSheetByName('[シート名]');
var sr = 3;
var sc = 1;
var lr = mySheet.getLastRow() - sr + 1;
var lc = mySheet.getLastColumn() - sc + 1;
var data = mySheet.getRange(sr, sc, lr, lc).getValues();
data.some(function(value) {
if(value[14] != '〇' && Utilities.formatDate(value[13], "JST", "yyyy/MM/dd") == Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd")){
var subject = "保守通知リマインダー " + value[0] + "_" + value[5] + "_" + value[10]; // 件名
GmailApp.sendEmail(recipient, subject, ""); // 本文は空
}
});
}
トリガーを利用して1日1回スクリプトを実行するようにします。
非常にシンプルな仕組みですね。
これでリマインダー完成!
Googleカレンダーへの登録が必要なくなりました♪
間違ってはいけないのが、このような仕組みを使ってメルマガを出したりしてはいけません。
すぐに「1日100件までしか送れないという制限」にぶつかりますのでお気をつけください。
メルマガならMAツールを使いましょう。当社はKairos3を利用しています、いろいろと便利ですよ。
※Kairos3を利用してもらっても当社利益はないです(笑)
ちなみにGoogle App Script導入時につまずいた話「Google App Scriptのエディタが開けない?」もどうぞ。