Power Automateで手動トリガーを利用していると、入力画面に表示される選択肢が想定と異なったり、入力値をフロー内で正しく取得できない場面に遭遇することがあります。こうした問題の多くは、トリガーの入力条件設定かフローの処理順序に起因しています。本記事では、手動トリガーの入力が想定どおり進まない原因を切り分け、具体的な修正手順を解説します。
【要点】この記事で確認すること
- 最初に見る場所: フローの「トリガー」設定画面にある入力定義と、実際にフローを実行したときの入力フォーム
- 切り分けの軸: 入力条件の定義ミス、フロー内のアクション処理順、実行権限やライセンスの制限
- 注意点: 手動トリガーの入力を変更する場合、既にキューに入っている実行や過去の実行履歴に影響を与える可能性があるため、事前に影響範囲を確認してください
ADVERTISEMENT
目次
手動トリガーの入力が想定どおり進まない主な原因
手動トリガーで問題が発生する原因は大きく三つに分類できます。入力条件の誤設定、フロー内部の処理順序の誤解、そして実行環境に起因する権限やライセンスの問題です。それぞれ詳しく見ていきましょう。
入力条件の誤設定
Power Automateの手動トリガーでは、フロー実行時に入力を受け付けるパラメータを定義できます。この定義が想定と異なっていると、選択肢が表示されなかったり、入力値が想定外の型で渡されたりします。具体的には、入力の種類(テキスト、Yes/No、ファイルなど)や必須/任意の設定、動的なコンテンツの参照方法を誤っているケースが典型的です。たとえば、選択肢を動的に生成するために「下の選択肢から」を選んでいるのに、実際のデータソースが空だったり、コネクタの権限不足で値が取得できないと、画面上に選択肢が何も表示されません。
フロー内部の処理順序の誤解
手動トリガーで受け取った入力値は、フロー内のアクションで利用されます。このとき、入力値を最初に使用するアクションの直前に「条件分岐」や「スコープ」が存在すると、処理順の関係で想定外の動作を引き起こす場合があります。例えば、トリガーの直後に入力値を別の変数に格納するアクションを置かず、後続のアクションで直接 triggerOutputs() のような式を使うと、フローの実行タイミングによっては値が正しく取得できないことがあります。また、並列分岐の中に手動トリガー入力を利用するアクションが複数ある場合、いずれかの分岐で入力値を変更するような処理があると、他の分岐に影響が及ぶこともあります。
権限やライセンスの問題
手動トリガーの入力は、フローを実行するユーザーのコンテキストで評価されます。そのため、ユーザーに適切なライセンス(Power Automate per user プランなど)が割り当てられていない場合や、フローが参照するデータソースへのアクセス権がない場合、入力画面が正しく表示されないことがあります。また、共有環境(グループフローやソリューション内のフロー)では、トリガーの入力定義に使用しているコネクタの接続参照が正しく共有されているかを確認する必要があります。
手動トリガーの設定を確認する手順
問題の切り分けとして、まずはフローのトリガー設定を一通り確認します。以下の手順で進めてください。
- Power Automate ポータル(make.powerautomate.com)にサインインし、対象のフローを開きます。
- フローエディターで「トリガー」を選択し、右側のペインに表示される「入力値の追加」セクションを確認します。ここに定義されているすべての入力パラメータの「種類」「値の取得元」「必須/任意」が想定どおりかをチェックしてください。
- 「値の取得元」が「下の選択肢から」になっている場合、その選択肢を生成するために指定したデータソース(例:SharePointリスト、Excelテーブルなど)が実際に存在し、アクセス可能であることを確認します。また、選択肢が動的コンテンツの場合は、そのコンテンツが正しく出力されているか、試験的にフローを実行して確認します。
- フローエディターで「テスト」ボタンをクリックし、「手動でフローを実行する」を選択してテスト実行します。このとき、入力画面が表示されるので、各入力フィールドに期待する選択肢が現れるか、値が正しく入力できるかを検証します。
- テスト実行後、フロー実行履歴を開き、トリガー出力(triggerOutputs())の内容を確認します。入力値が意図したデータ構造で格納されているか、特に配列やオブジェクトの場合はその形式をチェックします。
- もし入力画面自体が表示されない、またはエラーが発生する場合は、フローを所有するユーザーとは別のアカウントでテスト実行し、権限やライセンスの問題を切り分けます。
よくある失敗パターンとその対策
実際に発生しやすい具体的なパターンをいくつか挙げ、対策を説明します。
パターン1: 入力選択肢が空欄で表示される
この現象は、選択肢を動的に生成するためのデータソースが空か、またはアクセスできない場合に発生します。対策として、まずデータソースにレコードが存在するかを確認してください。SharePointリストを使用している場合は、リストに少なくとも1つのアイテムがあること、列名が正しいこと、ユーザーにリストへの読み取り権限があることを確認します。また、「値の取得元」で「カスタム値」を選択している場合、入力欄に直接カンマ区切りで値を記述する必要があります。もし動的コンテンツとして「下の選択肢から」を選んでいるのに式が間違っていると、空になることがあります。
パターン2: 入力値をフロー内で参照するとエラーになる
トリガーの入力値をアクションで @{triggerBody()?[‘inputName’]} のように参照している場合、入力名が大文字小文字の違いやスペルミスで正しく一致していないとエラーになります。特に、入力定義のJSONキー名とアクション内の式で使う名前は完全一致が必要です。対策として、トリガーの「入力値の追加」で設定した各パラメータの名前(表示名ではなく内部的なキー)をコピーし、アクション内でそのまま使用するようにしましょう。また、入力値を変数に格納してから利用する方法も有効です。変数に格納すれば、後続のアクションでの参照がシンプルになり、トラブルシューティングもしやすくなります。
パターン3: フローを実行するタイミングによって入力値が異なる
手動トリガーの入力値がフロー内のアクションで加工されたり、別のアクションで上書きされたりすると、処理順によって結果が変わります。たとえば、入力値をその後変更する「変数の設定」アクションがある場合、そのアクション以降では入力値ではなく変更後の値が使われます。また、並列分岐があると、分岐のタイミングで値が不整合になることもあります。対策として、フロー全体の処理順を可視化し、入力値がどのタイミングでどのアクションに渡されるかを意識してください。必要に応じて、入力値を最初に読み取り専用の変数に保存し、その後はその変数だけを使うように設計します。
状況別の比較表:入力条件と処理順による動作の違い
| 設定パターン | 入力画面の動作 | フロー内部での値の扱い | 推奨される対策 |
|---|---|---|---|
| 入力定義が「テキスト」、必須 | テキストボックスが表示され、空欄のまま実行できない | そのまま文字列として triggerBody() で取得 | 特になし。ただし空文字を許可したい場合は任意に変更する |
| 入力定義が「下の選択肢から」、データソースがSharePointリスト | リストのアイテムがドロップダウンに表示される。リストが空の場合は何も表示されずエラーになることも | 選択したアイテムの値(文字列)が渡される。複数選択の場合は配列 | リストに最低1件のアイテムがあることを確認。必要に応じてダミーデータを追加する |
| 入力値を変数に格納してから後続のアクションで使用 | 変数初期化アクションで値をコピー。以降はその変数を参照 | 値の変更が必要な場合でも、元の入力値は保持される | 特になし。確実な方法だが、変数が増える |
| 並列分岐内で入力値をそれぞれ別の方法で加工 | 入力画面は通常通り表示 | 各分岐で独立した値として扱われるが、分岐後に元の入力値を参照しようとするとエラーになる | 並列分岐を使う場合は、各分岐の最初で入力値を変数に取り込む |
管理者へ確認すべき情報と再発防止策
問題が権限や環境設定に起因する場合、管理者に確認すべき情報があります。まず、フローを実行するユーザー全員に Power Automate の適切なライセンス(有料プラン)が割り当てられているかを確認してください。無料プランでも手動トリガーは使用可能ですが、プレミアムコネクタを使う場合などは制限があります。また、フローが所属する環境(Dev/Test/Prod)のデータ損失防止ポリシー(DLP)によって、使用するコネクタがブロックされていないかを確認します。DLP で特定のコネクタが禁止されていると、トリガーの入力定義でそのコネクタを使った動的選択肢が機能しません。
再発防止策としては、以下の点を徹底してください。
- フロー作成時にトリガーの入力定義を文書化し、特に動的選択肢のデータソースを明記する。
- フロー共有時には、各ユーザーに必要な権限(データソースの読み取り権限など)を事前に付与する。
- フロー内の処理順を確認するために、アクションごとにコメントを追加し、どの段階でどの入力値を使用するかを明確にする。
- テスト環境で十分に検証してから本番環境へ適用する。特に、入力定義の変更は既存の実行に影響するため、変更履歴を管理する。
よくある質問(FAQ)
Q1. 手動トリガーの入力パラメータを後から変更しても、既に保存された実行履歴に影響しますか?
はい、影響する可能性があります。入力定義を変更すると、そのフローにキューイングされている実行がある場合、それらの実行で期待される入力形式と異なるためエラーになることがあります。また、過去の実行履歴からフローを再実行する際も、新しい入力定義が適用されるため注意が必要です。変更前の定義で動いていたフローを再実行する場合は、入力値を適宜修正してください。
Q2. 同じフローを複数人が実行するとき、入力条件はユーザーごとに異なる値を表示できますか?
可能です。動的選択肢のデータソースに現在のユーザー情報(例:実行ユーザーのメールアドレス)をフィルター条件として使用することで、ユーザーごとに異なる選択肢を表示できます。ただし、そのデータソースへのアクセス権が各ユーザーに適切に付与されている必要があります。
Q3. 入力が空の場合のデフォルト値を設定する方法はありますか?
手動トリガー自体にデフォルト値を設定する機能はありませんが、フロー内の最初のアクションで条件分岐を使い、入力値が空の場合に変数にデフォルト値を代入する方法が一般的です。また、入力定義で「必須」をオフにしておき、後続のアクションで空チェックを行うこともできます。
まとめ
手動トリガーの入力が想定どおり進まないときは、まず入力条件の定義とフロー内部の処理順を確認してください。動的選択肢のデータソースやアクセス権、並列分岐の影響を見逃しがちですが、本記事で紹介した手順と比較表を参考に、原因を切り分けられます。問題が解決しない場合は、管理者に権限やライセンスを確認し、再発防止策としてフロー設計のベストプラクティスを適用しましょう。入力条件と処理順を整理することで、多くのトラブルは未然に防げます。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
