##スプレッドシートの更新をLINEに通知
皆様、こんにちは。元COBOL☆戦士のhousakoです。
今回は、前回試作したIFTTT(イフト)を使って出先でもGoogleスプレッドシートの更新をリアルタイムタイムリーにLINEの通知で知る仕組みを改良した報告の第2弾です。
※結論から申し上げますと、またしても思った通りの改善に繋がりませんでした。本記事中の手順は、検証結果の記録として掲載しております。
やろうとしたこと:
同じGoogleスプレッドシートを参照する2つのアプレットを同時に動かして、新規申請の通知と処理結果の通知をさせる。
出来なかった理由:
IFTTTで同一のGoogleスプレッドシートを監視するアプレットを起動したとき、片方が実質的に無効になる。(後でONにしたアプレットだけ有効)
##申請者は変更完了をどうやって知るの?
部内で実際にテスト入力してもらい、レビューを頂いたときの第一声です。確かにその通りですよね。申請した勤務計画の変更を、上長がいつ処理してくれるかわからないので、何度もGoogleスプレッドシートを確認するなんて面倒です。
なので、以下のような改良を加えることにしました。(赤字部分)
1.申請者がGoogleスプレッドシートに登録
2.勤務計画の変更権限を持つ上長に通知される
3.上長は通知内容を勤務計画に登録し、LINEにて完了連絡を返す。
4.同時にGoogleスプレッドシートの処理状況欄に「完了」と入力する。
5.Googleスプレッドシートの処理状況欄変更を監視するアプレットを追加して、LINEメンバに処理状況を通知する。
##(不発におわりましたが)改良作業記録です
###1.Googleスプレッドシートに処理状況欄を追加する
申請フォーマットに赤枠部分を追加しました。セルI1には、I列の空白せる以外をカウントする計算式(=counta(I3:I102))を入れています。セルI1の変化をトリガとして、処理状況を通知するアプレットを作っていきます。
###2.IFTTTのアプレットを追加する
####①IF This
選択するサービスは、Googleスプレッドシートの「Cell updated in spreadsheet」です。
3つ目の枠内にGoogleスプレッドシートのURL、4つ目の枠内にセルの場所I1を指定します。
####②Then That
選択するサービスは、LINEの「Send Message」です。
通知先はLINEグループを指定、メッセージはお好みで変更します。
これで、追加するアプレットの指定は完了です。Create actionボタンを押してアプレットを起動します。
##結果
16行目に申請登録をしてみる。1分、2分と時間が過ぎるが通知が来ない。なんか、おかしい。
セルI16に「完了」と入力してみると、10秒ちょっとで通知が来た。
片方のアプレットが停止しているのかとも考えたが、両方動いている。
もう一度、申請登録と処理状況登録をやってみるも、処理状況だけが告知される状態。
そこで、今回追加した、処理状況を通知するアプレットをOFFにして再度試してみることに。
こんどは申請登録を検知して通知されました。以上から、同一のGoogleスプレッドシートを監視するアプレットを重複起動できないといえそうです。試しに、結果を通知するアプレットをONにした後で申請を通知するアプレットをONにしてみたら、申請通知だけが届きました。同一のGoogleスプレッドシートを監視するアプレットが複数ON状態のときは、最後に有効にしたアプレットだけが有効になるようです。
##妥協策
不要な通知が発生しますが、現状ではこのような解決策が最適かと思われます。
- LINEグループに管理職以外の従業員を追加する。
- 変更申請を処理した管理職の方は、LINEにて処理状況を通知する
またも、煮え切らない形で終わってしまいましたが、失敗談の共有ということで皆様の役に立てていただければ幸いです。
今回も、最後まで読んで頂き、ありがとうございました。