データ(SQL)

【GAS×Slack】動的に更新されるスプレッドシートのKPIをGoogle Apps Scriptを使って、Slackに定期投稿する

本記事の対象者

GAS(Google Apps Script)初心者の方
PMやBizの方
マーケターの方

SlackでKPIを通知する目的

・SlackにKPIを通知することでチームのメンバーに数値を半強制的に共有し、KPI(今回の私の経験では広告効果)を意識したチームにしたかった(エンジニア・デザイナー・法務etc)

・スプレッドシートのURLをポストするだけでは、数値を見てくれる可能性が低いので、
数値自体をSlackにポストすることを目的とする。

スプレッドシートのイメージ

以下のスプレッドシートのように先々週と先週の数値が今週の月曜に自動で更新されるようにトレジャデータからスプレッドシートに定期クエリを走らせています。(数値は仮で適当に入れてます)

トレジャデータの管理画面イメージ
赤色で囲っている部分でアウトプット先を事前に登録したスプレッドシートに指定し、
青色で囲っている部分で時間を指定しています。
本題ではないので、詳細が気になる方は以下のリンクを参考にしてみてください。

スプレッドシートへのアウトプット方法詳細

時間指定(Custom Cromの使い方)の詳細

アウトプットイメージ

KPIを直貼りして共有し、詳細が見たい方はURLを叩けるようにします。

下準備(Incoming Webhooks)

そもそもIncoming Webhooksとは?となる方も多いと思いますが、ここは難しく考えず、Slackが提供している外部サービスからSlackにメッセージを送信する機能を使うと思っていてください。
単にチャネルごとにエンドポイントが発行できて、そこへHTTPリクエストでメッセージ送信できるという感じです。

まず以下のURLをクリックして、Incoming Webhooksの設定ページへ行ってください。
https://my.slack.com/services/new/incoming-webhook/

①いきなりパブリックチャンネルにPOSTするのは迷惑なので、自分のDMでテストしてみましょう。(DMが解放されていない会社ではテスト用のチャンネルがあるはずなので、そのチャンネルを選択してください。)
チャンネルが選択できたら「Incoming Webhook インテグレーションの追加」を押してください。

②Webhook URLは後に必要なので、コピーしておきましょう。
※このURLを知っていると外部の人でもメッセージを送信できてしまうので、決して公開しないようにしてください。
URLをコピーできれば下準備は完了です。

Google Apps Script(GAS)のコード

概要はコードのコメントに書いている通りです。

参考

spreadsheetで管理する日次KPIをSlackに自動投稿する

SlackのIncoming Webhooksを使い倒す

Slack api公式(incoming webhooks)

GAS公式(Class UrlFetchApp)

 

 

 

 

ABOUT ME
Okada Shogo
マーケター@Coincheck