行が追加、変更、または削除された場合、トリガーは、選択したテーブルとスコープの行が変更または作成されるたびにフローを実行します。
前提条件
行を作成、変更、または削除したときにトリガーされるフローを作成するには、コールバックの登録テーブルでの作成、読み取り、書き込み、および削除のユーザー レベルのアクセス許可が必要です。
フローで定義された範囲によっては、同じテーブルの読み取り以上のレベルを必要とする場合があります。 詳細については、環境のセキュリティを参照してください。
トリガーにパラメーターを設定する
行が追加、変更、または削除された場合トリガーを使用するには、以下の情報が必要です。
- トリガー条件
- テーブル名
- Scope
Power Automateでは、新しいデザイナーまたはクラス デザイナーのいずれかを使用してクラウド フローを構成できます。 手順はどちらのデザイナーでも似ています。 事例付きの詳細は、新しいデザイナーとクラシックなデザイナーの違いを見分けるをご参照ください。
フロー内で、行が追加、変更、削除された場合のトリガーに対応するカードを選択します。 左側に パラメーター タブが選択されたペインが開きます。
トリガー条件
トリガー条件、種類の変更は、フローを実行する行の変更の組み合わせを定義します。
行の作成、更新、または削除によってフローがトリガーされると、triggerOutputs()['body/SdkMessage'] の値は、それぞれ Create、Update、Delete になります。
テーブル内の 1 つの行に対して複数の更新が行われると、更新された値が前の値と同じである場合でも、Power Automateは更新ごとにトリガーを評価します。 これらの更新により、複数のフローが実行される場合があります。
テーブル名
テーブル名リストは、フローがトリガーされる前に変更された行をフィルターします。 詳細については、Dataverse のテーブルを参照してください。
行が追加、変更、または削除された場合トリガーは、1:N または N:N タイプのリレーションシップでのフローのトリガーをサポートしていません。
Scope
スコープの一覧は、フローを実行する必要があるかどうかを判断するために、これらの行を監視する必要があることを示します。
各範囲の意味は、次のとおりです:
| スコープ | 行の所有権レベル |
|---|---|
| 事業単位 | 部署 内の誰かが所有する行に対してアクションが実行されます。 |
| 組織 | 環境 内の誰によってもアクションが実行されます。 |
| 親 : 下位の部署 | あなたの事業部門またはその配下の事業部門に所属する者が所有する行に対してアクションが実行されます。 |
| ユーザー | あなたが所有する行に対してアクションが実行されます。 |
フィルター条件
フィルター条件を使用して、フローをトリガーする際の条件を設定します。
フィルター列
列の選択 ボックスを使用して、リクエストに含まれるときにフローが実行される行の特定の列を、一意の列名をカンマで区切ったリストとして定義します。 値が変更された列のみを更新要求に含めます。 含まれる値が既存の値と同じ場合にフローが実行されます。
このプロパティは更新条件にのみ適用されます。 作成と削除は、行のすべての列に適用されます。
このプロパティは、仮想テーブルではサポートされていません。
Important
ルックアップ列 (他のテーブル行への参照を格納する列) は、[ 列の選択 ] フィルターではサポートされていません。 ルックアップ列を指定した場合、その列に対する変更はフローをトリガーしません。 テキスト、数値、日付/時刻、選択肢列などのスカラー列の型のみを使用します。
フィルター式
フィルター式は、OData スタイル フィルター式を定義する方法を提供し、トリガー条件をさらに正確に定義するのに役立ちます。 フローは、変更が Dataverse で保存された後に式が true と評価された場合にのみ実行されます。 次の例では、firstname が John に更新された際にフローがトリガーされます。
行のフィルター処理例:
firstname eq 'John'
contains(firstname,'John')
詳細については、標準のフィルター演算子 および クエリ関数を参照してください。
詳細オプション
フローを実行するタイミングや使用するユーザー プロファイルをより正確に定義するために、追加のプロパティを設定することができます。
詳細パラメーター フィールドですべて表示するを選択します。
遅延期間を使用した待機条件
遅延の指定 プロパティに OData 形式のタイムスタンプを使用すると、フローのトリガーを特定の UTC 時間まで遅らせることができます。
標準的な 遅延期間アクション ではなく、Dataverse の遅延期間 プロパティを使用する主な利点は、Dataverse の遅延期間 プロパティが期限切れにならないため、フロー実行が長時間待機できる点です。
"ユーザー偽装(Run As を使用)"
フロー所有者は、Microsoft Dataverse特権 Act on Behalf of Another User (prvActOnBehalfOfAnotherUser) を持っている必要があります。 代理人セキュリティ ロールには、既定でこの特権が含まれています。 任意のセキュリティ ロールで有効にできます。 詳細については、他のユーザーを偽装する を参照してください。
行の追加、変更、削除トリガーを使用してフローを作成する場合は、フロー所有者以外のユーザーのコンテキストを使用して実行するフロー内の各Microsoft Dataverseアクションを設定できます。
ユーザーになりすますには、以下の手順に従ってください。 別のユーザーとして実行したい各 Dataverse アクションについて、実行ユーザーのドロップダウン メニューからオプションを選択します。
選択がない手順の場合、既定のユーザーが設定されます。 これはフローの所有者ではなく、選択されたユーザーに基づいて基礎となる API を呼び出します。 何も指定されていない場合、既定ではフローを作成したフロー所有者 (基本的には作成者) に設定されます。
その他のオプションを以下に示します。
フロー所有者: フローを作成したユーザー。
Row owner: 変更を受けるMicrosoft Dataverse行を所有し、フローをトリガーするユーザー。 チームが行を所有している場合、このオプションはフロー所有者として実行されることが既定です。
変更を加えるユーザー: Microsoft Dataverse の行に作用し、フローをトリガーまたは変更したユーザー。
さらに、インスタント フローを使用すると、呼び出し側の接続を使用して、他の connector (Microsoft Teams、Microsoft 365 Outlook、または SharePoint など) の手順を同じフローで実行できます。 これを行うには、以下の手順に従ってください。
フローの概要ページに移動します。
実行のみのユーザー設定で、編集を選択します。
実行専用アクセス許可を管理 ペインで、ユーザーとグループ タブに移動し、使用する接続 の一覧の 実行専用のユーザーによって提供されました を選択します。