Lookerで作成したダッシュボードをSlackに配信する #looker

こんちわ。大阪オフィスの玉井です。

BIツールで色々なダッシュボードを作っていると、「このダッシュボードは定期的にメンバーに展開したい」みたいな要件が出てくると思います。メール等の定期配信に対応しているBIツールは多いと思いますが、LookerはSlackに対しての通知にネイティブ対応しています。今回はSlackへの通知方法をご紹介します。

参考にしたドキュメント

作業環境

  • Windows 10 Pro
  • Google chrome 77.0.3865.90
  • Looker 6.20
  • Slack 2019/10/15時点のバージョン
    • Appをインストールできる権限を所持

やってみた

方法は2通りある

  • Looker用のSlack App(Bot扱い)をSlackにインストールする
  • Slackのレガシートークンを使う

公式の案内としては、前者が推奨されているので、今回は前者をやってみたいと思います。

Slack側の設定

Slack Appの設定画面へ

https://api.slack.com/apps に移動しましょう。

Slack Appを作成する

Appの名称とインストール先のワークスペースを設定します。

Bot Userを追加する

左部のメニューからBot Usersを選択して、Add a Bot Userを選びます。

Botユーザーとしての名前と裏側での名前(検索するときとかに使用)を決めます。

Scopeの設定を行う

左部メニューからOAuth & Permissions"を選択し、ページ下の方にあるScopeの設定部分をチェックします。このBotに与える権限の範囲を決める設定ですが、ここでは、下記の3つを入力します。

  • channels:read
  • users:read
  • files:write:user

これを一行づつ設定画面に入力します。

Appのインストール

これまでの設定を終えたら、今と同じページの一番上にあるInstall App to Workspaceを選択して、Appをインストールします。

インストールを終えると、トークンが発行されるので、 Bot User OAuth Access Token をメモっておきましょう。

Looker側の設定

SlackにAppをインストールしたところで、今度はLookerにうつります。まず、AdminメニューからActions設定画面に移動します。

Actionsの中にSlackがあるので、そちらの設定画面に移動します。

あとは、先程のトークンを使用してSlack Actionsを有効にしましょう

実際に通知を試す

一通り設定ができたところで、実際にSlackへの通知をやってみたいと思います。

今回は下記のダッシュボードをSlackに通知したいと思います。

右上の歯車メニューからSendかScheduleを選びます。一回きりか定期かの違いですね。今回はSendをやってみます。

下記のように設定しました。

Sendしてみたところ、無事Slackにダッシュボード画像つきで通知がきました。

ちなみにLookの場合

上記はダッシュボードを通知対象としてやってみましたが、もちろんLookもできます。ただし、選べるフォーマットがダッシュボードと異なり、画像やPDFを選ぶことが出来ません(いまのところ、HTMLはSlack側でうまく解釈してくれなかった)。

Lookでも画像をSlackに添付したい場合、lookerbotを導入することで実現が可能ですが、それはまた別のお話…。

おわりに

LookerBotも試してみたい。