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

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

こんにちは、GASおじだよ。今日は、スプレッドシート上の情報をGoogle Apps Script(GAS)を使って定期的にSlack通知する方法をお話しするよ。特に忙しい中小企業の経営者やフリーランスのみんなに、この方法がどれだけ便利かを伝えたいと思うんだ。おじさんの経験から言っても、これは本当に時間とお金の節約につながるぞ。

なんでGASとSlackを連携させるの?

日々の業務で、スプレッドシートに情報を手入力して、その内容を後でチェックしたり、他のメンバーと共有するのってなかなか手間がかかるよね。おじさんも若い頃は、社内でスプレッドシートを印刷して配ったりしてたけど、今じゃそんなの時代遅れだ。そこで、GASを使って自動化すれば、毎日の情報確認の負担が大幅に軽減できるぞ。

GASでスプレッドシートの情報を取得して、それをSlackに流す仕組みを作ってみないかい?Slackで通知を受け取れば、メンバーはいつでも最新情報を手にすることができるぞ。たとえば報告や情報共有に月4時間ほど・時給2000円かかっていると仮定すると、自動化で年間5万円前後の人件費削減につながる試算もある(効果は作業量や時給などの前提条件によって変わるよ)。

必要な準備

まず、事前に準備するものがいくつかあるんだ。

  1. Google スプレッドシート:データを格納する場所。
  2. Slack ワークスペースとWebhook URL:Slackに情報を送るための連携設定。
  3. 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種類以上のツールが使い放題だよ!

GASおじラボで500ツール使い放題 →