Power Automateでエラー通知フローを作成したけれど、意図したタイミングでメールが届かない、条件に合致しているはずなのに処理がスキップされる、といった経験はありませんか。このような問題の多くは、入力値の設定ミスや条件分岐の論理的な誤りに起因しています。本記事では、フローが想定どおり進まない原因を具体的に切り分け、入力値と条件分岐を正しく修正する方法を実務に即して解説します。会社PCで運用する際に役立つ確認手順や管理者への相談ポイントも盛り込みましたので、ぜひ参考にしてください。
【要点】この記事で確認すること
- 最初に見る場所: フローの実行履歴でエラーやスキップされたアクションを確認し、トリガーと条件分岐の動作を追跡すること。
- 切り分けの軸: 入力値のデータ型・動的コンテンツの参照ミスか、条件分岐の論理式の記述ミスか、それともコネクタの権限やポリシーに起因する問題か。
- 注意点: 会社PCでフローを編集する前に、管理者が設定したデータ損失防止ポリシー(DLP)やコネクタの使用制限を確認し、許可されていない操作を勝手に変更しないこと。
ADVERTISEMENT
目次
フローが想定どおり進まない原因を特定するための基本確認
まずは原因の切り分けとして、フローの実行履歴を詳細に確認します。Power Automateのポータルで該当フローを開き、「実行」タブから最近の実行を選択してください。失敗した実行では赤いアイコン、成功した実行でも条件がスキップされた場合は灰色のアイコンが表示されます。各アクションの「入力」と「出力」をチェックし、期待する値が正しく渡されているか、エラーメッセージが記録されていないかを確認します。
実行履歴の見方
実行履歴の各行をクリックすると、各アクションの詳細が表示されます。特にトリガー部分の「出力」には、どのようなデータがフローに渡されたかが記録されています。例えばSharePointの「アイテムが作成されたとき」トリガーであれば、作成されたアイテムの全フィールド値がJSON形式で出力されます。その中に期待する値が含まれているか、またはnullになっていないかを確認してください。条件アクションの直後には「条件結果」が表示され、真(True)か偽(False)かが分かります。これにより、条件分岐が正しく評価されているかどうかを判断できます。
よくある確認漏れ
初心者が見落としがちなのは、動的コンテンツの選択ミスです。例えば、メール送信アクションで「宛先」にユーザーのメールアドレスを指定する際、ドロップダウンリストから正しいフィールドを選ばずに、別のフィールド(例:表示名)を選んでしまうケースがあります。また、条件式で使用する値が数値型と文字列型で混在している場合も、意図しない比較結果になります。これらの確認を実行履歴の「入力」タブで行うことで、問題の原因を特定しやすくなります。
入力値の設定ミスが引き起こす問題とその修正方法
入力値の設定ミスは、フローが正しく動作しない原因として最も頻繁に発生します。特に動的コンテンツを正しく参照できていないケースが多く見られます。以下に代表的な問題と修正方法を説明します。
動的コンテンツと式の正しい使い方
Power Automateの動的コンテンツピッカーでは、トリガーや前のアクションから取得できる値が一覧表示されます。ただし、同じアクション内で複数の値が存在する場合、選択する項目を間違えると意図しない値が渡されます。例えば、SharePointリストから「承認者」フィールドを取得する場合、そのフィールドのIDと表示名の両方が候補として表示されることがあります。メールアドレスが必要なら「承認者メール」を、表示名が必要なら「承認者表示名」を正しく選択しなければなりません。また、配列やオブジェクトの特定のプロパティにアクセスするには、式(expression)を使って「item()?[‘プロパティ名’]」のように記述する必要があります。動的コンテンツピッカーで適切な項目が見つからない場合は、式エディタを開いて手動で入力してください。
データ型の不一致と空値の扱い
条件分岐で数値を比較するとき、左辺と右辺のデータ型が一致していないと、期待どおりの評価結果になりません。例えば、SharePointから取得した数値フィールドは文字列として渡されることがあり、「123」と「123」という文字列同士の比較は問題ありませんが、数値の「123」と文字列の「123」は厳密には異なる型として扱われます。この場合、「int()」関数を使って明示的に数値に変換してください。また、空値やnullを条件で扱う場合は、empty()関数や@empty()関数を使用し、条件式で「@empty(変数)」のように記述します。空値を正しくチェックしないと、予期せぬ結果を招くことがあります。
条件分岐の論理ミスと直し方
条件分岐の論理ミスは、特に複数の条件を組み合わせた場合や、等価演算子の記述ミスによって発生します。Power Automateの条件アクションでは、「かつ」(AND)と「または」(OR)の組み合わせを正しく設定することが重要です。
条件式の構文とAND/ORの使い方
条件アクションの「簡易モード」では、複数の条件を追加するとデフォルトでAND結合になります。OR結合に変更するには、条件行の右側にある「…」メニューから「OR」に切り替える必要があります。ただし、高度なモードで式を直接編集する方が、複雑な条件を正確に記述できる場合があります。例えば、ステータスが「承認済み」かつ(金額が10000以上、または緊急フラグがTrue)という条件は、
`@and(equals(triggerOutputs()?[‘body/Status’], ‘承認済み’), or(greaterOrEquals(triggerOutputs()?[‘body/金額’], 10000), equals(triggerOutputs()?[‘body/緊急フラグ’], true)))`
のように記述します。大かっこと小かっこの対応、関数名のスペルミスに注意してください。
条件分岐のデバッグ方法
条件が意図したとおりに動作しない場合、フローに一時的な「Compose」アクションを追加して、条件式が評価する中間値を出力するとデバッグが容易になります。Composeアクションに式をそのまま貼り付け、実行後にその出力を確認することで、値が正しく取得できているか、比較結果が真偽どちらになるかを検証できます。デバッグが完了したら、不要なComposeアクションは削除しましょう。
| 確認項目 | 正常なフロー | エラーになるフロー |
|---|---|---|
| トリガーの入力値 | 期待するフィールドがすべて含まれている | nullや空文字列が含まれている |
| 条件式のデータ型 | 比較する値の型が揃っている | 文字列と数値が混在、またはnullと比較 |
| 動的コンテンツの選択 | 目的のプロパティ名が正しい | 間違ったフィールド(例:IDと表示名の取り違え) |
| AND/ORの組み合わせ | 論理が設計どおりに機能 | ANDとORの混在で意図しない結果 |
よくある失敗パターンと対処例
実際の業務で発生しやすい失敗パターンをいくつか紹介します。
- 日付時刻の比較ミス: 「期限日」が今日より前かどうかを判定する条件で、タイムゾーンや時刻のフォーマットを考慮せずに比較すると誤った結果になります。Power Automateの日付時刻はUTCで扱われるため、日本時間と比較する場合は「convertFromUtc」関数などで変換が必要です。
- コレクション内の全アイテムに対する条件漏れ: 「Apply to each」ループ内で条件を使用する場合、ループの外で集計条件を適用したいことがあります。このようなときは「Filter array」アクションを使って事前に条件に合致するアイテムだけに絞り込むと、処理が明確になります。
- 環境変数やカスタムコネクタの未接続: フローが環境変数を参照しているのに、その変数が正しく設定されていないとエラーになります。管理者に環境変数の値を確認してもらう必要があります。
管理者に確認すべき設定項目
フローが想定どおり進まない原因が権限やポリシーにある場合、個々のユーザーでは解決できません。以下の項目について管理者に相談してください。
- データ損失防止ポリシー(DLP): 使用しているコネクタが業務データの共有を制限されている可能性があります。特にSharePointとOutlookの連携など、ビジネスデータとコンシューマーサービスをまたぐコネクタの組み合わせが禁止されている場合があります。
- コネクタの承認と権限: フローで使用するコネクタ(例:SharePoint、Teams)に正しい権限が割り当てられているか確認してください。サービスアカウントで実行するフローは、そのアカウントに必要なアクセス許可が必要です。
- 環境とソリューション設定: フローが特定の環境にデプロイされている場合、その環境の設定やソリューションコンポーネントのバージョンが古いと動作に影響することがあります。管理者に最新の状態か確認を依頼しましょう。
よくある質問(FAQ)
- Q: 条件がTrueになるはずなのに、常にFalseの分岐に入ってしまいます。何が原因ですか?
A: 条件式で使用している値のデータ型が一致していない可能性が高いです。特に数値と文字列の比較、またはnullの扱いを確認してください。Composeアクションで条件式の結果を出力し、実際の値を検証することをお勧めします。 - Q: 動的コンテンツピッカーに目的のフィールドが表示されません。
A: そのフィールドがトリガーまたは前のアクションから正しく出力されていない可能性があります。まず実行履歴でトリガーの出力を確認し、該当フィールドが含まれているか調べてください。含まれているのにピッカーに表示されない場合は、式エディタで手動入力してみてください。 - Q: フローが突然動かなくなりましたが、特に変更はしていません。
A: 外部サービスの仕様変更やコネクタの認証切れが原因であることが多いです。Power Automateの管理センターでコネクタの正常性を確認し、期限切れの接続は再度サインインし直してください。管理者に連絡してDLPポリシーの変更がないかも確認しましょう。
まとめ
Power Automateのエラー通知フローが想定どおり進まない場合、入力値と条件分岐の設定を見直すことが解決の近道です。実行履歴で実際の値を確認し、動的コンテンツの選択ミスやデータ型の不一致、論理式の間違いを一つずつ修正してください。また、管理者に確認すべき権限やポリシーの問題も忘れずにチェックしましょう。これらの手順を踏めば、フローの安定稼働に大きく近づきます。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
