Power AutomateでPlannerタスクのチェックリスト(サブタスク)を自動更新しようとしたところ、想定どおりにチェックが入らない、ステータスが変わらないといったトラブルはよく発生します。原因は多くの場合、トリガーの選び方やアクション内の「入力条件」と「処理順」の理解不足にあります。本記事では、Plannerチェックリストが進まない原因を具体的に切り分け、設定を見直すための実践的な手順を解説します。
【要点】この記事で確認すること
- 最初に見る場所: Power Automateフローのトリガー設定(「タスクが作成されたとき」「タスクが変更されたとき」の違い)と、チェックリスト更新アクションの「入力条件」タブ。
- 切り分けの軸: フローが起動しているかどうか(実行履歴で確認)、チェックリストの購読が有効かどうか、アクションの並列処理が原因で状態が上書きされていないか。
- 注意点: Plannerコネクタのアクションでは、チェックリストの各項目を個別に更新する「チェックリストアイテムの更新」と、タスク全体を更新する「タスクの更新」では動作が異なります。また、会社のポリシーで特定のトリガーが無効にされている場合があるため、管理者に確認が必要です。
ADVERTISEMENT
目次
PlannerチェックリストをPower Automateで扱う際の基本構造
Power AutomateにおけるPlannerのチェックリストは、タスクに紐づく「サブタスク」として扱われます。フローで制御するには、以下の2つの主要な動きを理解しておく必要があります。
1つ目は、トリガーによるチェックリスト状態の検知です。Plannerの「タスクが変更されたとき」トリガーは、タスクのタイトルや期限、説明などの変更に加えて、チェックリストの進捗(完了済みアイテム数、未完了アイテム数)の変化も検出します。ただし、個々のチェックリスト項目の「チェック状態」が変更されただけではトリガーが起動しない場合があります。これはトリガーの感度設定に依存します。
2つ目は、アクションによるチェックリストの更新です。Power Automateには「チェックリストアイテムの更新」アクションと「タスクの更新」アクションの2種類があり、前者は特定のチェック項目の状態(完了/未完了)を直接変更しますが、後者はチェックリスト全体を置き換える形になります。これらの違いを理解していないと、意図した動作になりません。
よくある誤解:チェックリストの更新は「タスクの更新」ではできない
「タスクの更新」アクションのプロパティには「チェックリスト」というフィールドがありますが、このフィールドはチェックリスト項目のリストをJSON形式で指定する必要があります。多くのユーザーがこのJSONの構造を誤っていたり、空の配列を設定してしまい、結果として既存のチェックリストがすべて削除されるトラブルが発生します。チェックリストの部分的な更新には「チェックリストアイテムの更新」を使うほうが安全です。
チェックリストが進まない原因の切り分け手順
問題が発生したときに、まず以下の順序で原因を切り分けてください。
- フローが起動しているか確認する: Power Automateの実行履歴を開き、該当するフローの実行が記録されているか確認します。実行がない場合、トリガー条件が満たされていない可能性があります。特に、チェックリストの変更がトリガーに認識されるには、タスク自体の何らかのプロパティ(例:説明欄の更新)も同時に行う必要がある場合があります。
- トリガーの条件を確認する: トリガー設定の「条件」タブで、必要なプロパティの変更がチェックリストの変更を含んでいるか確認します。デフォルトでは「すべての変更」が選択されていますが、特定のフィールドだけに絞っているとチェックリストの変化を検出しません。
- アクションの入力条件を確認する: 「チェックリストアイテムの更新」アクションには「完了済み」というブール型の入力条件があります。ここに動的な値が適切に渡されているか確認します。特に、条件分岐(条件アクション)の結果が正しくブール値に変換されていないケースが多く見られます。
- 処理順と並列処理の影響を確認する: フロー内で複数のチェックリストアイテムを更新する場合、Apply to eachループの並列処理が有効になっていると、同時に更新が行われ、最終的な状態が想定と異なることがあります。並列処理をオフにして直列に実行すると解決することがあります。
- 権限とライセンスを確認する: フローを実行するアカウントに、Plannerタスクを編集する権限があるか確認します。また、Plannerコネクタの「チェックリストアイテムの更新」アクションは、一部のプランでは利用制限がある場合があります。管理者に問い合わせてください。
| 状況 | 考えられる原因 | 確認・修正方法 |
|---|---|---|
| フローが起動しない | トリガーがチェックリストの変更を検出していない | トリガーを「タスクが変更されたとき」に設定し、条件で「すべての変更」を選択。またはタスクの別フィールドも同時に更新する |
| フローは起動するがチェックリストが更新されない | アクションの入力条件が間違っている/権限不足 | 動的な値がブール値(true/false)になっているか確認。アカウントのPlanner編集権限を確認 |
| チェックリストが部分的にしか更新されない | 並列処理による競合、またはループ内の条件ミス | Apply to eachの並列処理をオフにする。各アイテムのIDが正しく取得できているか確認 |
入力条件(トリガーとアクションの設定)の見直しポイント
Plannerチェックリストを制御するフローで最も間違いやすいのは、トリガーの条件とアクションの「入力条件」の設定です。
トリガー:どのタイミングでフローを起動するか
Plannerには「タスクが作成されたとき」と「タスクが変更されたとき」の2つのトリガーがあります。チェックリストの状態を監視する場合は「タスクが変更されたとき」を使いますが、このトリガーはデフォルトで「すべての変更」を検出します。しかし、チェックリストの完了率の変化だけではトリガーが起動しないという報告があります。これは、チェックリストの変更がタスクの「チェックリスト進捗」プロパティに反映されるまでにタイムラグがあるためです。対策として、チェックリストを変更する操作と同時にタスクの「説明」や「タイトル」にダミーの更新(例:末尾にスペースを追加)を行うことで、確実にトリガーできます。
アクション:チェックリストアイテムの更新の入力条件
「チェックリストアイテムの更新」アクションでは、以下の3つの必須入力があります。
- タスクID: チェックリストが属するタスクのID。動的な値で指定。
- チェックリストアイテムID: 更新する項目のID。固定値ではなく、動的な値で正しいアイテムを指定する必要があります。
- 完了済み: ブール値。trueでチェックを入れ、falseで外します。
ここでよくある失敗は、「完了済み」に文字列や数値が渡されるケースです。例えば、条件アクションの出力は「はい」「いいえ」のような文字列であることがあり、そのまま渡すとエラーになります。確実にブール値に変換するには、式「bool(outputs(‘条件’)?[‘result’])」または「true/falseリテラル」を使用します。
処理順(並列と直列)の考慮点
フローが複数のチェックリストアイテムを更新する場合、Apply to eachループのデフォルト設定は「並列処理」が有効になっています。並列処理ではすべてのアイテムが同時に更新されるため、以下の問題が発生します。
- 順序依存の更新ができない: 例えば、アイテムAを完了してからアイテムBを完了するといった順序が必要な場合、並列では順序が保証されません。
- 同じアイテムへの重複更新が競合する: まれに、同じチェックリストアイテムに対して複数の更新が同時に行われると、最終的な状態が不定になることがあります。
- レート制限に引っかかる: 並列数が多すぎると、Planner APIの制限に抵触し、一部の更新が失敗します。
これらの問題を回避するには、Apply to eachの設定で「並列処理」のチェックを外し、1つずつ直列に実行させます。また、各更新の間に「遅延」アクションを挿入することで、API制限を回避することも有効です。
よくある失敗パターンと実例
ここでは、実際に報告されている失敗パターンを3つ紹介します。
パターン1:チェックリストが勝手にすべて削除される
「タスクの更新」アクションのチェックリストフィールドに、動的な値として空の配列([])を設定した場合、既存のチェックリストがすべて削除されます。これは、タスクの更新がチェックリストを置き換える動作のためです。対処法は、チェックリストの更新には専用の「チェックリストアイテムの更新」アクションを使用し、タスクの更新ではチェックリストフィールドを指定しないことです。
パターン2:特定のアイテムだけ更新されない
Apply to eachでチェックリストアイテムをループ処理する際、アイテムIDの取得に誤りがあると、特定のアイテムがスキップされます。正しいIDは、「チェックリストの一覧表示」アクションで取得したリストの「id」プロパティを使用してください。また、フィルター条件で「完了済み=false」などに絞り込んでいる場合、既に完了したアイテムが対象外になることを理解しておく必要があります。
パターン3:トリガーが二重起動してしまう
フローがチェックリストを更新した結果、再び同じトリガーが起動して無限ループになることがあります。これを防ぐには、トリガー条件に「変更されたタスクのIDが、直前にフローが更新したタスクと異なる」といった条件を追加するか、フローの最初で現在の時刻を変数に格納し、一定時間内の再実行をスキップする仕組みを入れます。
管理者に確認すべき設定・制限事項
社内でPower AutomateとPlannerを運用する場合、以下の点を管理者に確認してください。
- Plannerコネクタのアクセス許可: フローを実行するサービスアカウントや個人アカウントに、Plannerのデータを読み書きする権限が付与されているか。特に、一部の組織ではアプリケーションの同意設定が制限されているため、管理者の承認が必要な場合があります。
- データ損失防止(DLP)ポリシー: Plannerコネクタが特定のデータグループに分類され、他のサービスとの接続が制限されていないか。DLPポリシーにより、Planner→Outlookなどのフローがブロックされることがあります。
- API制限とスロットリング: Planner APIには1分あたりの呼び出し制限があります(通常は1分間に600回程度)。フローが大量のチェックリストを更新する場合、制限を超えないように調整する必要があります。管理者に現在の制限値を確認し、必要であればMicrosoft 365サポートに引き上げ依頼を出してもらいましょう。
- Plannerのプラン設定: 一部のPlannerプラン(例:無料版のPlanner for Office 365)では、チェックリストのAPIが完全にサポートされていない場合があります。組織で使用しているPlannerのライセンスを確認してください。
よくある質問(FAQ)
Q1. チェックリストの項目を完了にしたが、フローが起動しない。どうすればよいか?
A1. トリガーの「タスクが変更されたとき」が正しく設定されているか確認してください。また、チェックリストの完了だけではトリガーが起動しない場合があるため、タスクの別フィールド(例:説明欄に空白を追加)も同時に更新するワークアラウンドを試してください。
Q2. フローがエラーにならずに正常終了しているのに、チェックリストが更新されない。原因は?
A2. アクションの「完了済み」に入力した値がブール値でない可能性があります。例えば、条件アクションの結果が文字列の「true」になっていないか確認してください。式を使ってbool()で変換するか、直接「true」と入力するのではなく、動的なコンテンツから「trueの値」を選択してください。
Q3. 複数のチェックリストアイテムを同時に更新したら、一部だけが更新された。なぜか?
A3. Apply to eachの並列処理が原因で、更新の競合が発生した可能性があります。Apply to eachの設定で「並列処理」をオフにし、1つずつ順番に更新するようにしてください。また、API制限に引っかかっている場合は、各ループの間に「遅延」アクションを1秒程度挿入すると安定します。
まとめ
Plannerチェックリストが想定どおりに進まない原因は、トリガーの検出条件、アクションの入力値のデータ型、そして処理順の3つに集約されます。まずフローの実行履歴を確認し、起動していないならトリガー設定、起動しているが更新されないならアクションの入力をチェックしてください。並列処理による競合も見落としやすいポイントです。管理者にはPlannerコネクタの権限とAPI制限を確認してもらい、必要に応じて設定変更を依頼しましょう。本記事で紹介した手順を順に試せば、ほとんどの問題は解決できるはずです。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
