こんにちは、blueです。
Power Automateでイベントによって実行するフローを作る際
- どういった動的コンテンツが取得できるのだろう
- 動的コンテンツと値の一覧を取得できたらいいな
と思ったことはないでしょうか?
そこで今回は動的なコンテンツと値の一覧を取得できる方法について紹介します。
非常に簡単な操作で取得できるのでぜひ参考にしてください。
なお、今回の記事は以下を参考にしました。
【Power Automateの便利技】「データ操作 :作成」アクション
Trigger Conditionsを追加してFlowの発動回数を節約する
どちらも非常にわかりやすい記事となっていますのでぜひ参考ください。
動的コンテンツと値の一覧の取得方法
動的コンテンツと値の一覧を取得する方法は以下になります。
- 「データ操作-作成」アクションを追加する
- 「入力」にtriggerBody()の式を入力する
以降で詳しく説明します。
「データ操作-作成」アクションの追加の仕方
「データ操作-作成」アクションは以下の方法で追加します。
1 検索窓に「データ操作」と記載します
2 「データ操作コネクタ」をクリックします
3 「作成」アクションをクリックします
データ操作の作成フローが作成できればOKです。
triggerBody()の入力
triggerBody()の入力は以下の方法で行います。
1 入力のところで「動的なコンテンツの取得」-「式」を選択します
2 triggerBody()と入力します
以下の様にfx triggerBody()という形で表示されていればOKです。
保存してフローを実行してみましょう。
色々なイベントの内容を取得してみる
Sharepoint アイテムが作成または変更されたとき
以下のフローを作成します。リスト名は「案件管理」というテンプレートを使っています。
リストにアイテムを追加します。
フローを選択し、実行結果を確認すると・・・
以下の情報が得られます。
表示形式はJSONになります。JSONについてはこちら
JSONでは動的なコンテンツと値のセットが「key:値」で表示されます。
ここでIDはID列の情報、Titleはタイトル列(ここでは問題点列)、DescriptionはDescription列(ここでは案件の説明列)の情報になります。
各列の情報を取得できていることが分かります。
Outlook 新しいメールが届いたとき
以下のフローを作成します。
メールが受信トレイに入ると・・・
以下の情報が得られます。
受信メールには多くの情報が入っています。subjectはタイトル、bodyPreviewは本文のプレビュー内容、fromは送信者などメールに記載されている情報や付属している情報を取得できていることが分かります。
Forms 新しい応答が送信される時
以下のフローを作成します。
Formsでフォームを作成し、回答すると…
以下の情報が得られます。
Formsのトリガーで取得できる情報はformIDやresposeID(応答のID=順番)、eventTimeなどの情報になります。
データ操作+作成アクションを使用する利点
ここまで「データ操作+作成」を使った動的コンテンツの一覧表の取得方法について説明しましたが、メリットが一つあります。
それは『「データ操作+作成」アクションは後のフローに影響を与えない』ということです。
「データ操作+作成」アクションを必要な場所に配置させることで、トリガーやアクション操作からの情報一覧を取得することができます。
アクションから取得した内容を表示する
これまではトリガーからの内容取得方法でしたが、ここからはアクションからの内容取得方法について説明します。
アクションにより生成された情報はbody(‘actionName’)(actionNameはアクションの名前を記載)で一覧を取得することができます。
例としてFormsの応答の詳細を取得するアクションで生成された動的コンテンツの一覧を取得します。
以下のフローを作成します。
「データ操作-作成」アクションの入力式には「body(‘応答の詳細を取得する’)」と入力します。
先ほどと同様にFormsで回答を行うと以下の情報が得られます。
ここでresponderはマイクロソフトアカウントのユーザープリンシパル名、submitDateは送信日になります。
rc~は先ほどのForms質問の「今日はいい天気ですか?」「明日はいい天気ですか?」のことです。JSONではUTF-8の文字コードで記載されるので、日本語は変換されます。
ちなみに、アクション名がわからないときは以下の方法で取得することができます。おいしみさん(@ksgiksg)に教えていただきました。
今回のまとめ
今回は「データ操作-作成」+triggerBody()で動的コンテンツの一覧を取得する方法について説明しました。
コメント