見出し画像

【イチからDX】Slackワークフロー活用事例⑤スプレッドシートと連携してBotをつくる

Googleスプレッドシートの値を引用して、Slackに定期投稿してくれるBotをワークフロービルダーで作ってみました。
なお、ワークフローはSlackの有料プランでのみ利用することが出来ます(詳細はこちら)。


🔸試したこと

以前ご紹介した記事では、フォームに回答した内容がスプレッドシートに記録されるワークフローを作成しました。

今回は「Select a spreadsheet row」というステップ機能を使って、スプレッドシートに入力された値を投稿するメッセージの中に引用させてみたのでご紹介させていただきます。


🔸本日のお題

今回ご紹介するワークフローはスプレッドシートに表形式で入力されているものなら何でも使えるので、例えばHPの流入数、売り上げ、KPIの達成状況等々をSlackで通知するのに使えると思います。
ここでは福岡県内の新型コロナの発生状況を例に説明していきます。

IMPORTXML関数を使って毎日自動で情報が更新されるようにします


🔸スプレッドシートの準備

ワークフローが1行目をカラム(データの項目名称)として自動認識するので、必要に応じてワークフロー用に整理したシートを用意してください。

ワークフローではシートにあるものを引用することしかしないので、
計算が必要な場合等はあらかじめ関数を使って算出しておいてください。

🔸私が用意したスプレッドの補足説明🔸
IMPORTXML関数を使って福岡県のサイトから必要なデータを拝借
→表の数値データがC6セルにごちゃっ😩と出力されたので
→A9セルで「=SPLIT(C6," ")」を使ってバラしています
→必要な数値データをA1:E3の表で整理しました(例えばC2セルなら「=J9」等、数式を使って引用しています)
これで毎日自動で最新の情報に更新されるようになりました✨


🔸ワークフローの設定

初めてワークフロービルダーを使用する場合、ワークスペースの設定によってはアクセスが制限されている可能性があります。その時はこちらのページを参考に設定変更を行ってください。

左上のワークスペース名をクリックし、ツール→ワークフロービルダーをクリックします(画像はデスクトップアプリです)。

ウインドウが表示されたら右上の「作成」をクリックします。

次にワークフローのトリガー条件を選びます。今回は「スケジュールされた日付と時間」を選択してください。

県のサイトが毎日10時頃更新されるとのことで、時間を12:00、頻度を毎日としました。平日だけ、○曜日だけ、といった設定も可能です。

ステップを追加し、「Select a spreadsheet row」を追加します。

なお、初回はリンク先のページの下の方にあるワークフロービルダー用のスプレッドシートアプリを追加してください。

↓ スクロールしていくとGoogle Sheetsのアプリがあります
こちらを入手してください💡

Googleアカウントを連携し、スプレッドシートのファイルとシートをプルダウンから選択してください。
ここではA2:E2の数値データを取得するためにこのように設定しています。

マイドライブ or 共有アイテムのファイルしか参照できないので注意⚠️
「本日」行の各数値を投稿するメッセージの中で使えるようにします🐰

🔸考え方🔸
「Choose a column to search」で指定した列(A列の「データ」)の中から「Define a cell value to find」で指定したキーワード「本日」に該当する行(オレンジで囲った行)を参照させています。
これでA2:E2までの値をワークフローで扱えるようになりました。

次のステップに「メッセージを送信」を追加しましょう。

「変数を挿入する」をクリックすると、このようにカラム(1行目のデータ項目名称)がプルダウンから選択できるようになっていますので、B2の数値を引用したい場合は「陽性者数」を挿入すればOKというわけです🐰

あとは「公開する」をクリックすれば完成です。
お好みで「設定」からアイコンを変更してくださいね。

テスト投稿したものがこちら。プレビューでは”可変テキスト”と表示されていましたが、きちんと数値に置換されていますね✨


🔸さいごに

「Select a spreadsheet row」の中で「Define a cell value to find」をどうしたら良いか分からず少々手間取ってしまいました。もっと高度なことも可能なのでしょうが、初めて使う場合にはワークフローの設定を頑張るよりもスプレッドシートの方を加工してしまった方が早そうです。

また、スプレッドシートの関数とうまく組み合わせれば、数値データの投稿だけでなくて、例えば「今日の鍵閉め当番は○○さんです」みたいなBotも作れそうですよね。

ノーコードでこんな事も出来るんだ、ということで何かの参考になりましたら幸いです。それではまたお会いしましょう🐰🥕



いいなと思ったら応援しよう!