LINE WORKS + Microsoft Flow で安否確認システムを作成してみます。
災害発生時に以下のような運用が行われることを想定します。
RSS で災害速報を取得
-> 地震速報などをトリガーに処理を開始します。
トーク Bot で社員全員に安否確認のメッセージを送信
-> 1:1 トークでボタン形式で応答可能な通知を送ります。
同時に BCP 担当メンバーのグループ トークルームに災害発生を通知
-> BCP メンバー宛に災害発生の通知を行います。
社員からの安否確認の応答を Excel で集計
-> 1:1 トークの応答を Excel に記録します。
安否確認の応答は随時、BCP 担当のグループ トークルームにも通知
-> 同時に BCP トークルームに随時、情報を伝達します。
それぞれ、以下の記事で紹介している手法を組み合わせます。
RSS フィードで取得した更新情報を LINE WORKS にトーク BOT で通知する
https://qiita.com/iwaohig/items/f322e3710ed74785efdb
LINE WORKS の Bot に送信したトークを Excel に保存する
https://qiita.com/iwaohig/items/a56060ed94d53fd8a5f8
複数メンバーに個別に同報メッセージを送る LINE WORKS Bot
https://qiita.com/iwaohig/items/3f25002608c79b26b996
LINE WORKS のトーク Bot API の設定や、Azure Automation の設定も、上記の記事や、さらに当該記事内の参照記事の情報を参照してください。
地震速報をトリガーに安否確認メッセージを送信するフロー
地震速報を提供している RSS から情報を取得します。ここでは、Livedoor の Weather hack の地震速報を利用しています。
"条件" の機能でフィルタリングします。ここでは、震度3 以上の際に動作するよう設定してみます。
震度3 以上であった場合は、メンバーに個別にトーク メッセージを送ります。
できる限り容易に応答ができるように、選択肢のタップで返信できるボタン テンプレート形式で安否確認メッセージを送信します。
ボタン テンプレートのメッセージ送信の詳細はこちらの記事を参照
TITLE: メッセージ送信 (buttonTemplate)
URL: https://developers.worksmobile.com/jp/document/100500804?lang=ja
おおまかな手順は、各参照記事に記載の Azure Automation の設定に準じます。メッセージ内容を以下のようにボタン テンプレート用に変更します。
{
"botNo": 7777,
"accountId": "usera@example.com",
"content": {
"type": "buttonTemplate",
"contentText": $contentText,
"buttons": [{
"text": "無事です",
"postback": "ButtonTemplate_safe"
}, {
"text": "被災しています",
"postback": "ButtonTemplate_affected"
}]
}
}
メンバーからの応答を Excel と BCP グループに通知
安否確認の通知に対する応答を受信するため、"HTTP 要求の受信時" をトリガーとするフローを作成します。
受信後は、以下のアクションを続けて行います。利用シナリオに応じて、適宜必要なアクションをアレンジしてください。
- メンバーに返信
- BCP トークルームにメンバーの安否状況を共有
- 安否情報の集計用 Excel にデータ送信
動作確認
トリガーとなる RSS 受信時にメンバーに安否確認のボタンテンプレートのメッセージが同報送信されることを確認してください。
さらに、応答時の各アクションが正しく行われることを確認しましょう。
なお、テストは更新を実施できる RSS があれば、それを指定するか、何かしら別のトリガーを設定して試すと良いです。