LoginSignup
4
2

Slackワークフロービルダー×Googleスプレッドシートで当番お知らせbotを作る その2:スキップ機能を追加する

Posted at

前回の記事はこちら↓

今回は、その日の当番の人が欠席の場合に、当番を次の人にスキップする機能を作りました。

手順

Googleスプレッドシート

前回から追加した部分を緑色の背景で表示しています。
スプレッドシート.png

1. 翌営業日の担当者・担当者ID
H4セルの余りに1を足してから、再度MODにより余りを求めることで、翌営業日の担当者を算出しています。
slack上でスキップボタンを押したときに、今日の担当者を次の人に更新した上でその値を読み取ることができれば良かったのですが、それができなかったため、次の人をあらかじめ別のセルに用意しておき、そこから読み取ることにしました。

2. スキップ回数のカウント
J2=I2+1としています。slackワークフロービルダー上で数式を実行することは難しそうだったので、slack上でスキップボタンを押したときに、I2セルの値をJ2セルの値で更新することで、スキップ回数を+1することにしました。

Slackワークフロービルダー

以下のようなワークフローを作成しました。ステップ2のメッセージを送信するところまでは前回と同様です。

1. スキップボタンを追加する(ステップ2)

「ボタンを含める」にチェックを入れ、ボタンに表示される文言を入力すると、メッセージにボタンが追加されます。そのボタンをクリックすることでワークフローの次のステップが開始されます。

2. 次の人(翌営業日の担当者)を読み取る(ステップ3)
今日の担当者の読み取りと同様に、「読み取り行2」上の今日の担当者列と担当者ID列の値、すなわち次の人とその人のIDを取得します。

3. スキップ回数を更新する(ステップ4)

「スキップ回数」の値を「スキップ回数+1」の値で更新することで、スキップ回数のインクリメントを実現します。
先述の通り、スプレッドシート上でJ2=I2+1としているため、これによって「スキップ回数+1」の値にも1が加算されます。そのため、スキップボタンが押されるたびに、スキップ回数を1ずつ増やすことができます。
※ステップ4とステップ5は逆の方がしっくりきますが、そうするとスプレッドシートの更新が行われなかったため、この順になっています。

4. スレッドでメッセージに返信する(ステップ5)
ステップ3で読み取った、次の人とその人のIDを使用して、代わりの担当者を通知するメッセージを送信します。

おわりに

少しの工夫で機能を追加することができて楽しかったです!お読みいただきありがとうございました。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2