slackとgoogle sheetsでニコニコカレンダーを作ってみた

概要

この記事はInsurtechラボ12月アドベントカレンダー15日目の記事です。

この記事では、slackとgoogle sheetsを組み合わせて、ニコニコカレンダーを作成する仕組みを構築したため、紹介します。
今回紹介する方法では、メンバーはslackで絵文字リアクションをするだけでニコニコカレンダーを作成できます。
※ニコニコカレンダーは組織/チームの士気やメンバーの気持ちを見える化するツールです。

できたもの

slackのリアクション

slackのリアクション

ニコニコカレンダー

12月11日までのニコニコカレンダー

※12/05にカレンダーを作る仕組みを作成し、12/06からメンバーにはリアクションをしてもらうようにしました。

前提

  • google spreadsが利用できる
  • slackの自動化機能でワークフローが利用できる

設定の紹介

slackの設定

ワークフローのステップは「ワークフローを開始方法の設定」と「スプレッドシートに追加する」の2つです。

  • ワークフロー開始方法の設定

ワークフローが開始するチャンネルと絵文字リアクションを設定

  • スプレッドシートに追加する設定

ニコニコカレンダーを作成するスプレッドシートとデータを追加するシートを選択
また「no」「日付」「名前」「体調」に追加する値を設定

備考
no=ROW()-1
日付=TEXT((ワークフローが開始した時刻/86400)+date(1970,1,1),”mm/dd”)「ワークフローが開始した時刻」はUnixタイムスタンプを設定
名前メッセージにリアクションしたユーザー「メッセージにリアクションしたユーザー」は表示名を設定
体調使用されたリアクション初期値

googleスプレッドシートの設定

  • 集計用のシート

「no」「日付」「名前」「体調」の列を作成

  • ニコニコカレンダー用のシート

1ヶ月分のカレンダーを作成し、各セルに関数を設定
名前、日付、曜日は手動で設定

設定した関数

=IFERROR(QUERY(‘シート1’!$A:$D,”select D where B='”&B2&”‘ and C='”&$A4&”‘ order by A desc limit 1 label D ””))

関数の説明
ニコニコカレンダーの素

詰まったところ

  • slackとgoogle spreadsを連携するために「Google Sheets Workflow Steps」が必要
  • slackからスプレッドシートが行単位でしか操作ができないため、データの渡し方に工夫が必要
  • Macでワークフローの設定をしたため、「””」が「”“」になってしまいうまく入力できなかった。(Macの環境設定で解決)
  • ワークフローのステップを修正or変更後に公開し忘れで設定の反映漏れ
  • slackからスプレッドシートに日付を連携すると英語になってしまうため、Unixタイムスタンプから計算する必要がある

感想

複雑な仕組みにならないかつ作成の労力を少なくできたかなと思います。
とりあえず作ってデータを集めることに注力したため、今後の活用検討にわくわくしています!