こんにちは、俊介です!
お久しぶりです。みなさんWorkato触っていますでしょうか?
今回は監視システムを作成したので久々にブログを書きます。
今回作ったものは?
弊社ブログにある、クラウドネイティブでは誤送信対策をどう考えているのかでも出てきたクラウドネイティブでお客様と情報を共有する際に誤送信してしまうのを事前に防ぐ為に監視レシピを作って導入してみました。
本ブログはその作り方などを書いて行けたらと思います。
レシピの作り方
レシピの全体像
今回は、BoxのAPIとWorkatoのシンプルなロジックを利用してします。
- Boxのファイルアップロードを検知(トリガー)
- ファイルとフォルダ名との整合性をチェック
- 誤りがあった場合にはSlackに通知する
トリガー設定
今回はBoxでファイルのアップロードのみを検知したいので、「File uploaded」をyesにします。
監視したいスコープ(範囲)にダウンロードも含める場合は「File downloaded」をyesに変更すればいけます。
アクション設定
Step2、Step3:監視対象を絞る
まずは今回の要件として弊社がアップロードしたファイルのみ検知させたいので「@cloudnative.co.jp」で設定を入れてあげます。
また、見積書と請求書のみ監視になるのでアップロードされたファイルの名前に含まれているか確認します。
Step4:ファイルが格納された親フォルダ(会社名)が問題ないか確認する
Step1払い出されるOutputから[“path_collection”][“entries”]でファイルが保管された全体のpathが取れます。そこから3つ目のpathにあるフォルダ名に、保管したファイルの名前にあるお客様名が含まれているか確認しています。
Step5:格納すべきフォルダがそもそも無かった場合も考慮して
導入するタイミング以前は営業の方によって共有方法がバラバラでした。フォルダをしっかり分けている方、特にフォルダを分けず1個の書類フォルダにまとめて格納する方などいます。
ですので、そもそも細かくフォルダ分けしていない場合も、親フォルダのお客様名とアップロードしたファイル名に相違がなければ、アップロード先のフォルダ名との差異を確認しなくていいのでStep5のようなアクションを用意しました。
Step7からStep10:格納すべきフォルダに書類が保管されているか確認
ここで検知していることは、見積書フォルダに請求書が入っていないか?その他フォルダ名と違ったファイルが入っていないかを確認しています。検知の仕組みはここまでなので、問題無ければ特にすることはないのでStopです。
アラートの通知部分の設定
今回は特定のチャンネルに投稿します。チームがすぐに確認できるように、メッセージをクリックすれば当該ファイルへすぐに飛べるようにしています。
今回は通知のみですが、誤りを検知した際に、削除したり 隔離したりすることも可能です。
利用アプリ名:Workbot for Slack アクション名:Post message 通知内容: -対象ファイル名 -格納されたファイルのPath -対象ファイルのURLリンク
投稿メッセージサンプル
実際にSlackに通知させたアラートのサンプルです。
最後に
今回は間違ったお客様にファイルを共有しないように監視するシステムを作ってみました。
実装レベルは高くなく、構成もシンプルですが、Boxに存在するフォルダ名がバラバラだったりするので正規表現などでうまく整形する事が大事です。
実装する際に命名規則を決め、すでにあるフォルダ名は修正すれば楽に実装できると思います。
みなさんも、ぜひ作ってみてくださいね!