スプレッドシート上の情報をGASで定期的にSlack通知する方法

こんにちは、GASおじだよ。今日は、スプレッドシート上の情報をGoogle Apps Script(GAS)を使って定期的にSlack通知する方法をお話しするよ。特に忙しい中小企業の経営者やフリーランスのみんなに、この方法がどれだけ便利かを伝えたいと思うんだ。おじさんの経験から言っても、これは本当に時間とお金の節約につながるぞ。
なんでGASとSlackを連携させるの?
日々の業務で、スプレッドシートに情報を手入力して、その内容を後でチェックしたり、他のメンバーと共有するのってなかなか手間がかかるよね。おじさんも若い頃は、社内でスプレッドシートを印刷して配ったりしてたけど、今じゃそんなの時代遅れだ。そこで、GASを使って自動化すれば、毎日の情報確認の負担が大幅に軽減できるぞ。
GASでスプレッドシートの情報を取得して、それをSlackに流す仕組みを作ってみないかい?Slackで通知を受け取れば、メンバーはいつでも最新情報を手にすることができるぞ。たとえば報告や情報共有に月4時間ほど・時給2000円かかっていると仮定すると、自動化で年間5万円前後の人件費削減につながる試算もある(効果は作業量や時給などの前提条件によって変わるよ)。
必要な準備
まず、事前に準備するものがいくつかあるんだ。
- Google スプレッドシート:データを格納する場所。
- Slack ワークスペースとWebhook URL:Slackに情報を送るための連携設定。
- GAS:スクリプトを実行するプラットフォーム。
実際のコード例
では、実際にGASのコードを書いてみよう。ここでは、スプレッドシートからデータを取得して、Slackの指定チャンネルに通知する簡単な例を紹介するよ。
function sendSlackNotification() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
var data = sheet.getRange('A1:B2').getValues();
var message = '';
for (var i = 0; i < data.length; i++) {
message += 'Key: ' + data[i][0] + ', Value: ' + data[i][1] + '\n';
}
var webhookUrl = 'https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXX';
var payload = {
"text": message
};
var options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload)
};
UrlFetchApp.fetch(webhookUrl, options);
}
上記のコードをGoogle Apps Scriptエディタにコピーして、実行することでSlackに通知が飛ぶ仕組みだ。
GASの自動実行を設定
この通知を定期的に実行するには、トリガーを設定するだけ。GASの「トリガー」機能を使えば、毎日決まった時間にこのスクリプトを走らせることができるよ。
- スクリプトエディタの「トリガー」メニューから、「プロジェクトのトリガー」を開く。
- 「トリガーを追加」をクリックし、関数に
sendSlackNotificationを選択。時間ベースでトリガーをセットする。
まとめとコスト削減効果
この方法を活用すれば、情報伝達のプロセスを自動化できる。おじさんの経験上、月々の報告作業の時間を減らせるので、前提条件によっては年間5万円ほどの人件費削減につながるケースもある(あくまで作業量や時給次第の目安だよ)。
もしこの記事を読んで「これだ!」と感じたら、ぜひ試してみてほしい。なにか不明な点があれば、GASおじラボのメンバーシップへどうぞ。専門的なサポートや500種類以上のツールが使い放題だよ!