[レポート]ハンズオン/LookerとZapierを連携してデータを運用する – Looker:JOIN 2019 at San Francisco #looker #JOINdata
現地時間2019年11月05日〜07日の期間、米国サンフランシスコで開催されたLookerの年次カンファレンスイベント『JOIN 2019』。今年2019年のイベントは、弊社から3名のメンバーが現地参戦しました。
当エントリでは、その中から『Hands-on Lab: Operationalize Data with Zapier (LookerとZapierを連携してデータを運用する)』の内容について参加レポートをお届けします。
目次
セッション概要
セッションの概要は以下の通りです。
Zev Lebowitz氏(Looker社 Sales Engineering Manager)
[セッション情報]:
Hands-on Lab: Operationalize Data with Zapier
(LookerとZapierを連携してデータを運用する)
Empowering people to use data to get their jobs done means putting data into the tools and workflows that they use every day. Using Looker with a service like Zapier enables you to easily send data to the 1000+ integrations that Zapier has built-in. Join us for this hands-on lab to learn how to bridge the gap between where your data sits and where your people are with Zapier.
(データを使用して仕事を遂行する…というのは、毎日使用するツールやワークフローにデータを配置することを意味します。ZapierのようなサービスとLookerを使うと、Zapierに組み込まれている1000以上のインテグレーションに簡単にデータを送ることができます。このハンズオンラボに参加して、Zapierを使用してデータと従業員のギャップを埋める方法を学んでください。)
セッションレポート
概要
今回のハンズオンは、LookerのデータをZapierに連携させて、さらにZapierからSlackにそのデータを通知する、というものです。
LookerとZapierを組み合わせると、上記のようなことができます。
例えば、ZapierとSlackのチャネルIDをSalesforceに登録しておくことによって、繰り返し自動で行われるようにします。
各チャネル毎に、別のデータを通知することもできます。
定期的な通知を行うことによって、そのデータに関するコミュニケーションを促すことができます。
アラートを通知することで、トラブルに対して先回りで対応することもできるようになります。
実際にやってみる
Looker側
今回はLooker側が用意した「プレビルトZap」を使用します。予め、ある程度Zapierの設定をLooker社の方が整えてくれており、受講者はそれを利用する形となります。
Lookerで上記のLookを作成して保存します。
データの詳細は不明ですが、Seattle Bikeshare
という名前のStation
というViewなので、シェアサイクリング(スクーターかも)の駐輪場に関するデータでしょうか。ちなみに、Station Regionに応じて、SlackのチャネルIDが定義されています(各地域毎の担当メンバーが集うSlackチャネルがある…みたいな設定でしょうか)。
Zapier側
続いて、Zapierの設定にうつり、Zapierのトライアルアカウントを作成します。そしてハンズオン用に共有されたZapのテンプレートを用意するリンクへ移動して「Use this Zap」を選択します。
Looker側が用意したZapの設定画面に遷移しました。既に設定の骨子はできている状態のようです。ここに設定値を埋めていく形となります。
まず、画面上部のCatch Hookという部分を開いて「CONTINUE」をクリックします。
「Custom Webhook URL」が表示されるので、それをコピーします。
どうやらここの設定は「何が起こったらZapを発火しますか?」的な設定のようです。設定済の内容としては、Zapier側でWebhookを用意し、そこにPOST等のメソッドが来たらZapを発火する…というように見えます。
Looker側
Looker→Zapier(のWebhook)へ通知するスケジュールを設定します。
- スケジュールの設定します。
- タイプはwebhook
- ZapierのWebhook URLを貼り付け
- フォーマットは「JSON — Simple, Inline」
Zapier側
Hookの部分の設定が完了した(Lookerとの連携設定を終えた)ので、先に進んで、Find Dataの設定にうつります。3つのサンプルが用意されていますが、各サンプルには、テーブルの1行のみのデータが含まれている必要があります。
ここまでの設定が完了したら、次はZapが行うアクション…今回は「Slackへ通知」する部分の設定を行います。
最初のアプリ選択部分でSlackを選択します。別途、別タブでSlackのワークスペース(今回でいえば、ハンズオン用のワークスペース)にログインしておきます。そして、設定をすすめると、Zapierの画面からSlackへのサインインするメニューが出てくるので、ここを選んでログインします。
ZapierとSlackの接続確認後、設定を先に進めます。
Custom Value for Channel ID
の入力ボックスの右側にあるセレクターをクリックして、フィールドにStation.station Slack Channel
を選びます。
最初にLooker→Zapierの設定をしましたが、それのおかげで、Slackに通知する内容に、Looker側で定義しているデータを選ぶことができるようになっています。
Slackに実際に通知するメッセージですが、他の受講者の方もいらっしゃるので、自分だとわかるようにメッセージを改変します。
後はContinueを押しまくって設定を完了し、いざテスト実行します。
定期実行する設定
このZapを定期実行する場合、Zapの設定をONにし、Lookerのスケジュールの方も定期実行するようにしておけば、Lookerのスケジュールが発動するたびにZapが発火→Slackへ通知…という流れが自動化されます。
Zapをゼロから作る部分は時間の都合上カット
今回のハンズオンでは、ある程度テンプレ化されたZapを使用しましたが、資料では0からZapを作るパートもありました。今回は時間の都合上できませんでしたが、また別途やってみてブログをかければと思います。
ハンズオンを受講して
LookerからSlackへの通知にZapierを経由させるメリット
このハンズオンを受講して最初に思ったことは「Lookerって直接Slackに通知を送れる機能があるのに、なんでZapierを使うんだろう」ということでした。
Zapierというサービスを色々見てみるとわかりますが、ZapierはSlackに限らず、非常に多種多様なサービスに対してアクションを起こすことができます。Lookerで定義したデータを起点に、色々なタスクを自動化できるのは、Looker単体では限界があるため、Zapierを利用することによって、より便利な使い方ができますね。後は、単純に通知の内容もLooker単体より柔軟に設定できるのも魅力です。
ちょっと検索すれば、Zapier連携のドキュメントはごろごろ見つかります。
前述しましたが、また別途「やってみた」エントリを投下したい所存であります。