2016年12月8日木曜日

Microsoft FlowでOutlook カレンダーとWunderlistを連携する

Office 365 Advent Calendar 2016 の8日目を担当します。
今日は日々検証を続けているMicrosoft Flowについて書きます。

Microsoft Flowとは

Microsoft FlowはWebサービスを連携しワークフローの自動化を行うサービスです。
プロセスとタスクの自動化 | Microsoft Flow
例えば、
  • ブログ記事を投稿 → SNS(TwitterやFacebookなど)に記事をシェア
  • クラウド ストレージ(OneDriveやDropboxなど)のファイルを監視 → 変更→チーム全体に通知
など、今まで手作業で行ってきた事自動化したい時にMicrosoft Flowは役立ちます。
なお、似たサービスとしてIFTTTがあります。

やり忘れ防止!Outlook カレンダーとTodoリスト アプリを連携

プライベート・ビジネスとも忙しくなると予定やタスク・ToDoの確認漏れ、やり忘れが発生しやすくなります。
確認漏れ・やり忘れを防ぐための道具としてMicrosoft Flowを使ってみました。

日頃予定管理はOutlook カレンダー、タスク・Todo管理はWunderlistを使用しているので、Outlook カレンダーのイベント開始をトリガーとし、Wunderlistタスクを自動追加するフローを作りました。

この二つを連携する事で予定や作業タスクを自分以外の人に通知できる※ようになり、私も私以外の人もやり忘れが防止でき、ハッピーになれるんじゃないか?と思ったのがフローを作成した動機です。
※Wunderlistのリストを他のユーザーと共有している事が前提となります



実際の画面を少し。
画像左がOutlook カレンダーに登録したイベント、右がFlowによって登録されたWunderlistのタスクです。
忘れるを前提しているため、イベント、タスク・Todoの本文もタスクに記録させます。

フローの作成手順

今回作成するフローの大まかな流れです。
  1. トリガーとなるOffice 365 Outlook のカレンダーを指定
  2. 遅延処理を追加
  3. Wunderlistにタスクを作成
  4. 作成したタスクにノートを追加
詳細な作成手順は以下の通りです。
特に注意が必要な手順は太文字にしています。
  1. Flowのページにサインイン
  2. 画面左上の[自分のフロー]をクリック
  3. 画面右上の[一から作成]をクリック
  4. タイトルを入力
  5. [outlook]を検索
  6. トリガーとなる[Office 365 Outlook - 予定しているイベントがすぐに開始されるとき]を選択
  7. [予定表 ID]の▽をクリック
  8. 任意のカレンダーを選択
    [詳細オプションを表示する]をクリックしルックアヘッド タイムを[1]に変更
  9. [+ 新しいステップ]→[アクションの追加]をクリック
  10. アクション[延期期間]を検索し選択
    [カウント]を[2分]に設定
  11. [+ 新しいステップ]→[アクションの追加]をクリック
  12. アクション[Wunderlist]を検索
  13. [Wunderlist - Create a Task]を選択
  14. [List ID】の▽をクリック
  15. Wunderlistのリスト※を選択
    TitleにはOutlook アイコンの[件名]を選択
    ※タスクは選択したリストの中に追加されます
  16. [+ 新しいステップ]→[アクションの追加]をクリック
  17. アクション[Wunderlist]を検索、[Wunderlist - Create a note]を選択
  18. [List ID]の▽をクリック
  19. [カスタム値の入力]をクリック
  20. #14で作成した[Create a task]のパラメータ一覧からWunderlist アイコンの[List ID]を挿入
  21. [Task ID]の▽をクリック
  22. [カスタム値の入力]をクリック
  23. #14で作成した[Create a task]のパラメータ一覧からWunderlist アイコンの[Task ID]を挿入
  24. [Content]のパラメータ一覧からOutlook アイコン最後の[もっと見る]をクリック
  25. Outlook アイコンの[本文のプレビュー]をクリック
  26. 画面右上の[✔]をクリック

検証時に分かったポイント

Outlook カレンダーとWunderlistとの連携固有かもしれませんが、フローを作成・検証時に分かったポイントをいくつか書いておきます。

ルックアヘッド タイムと延期期間のチューニングは大切

フロー作成手順 #8の[詳細オプションを表示する]をクリックするとルックアヘッド タイム※の既定時間は15分になっています。
※イベント開始前xx分の事を示します

設定を変更しない&延期期間アクションを作成せずにフローを実行すると約15秒間隔でWunderlistのタスクが作成され合計53個のタスクが作成されました。

この問題を解決するため、前述の詳細手順方法にも書いた下記設定を行いました。
※環境によって挙動に違いが発生するかもしれません。十分に検証される事をおすすめします。
  1. カレンダーのルックアヘッド タイムを1分にする
  2. 延期期間アクションの時間を2分にする
なお、各時間の組み合わせによる作成されたタスク数は以下の通りでした。
規則性があるようでないような・・・

Outlook カレンダーの[Content]と[本文のプレビュー]は違う

Outlook カレンダーのパラメータには[Content]と[本文のプレビュー]があります。
どちらもカレンダー イベントの本文になりますが、違いはHTML形式 or TEXT形式になります。

HTML形式の本文が欲しい場合は[Content]、TEXT形式の本文が欲しい場合は[本文のプレビュー]を選択してください。

前アクションのパラメータは[カスタム値の入力]から取得

Wunderlistのノートを作成するにはタスク IDが必要です。
ノートを作成するアクション内にあるTask IDの▽をクリックすると既存のタスク名のみ表示されます
この時はリストボックスの一覧にある[カスタム値の入力]をクリックしてください。
この操作によって前アクションのパラメータを呼び出します
前アクションのパラメータを挿入する事で連携が無事行われます。

まとめ

予定やタスク・Todoが自動的に通知されるので、私が気づけなくても私以外の人が気づいてくれるようになり、タスク・Todoにおいては初動が以前よりも早くなったがしています。
予想通りの結果に個人的には満足しています。

Microsoft Flowは
  • 設定に特有の癖があるものの
  • ノンコーディングでWebサービスを複数連携でき
  • 一度動きだせば安定稼働してくれる
メリットはかなり強烈です。
Flow含め、まだまだ精進が足りないので今後も様々な連携を試してみます。
Azure Cognitive Servicesとの連携なんて夢があって面白そうですね。

余談:[繰り返し]トリガー アクションという手も

誕生日や創立記念日など日付の変動がないイベントを通知するならば、[繰り返し](Recurrence)トリガー アクションを利用する手もあります。

秒は60秒以上を指定

頻度を秒にし間隔を60秒未満にするとエラーが表示されます。
「現在契約しているプランでは、60秒ごとに繰り返すことができる」とエラー文に書かれており、Office 365 Enterprise 3、Office 365 Business Essentialsともに同じエラーでした。

開始時間を指定するならタイム ゾーン必須

開始時間を指定する場合はタイムゾーンを指定しないとエラーになるようです。

スポンサーリンク