期限切れが近いPlannerタスクをリマインドする
解決できる課題
Plannerで作成したタスクの期限を管理します。 ・タスクが多すぎて期限を管理できていない ・期限の過ぎたタスクがいつも発生してしまう ・タスクの期限はPlannerを見ないと分からない Plannerのタスク管理に追われず、期限が近付けば自動で知らせてくれる仕組みを作ります。
完成イメージ

必要なもの
Planner コネクタ
Teams コネクタ
作り方
Plannerでは締切日を設定できますが、標準機能では期限の表示に留まります。
期限が迫っていることや切れたことを通知するには、Power Automateを使用してフローを作成する必要があります。
- 1. トリガー「Recurrence」(スケジュール済みのクラウドフロー)を設定
タスクのリマインドを行うタイミングを設定します。
このレシピでは、日時で行うことを想定し、[間隔]を「1」、[頻度]を「日」にしています。
プレビューが「毎日に実行する」になっていれば良いです。

- 2. アクション「現在の時刻」を設定
タスクの期限と比較するため、フローを実行する日時を取得します。
※つまり、フロー実行日から○日目のタスクを抽出するのに使用します

- 3. アクション「バケットを一覧表示する」を設定
Plannerは、プラン>バケット>タスクの階層構成になっています。
全てのバケットを対象にするのではなく、このレシピでは特定のバケットを対象にします。
[グループID]と[プランID]は、任意のものを設定します。
valueとしては下記が取得でき、上から二つ目と五つ目に"name"と"id"(バケットID)があります。
{
"@odata.etag": " 省略 ",
"name": "検証用",
"planId": " 省略 ",
"orderHint": "85843Zr",
"id": " 省略 "
}

- 4. アクション「変数を初期化する」を設定
後のステップで、取得したタスクが該当のバケットにあるか判定するため、変数を使用します。
[名前]は「targetBucketID」、[タイプ]は「文字列」にします。

- 5. 条件を設定
ステップ3で取得したバケットの名前を用い、対象のバケットを特定します。
条件式は「name」が「検証用」と「等しい」になります。

- 6. アクション「変数の設定」を設定
ステップ5の条件内でTrueになった場合、「検証用」のIDを変数に設定します。
[名前]はステップ4で用意した「targetBucketID」で、[値]は「id」です。
これで対象バケットのIDが取得できます。

- 7. アクション「タスクを一覧表示します」を設定
[グループID]と[プランID]は、ステップ3で設定したものと同じにします。
valueは下記を取得でき、三つ目と四つ目に"bucketId"と"title"があります。
{
"@odata.etag": " 省略 ",
"planId": " 省略 ",
"bucketId": " 省略 ",
"title": "テスト~12/17",
"orderHint": "8584359001340455997P2",
"assigneePriority": "",
"percentComplete": 0,
"createdDateTime": "2025-12-14T10:06:51.4575653Z",
"dueDateTime": "2025-12-17T10:00:00Z",
"hasDescription": false,
"previewType": "automatic",
"referenceCount": 0,
"checklistItemCount": 0,
"activeChecklistItemCount": 0,
"priority": 5,
"id": " 省略 ",
"createdBy": {
"user": {
"id": " 省略 "
},
"application": {
"displayName": null,
"id": " 省略 "
}
},
"appliedCategories": {},
"assignments": {},
"_assignments": []
}

- 8. 条件を設定
ステップ7で取得した全てのタスクのうち、「検証用」プランに該当するものに絞ります。
この条件式は「bucketId」が「targetBucketID」と「等しい」になります。
また、タスクの期限を条件判定に使用するため、日付比較も合わせて(「かつ」)行います。
条件式は「dueDateTime」が「addDays(body('現在の時刻'), 7)」に比べて「より少ない」になります。
※addDays関数では、ステップ2で取得した現在日時に7を加算しています
つまり、現在よりも7日以内の期限を持ったタスクを抽出します

- 9. アクション「チャットまたはチャネルでメッセージを投稿する」を設定
[投稿者]と[投稿先]は任意のものを設定します。
このレシピでは、特定チャネル内でフローボットによる投稿を行います。
[チーム]と[チャネル]は任意のものを設定します。
[メッセージ]では「title」と「dueDateTime」を使用し、該当のタスクの件名と期日を表記します。

- 10. 動作確認
対象のタスクは下図の通り、「検証用」プランにあるタスクとします。

フローの実行後、12/14に実施した場合、12/17と12/20を期日とした二つのタスクのみが抽出されています。
