行が追加、変更、または削除された場合、フローをトリガーする

行が追加、変更、または削除された場合、トリガーは、選択したテーブルとスコープの行が変更または作成されるたびにフローを実行します。

前提条件

  • 行を作成、変更、または削除するときにトリガーされるフローを作成するには、コールバックの登録 テーブルでの作成、読み取り、書き込み、および削除に対するユーザー レベルのアクセス許可が必要です。

  • さらに、フローで定義されたスコープによっては、ユーザーは同じテーブルに対して少なくともその読み取りレベルを必要とする場合があります。 詳細については、環境セキュリティ を参照してください。

行が追加、変更、または削除された場合のトリガーを使用するには、次の情報が必要です。

  • トリガー条件
  • Table name
  • 範囲

注意

Power Automate 従来のクラウド フロー デザイナーまたは Copilot を備えたクラウド フロー デザイナーのいずれかを使用します。 どのデザイナーを使用しているかを確認するには、Copilot 機能を使用した新しいクラウド フロー デザイナーを理解するメモ セクションをご覧ください。

行が追加、変更、削除された場合 トリガーに対して、カード上で直接パラメータを設定します。

スクリーンショット

トリガー条件

トリガー条件、種類の変更 は、行への変更のどの組み合わせがフローを実行するかを正確に定義します。

行の作成、更新、または削除によってフローがトリガーされると、triggerOutputs()['body/SdkMessage'] の値は、それぞれ CreateUpdate、または Delete になります。

テーブル内の 1 つの行に対して複数の更新がある場合、Power Automate は、行で更新されている値が前の値と同じであっても、更新ごとにトリガーを評価します。 これらの更新により、複数のフローが実行される可能性があります。

Table name

テーブル名 一覧は行をフィルターして、フローがトリガーされる前にどの種類の行を変更する必要があるかを正確に示します。 Dataverse のテーブル を参照してください。

行が追加、変更、または削除された場合 トリガーは、1:N または N:N タイプのリレーションシップでのフローのトリガーをサポートしていません。

範囲

スコープの一覧は、フローを実行する必要があるかどうかを判断するために、これらの行を監視する必要があることを示します。

各スコープの意味は次のとおりです:

Scope 行の所有権レベル
部署 部署 内の誰かが所有する行に対してアクションが実行されます。
組織全体 環境 内の誰によってもアクションが実行されます。
親 : 下位の部署 部署または下位の部署 内の誰かが所有する行に対してアクションが実行されます。
ユーザー ユーザーが所有する行に対してアクションが実行されます。

詳細オプション

追加のプロパティを設定して、フローの実行時と、フローが実行されるユーザー プロファイルをより詳細に定義できます。

詳細オプションにアクセスするには、高度なオプションを表示する を選択します。

詳細オプションのスクリーンショット。

フィルター条件

フィルター条件を使用して、フローをトリガーする際の条件を設定します。

フィルター列

列の選択ボックスを使用して、変更ロキにフローを実行する行の特定の列を、一意の列名をカンマで区切ったリストとして定義します。

このプロパティは更新条件にのみ適用されます。 作成および削除は、行のすべての列に適用されます。

このプロパティは、仮想テーブルではサポートされていません。

フィルター式

フィルター式は、OData スタイル フィルター式を定義する方法を提供し、トリガー条件をさらに正確に定義するのに役立ちます。 フローは、変更が Dataverse で保存された後に式が true と評価された場合にのみ実行されます。 次の例では、firstname が 「John」 に更新されたときにフローがトリガーされます。

行のフィルター処理例:

firstname eq 'John'

contains(firstname,'John')

これらのフィルター式を作成する方法については、標準的なフィルター演算子クエリー関数 の例を参照してください。

参照リンクの例とは異なり、式に文字列 $filter= を含めることはできません。 この文字列は、API を直接使用する場合にのみ適用されます。

待機状態には遅延の指定を使用します

遅延の指定 プロパティに OData 形式のタイムスタンプを使用すると、フローのトリガーを特定の UTC 時間まで遅らせることができます。

標準的な 遅延期間アクション ではなく、Dataverse の遅延期間 プロパティを使用する主な利点は、Dataverse の遅延期間 プロパティが期限切れにならないため、フロー実行が長時間待機できる点です。

実行するユーザー名を使用したユーザー偽装

フロー所有者は、別のユーザーの代理として操作 (prvActOnBehalfOfAnotherUser) する Microsoft Dataverse 特権を持っている必要があります。 代理人セキュリティ ロールには、既定でこの特権が含まれています。 任意のセキュリティ ロールで有効にできます。 詳細については、もう一方のユーザーの偽装 を参照してください。

行が追加、変更、または削除された場合のトリガーでフローを作成する場合、フローの各 Microsoft Dataverse アクションがフロー所有者以外のユーザーのコンテキストを使用して実行されるよう設定できます。

ユーザーを偽装するには、次の手順に従います。

  1. デザイナーで、実行形式 の値を選択し、その後の Dataverse のアクションにどのユーザーのコンテキストを使用するかを Microsoft Dataverse に通知します。
  2. 異なるユーザーとして実行したい各 Dataverse アクションについて、右上の楕円 (...) を選択し、呼び出し元のコネクションを使う 設定を選択する。

選択されていない手順では、既定のユーザーと仮定されます。 これにより、フロー所有者としてではなく、選択したユーザーごとに基になる API が呼び出されます。 何も指定されていない場合、既定ではフローを作成したフロー所有者 (基本的には作成者) に設定されます。

その他のオプションを次に示します:

  • フローの所有者: フローを作成したユーザー。

  • 行の所有者: フローがトリガーされる原因となった、変更が行われた Microsoft Dataverse 行を所有するユーザー。 行がチームにより所有されている場合、このオプションはフロー所有者として実行されるようにフォールバックします。

  • ユーザーの変更: フローがトリガーまたは変更される原因となった、Microsoft Dataverse 行に対するアクションを実行したユーザ。

さらに、インスタント フローにより、呼び出し元の接続を使用して、同じフローで他のコネクタ (Microsoft TeamsMicrosoft 365 OutlookSharePoint など) のステップを実行できるようになります。 これを行うには、以下の手順に従ってください。

  1. フローの概要ページに移動します。

  2. 実行のみのユーザー設定で、編集を選択します。

  3. 実行専用アクセス許可を管理 ペインで、ユーザーとグループ タブに移動し、使用する接続 の一覧の 実行専用のユーザーによって提供されました を選択します。