Slackのワークフロービルダーをスプレッドシートと連携して、タイムスタンプを日本時間に変換する方法

2023.04.28

Moi! 営業事務のSanniです。

私は以前、Slackの大変便利な機能「ワークフロービルダー」について、基本設定のブログを書きしました。

この機能は業務依頼の整理・集計にとても役に立ちます。

そして今回はさらに依頼日時と完了日時のタイムスタンプを追加して、どれほど早く対応したのかわかることで品質向上にもつながります。

スタートラインと課題

まず、フォームを送信→メッセージを送信→Add a spreadsheet rowのステップでワークフローを作りました。

おさらい:Add a spreadsheet rowでは、列の名前(Column name)を選択して、その列に転記したい情報をValueに入力します。New:「変数を導入する」から、回答内容の他に、ステップの開始時間と終了時間が選べます。

以前のブログには書いていませんでしたが、「メッセージを送信」のステップに「ボタンを含める」をチェックして、誰かがそのボタンをクリックすればそのステップの完了となります。(ボタンはデフォルト「続行する」になっていますが、あくまでも次のステップに進むという意味です。最後のステップですと「完了」に書き換えて良いです。)

ただし、スプレッドシートに転記されるのは誰がどう見てもおかしい時間です。私は深夜1時~2時にぐっすり寝ていましたが?よく見たらこれはGMT+0のタイムゾーンで、ワークフロービルダーで設定変更できません。さらに、形式が独特で、スプレッドシートの表示形式の詳細設定から「日時」を選んでも、変換してくれません。

経過時間さえわかれば何時でも大丈夫そうに思えますが、日本時間にこだわるポイントとして、通常勤務時間内(9:30~18:30)に依頼されているかどうか、対応できているかどうかをわかるようにしたいです。

スプレッドシートの設定を変更する

一日近く日本語でも英語でも対策を検索しましたが、やっと@ruisseauさんのこのQiita記事に出会えて、ヒントが見つかりました。Twitterユーザ@_kokodaさんが、スプレッドシートの「言語と地域」や「タイムゾーン」を変更すれば良いんですって!!なんと!!!お二方に大変感謝しております。

ファイル→設定に移動して、「言語と地域」はイギリス、「タイムゾーン」は(GMT+00:00)Londonに変更します。

変更することで独特なタイムスタンプも、ちゃんとタイムスタンプとして理解してくれます。タイムスタンプが入る列を全選択し、表示形式の詳細設定から「日時」を選ぶと、今度スプレッドシートに転記されるときは自動的にこの日時の表示になります。

日本時間に変換する関数

こちらはものすごく悩みました。ネットで検索した結果、GASのコードがたくさん出てきましたが、GASはまだちんぷんかんぷんです。勉強中のメンバーもいますが、なんとこのタイミングでは業務が立て込んで、自分で解決するしかなかったんです。

開始時間のA列の横に、JST(日本時間)のB列を作ってそこに以下のような関数を入力したら、一応変換してくれます。

=(A2+"9:00")

ただし、これだと2行にしかできないので、3行以降はだめですね。結局手動でその行に関数をコピペすることになってしまうので、手間ですね。変数を考慮して、自動的に入ってほしいです…

そこで閃き!!

なるほど!!!!わかったぞ!!!!そういうことか!!!

どういうこと?

こういうことです↓

SlackのワークフロービルダーのAdd a spreadsheet rowのステップを編集して、開始時間の列のValueに以下の関数を入れます

=("[変数]"+"9:00")

[変数]の部分に、変数を導入します。私は以下の変数に設定しています。

  • 開始時間(依頼時間):フォームを送信の「ステップの開始時間」
  • 完了時間:メッセージを送信の「ステップの完了時間」

※フォームを送信する時点ではなく、完了ボタンが押される時点で、スプレッドシートに転記されます。

てなわけで、以上がワークフロービルダーをスプレッドシートと連携して、タイムスタンプを日本時間に変換する方法でした。