[MS Power Automate] To-Do 完了済みタスクを Outlook カレンダーに表示する

プログラミング

To-Do 完了済みタスクをいつ完了させたのか
先週はどのタスクをどれくらい完了できたのか

To-Do 運用のモチベーション維持のためにも、完了済みタスクの視覚化は大切なように思います。
そこで、今回は Microsoft To-Do でタスクを完了済みにすると、自動で Outlook に登録をする機能を Microsoft Power Automate で作成してみました。

この機能を使うと To-Do の完了タスクが下記のように視覚化されていきます。
(To-Do の完了をトリガーにできないため、無理な作りになっています。)

使用するもの

Microsoft To-DoTo Do 管理
Microsoft Outlookカレンダー
Microsoft Power Automateサービス間の連携ができるサービス

Microsoft Power Automate

Microsoft Flow いつの間にか名前が変わって「Power Automate」になっていましたね。
まずは下記からサイトを開きます
https://japan.flow.microsoft.com/ja-jp/

構築イメージ

Microsoft To-Do タスク完了をトリガーに Outlook カレンダーへ予定を登録を目標にします

ただし、フローのトリガーで「To-Do のタスク完了時」が存在しないため、下記のような方針で組んでいきます

  1. 1時間おきにフローを起動
  2. ToDoから完了タスクを検索
  3. 完了タスクがあれば Outlook へ登録

事前準備

Outlook カレンダーを開き、予定表を作成しておく

  1. 予定表の追加 をクリック
  2. 空白の予定表を作成する をクリック
  3. 各種入力 > 保存

ここで入力した予定表名を後々使います。

定期フローの作成

  1. https://japan.flow.microsoft.com/ja-jp/ を開く
  2. 作成 をクリック
  3. 予定フローを作成をクリック
  4. フロー名、繰り返し間隔(1時間)を入力 > 作成

タスク一覧の抽出

  1. 新しいステップをクリック
  2. 「outlook」と入力 > Outlook タスク をクリック
  3. すべてのタスク一覧表示 をクリック

※ outlook へのログインが求められます

完了タスクの抽出

  1. 新しいステップをクリック
  2. コントロール をクリック > Apply To each
  3. 本文を選択
  4. アクションの追加をクリック
  5. 条件をクリック
  6. 下記のように条件を指定 (Completed は手入力)

1時間前までに完了したタスクを抽出

前の手順で抽出した完了済みタスクの中から、1時間前までに完了したタスクを抽出します。

  1. アクションの追加をクリック (はいの場合の方)
  2. コントロール > 条件 をクリック
  3. 下記のように条件を指定

式に貼り付ける値は下記です

getPastTime(60, 'Minute')

カレンダー登録

  1. アクションの追加 をクリック
  2. 「outlook」と入力 > Outlook.com を選択
  3. イベントを作成する をクリック
  4. 下記のように選択
予定表IDtask
件名件名
開始時刻変更時刻
終了時刻変更時刻

保存・テスト

作成が終わったら忘れずに「保存」ボタンを押します。
画面右上に「テスト」ボタンがありますので、ここから実行の確認が可能です。

全体図

追記
現在は下記の様にoutlookイベント登録後にタスク削除を実施している

まとめ

タスク完了をトリガーにできると簡単に作成できそうなのですが、現状できないので無理な作りになっています。
トリガーが追加されれば改良していきたいと思います。

コメント

タイトルとURLをコピーしました