Microsoft flowを使ってみた

こんにちは

家では「Hey,Siri 電気つけて!」って言って電気をつけることに快感を覚える
自動化とガジェットを愛する男、Mr.ワイヤレスです。

IoTがいよいよ面白くなってきましたが、元祖、Web連携といえばIFTTT(If this then that)です。

そんな中、Microsoftからでた類似のサービス、Microsoft Flowが面白そうなので、早速設定してみた。

今回は、日々読み切れないほど受信する仕事のメールの中から、特にすぐに確認しなければいけないメール(特定の上司から?)を受信したときに、iPhoneで通知してくれるように設定してみました。

完成イメージは以下の通りです。





これを応用すれば、アラートメールを受け取っている中、特定の送信元や、件名、本文に文字列を含むときだけ、何らかのアクションを起こさせることができます。

例) SMS (LINEも可能!)で、担当者の携帯電話にメッセージ
例) エクセルに自動追記しれレポート作成
例) 添付ファイルをSkyDriveに自動保存

いままで、NagiosやZabbixといったツールでスクリプトをガンガン書いて実現していたものが、だいぶ手軽になり、かつ信頼性も上がりますね!



0.事前準備


最初に、以下のものを準備します
・Outlookのアカウント
 今回は、会社のメールシステムが、Office365のOutlookなので、このアカウントを利用します。
・iPhone (iphoneで通知を受け取ります)
・iPhoneにFlowアプリをインストールしておきます。

1.FlowとOutlookの連携設定

まずFlowにアクセスします。

Flowから、Outlookに接続できるように、Outlook側で接続許可設定します。

をクリックし、「接続」をクリックします。




Flowと接続(連携)可能なアプリケーション一覧が表示されます。
OneDriveや、Evernote、SharePointなどもあり、いろいろなことに活用できそうです。

今回は、メールの受信をトリガーにしますので、Office365 Outlookを選びます。





2.Flowの作成

それではいよいよFlowをゼロから作ってみましょう。

主な流れは以下の通りです。

  1. Office365のOutlookに自分あてのメールが届く
  2. そのメールが条件を満たすかどうかを判断する
  3. Trueの場合とFalseの場合の動作を指定する


2-0.マイフローの作成

「マイフロー」の「一から作成」をクリックします。


フローを一から作成する、の画面でトリガーとして、新しい電子メールが届いたとき、を選択します。





題名を決めます。後から内容がわかるといいでしょう。
当ブログでは「上司からメールが来たら、通知する」としておきます。

2-1 Office365のOutlookに自分あてのメールが届く

を設定します。
これは、「新しい電子メールが届いたとき」のアクションです。

ここでは特に変更しませんが、メールのフォルダ分けをしていたり、
特定の件名の時だけ、等の細かい設定もできます。

詳細オプションを表示した場合の項目



新しいステップをクリックします。
「条件の追加」をクリックします。


2-2 そのメールが条件を満たすかどうかを判断する

を設定します。



まずは、条件を決めていきましょう。
今回は、
・特定のアドレスを上司とし、そのアドレスからメールが届いたときに通知する
・宛先がメーリングリストの場合は、送信者が上司であっても通知しない
としたいので、
From:上司  And To:自分
という条件を作ります。

GUIでは条件は一つしか指定できないので、And条件で二つ指定したい場合は、
おのずと条件をもう一つ増やす必要があります。
しかしこれは美しくないので、
詳細設定モードで、以下のように記載しました。

@and(equals(triggerBody()?['From'], '送る人のメアド'),contains(triggerBody()?['To'], '自分のメアド'))

2-3 Trueの場合とFalseの場合の動作を指定する

を設定します。
まずは、「はいの場合」を設定します。
「アクションの追加をクリックします」


アクションで、「Notifications」を選択します。


「Notifications」で、「Send me a mobile notification」を選択します。
これで、iphoneにFlowのアプリがあれば、通知されます。


次に、通知の時の詳細メッセージを入力します。


これで「はいの場合」は完了です。

「いいえの場合」は、何も設定しません。
「フローの保存」をクリックします。

フローの作成完了です。
実行開始するために、再生ボタンをクリックします。



これで完成です。
新しいメールがくれば、実行履歴にログが記録されていきます。



3動作確認


早速、動作確認してみましょう。
自分あてにメールを送ってみます。



早速履歴が残りました。
クリックして詳細を見てみます。



条件で、「false」になってます。
つまり、このメールは上司からではなかったので、「いいえの場合」の動作である「何もしない」が実行され、無事に終了した、ということが読み取れます。

では次に、上司にお願いしてメールをしてもらいましょう(笑)

・・・・・

それは怖いので、地道にメールが来るのを待ちましょう。



さて、

iPhoneのほうに通知が来ました!
まったく迷惑な時間にメールを送ってくる上司ですね。(笑)
まあおかげでスクリーンショットが取れたので良しとしましょう。




こんな感じで通知されます。

では、Flowの方のログを見てみましょう。
説明を追加


条件で、「True」になってます。
上司からメールが届いて、「はいの場合」の「Send me a mobile notification」が実行されたことがわかります。

4まとめ

いかがでしょうか? いままでOutlookでVBAを書いたりしなければできなかった、メールを受信してから、条件により何らかのアクションを設定することがFlowなら簡単にできることがわかったと思います。

おもしろそうなコネクタをいくつか紹介しましょう。

 
社内のチャットツールにSlackを利用している企業は多いと思いますが、
自分チーム宛てのメールや、SkyDriveにアップロードされたタイミングで共有連絡をしたいニーズなどに使えますね。




Microsoft提供のCRMツールですね。 特定のお客さんからのアクションについて、通知設定や、エクセルとのデータ連携が考えられます。




なんと直接SQL Serverにクエリを飛ばせるようです。
自動でレコード更新などもできそうですね。計測系の業務に役立ちそうです。



いかがでしたでしょうか。
自動化好きの自分としては試さずにはいられないものばかりです。

自分自身のお役立ちツールから仕事のチームとしての連携まで様々な用途が考えられますので、皆さんもぜひ一度使ってみてください。

また便利そうなコネクタが追加されればご紹介したいと思います。



コメント