Power Appsでコネクタを利用してTeamsに投稿したりOutlookでメールを送信したりすることができますが、サジェストが出ないものがあったり、公式のDocsの翻訳が微妙だったりで数式のパラメータの入力方法がとてもわかりにくいです。
コネクタのアクションに入力するパラメータのフォーマットをPower Automateを使用して特定する方法を紹介します。
Power Automateのパラメータに動的なコンテンツを入力する場合などにも活用できます。
この記事は、Power Automate Advent Calendar 2023 12月20日担当分の記事です。
Power Automateはノーコードだが、Power Appsはノーコードではない
Power Automateではパラメータを選択する際は、フォーマットに応じたサジェストが表示されます。
例えばメールの宛先を入力する際はユーザーの検索と選択が可能です。
他にも重要度などの特定の値のみ受け付ける場合は選択肢から値を選択できます。
これに対してPower Appsはほぼ画面に表示されるヒントからパラメータを入力する必要があります。
このヒントだけで入力するパラメータのフォーマットを特定するのはかなり難しいです。
フローを作成して、Power Appsで使用したコネクタのアクションを追加する
パラメータを確認するために、Power Automateでフローを作成してPower Appsで使用したいアクションを追加します。
その後、Power Appsから出力したい項目に値を入力します。
入力したら、…→コードのプレビューを選択します。
parameters内に記載されている値を確認し、ヒントを参考にPower Appsに転記します。
フローをテストして問題なく動作するか確認しておきましょう。
JSONの理解を深める足掛かりになるかも
アプリ ロールの割り当てを編集するアクションなどの構造化された複雑な入力を必要とするアクションでは、JSON形式の理解が求められる場合があります。
その場合にもこの手法を活用することでフォーマットを特定でき、JSONを理解するための足掛かりになるかもしれません。
アプリ ロールの割り当てを編集するアクションを追加し、適当に値を入力します。
コードプレビューを確認すると、以下のように構造化されたパラメータを入力することがわかります。
表で表すと以下のようになります。
これをPower Appsの数式にするとこうなります。
この数式の変換において、Power Apps・Power AutomateにおけるJSONの基本である以下の3点を覚えておきましょう。
- []は配列、{}はレコードのまとまりを表し、/は階層を一つ下げることを表す
- 列名:値のフォーマットで構造化データを表現し、テーブルの場合は[]、レコードの場合は{}を使い分けて値を入力する
- /はPower Appsでは使用できないので、[]や{}を用いて構造化データを表現する
さいごに
コネクタのアクションはどれも有用なものばかりなので、積極的に活用していきましょう!
結局はググる力
Power Automateを使用してパラメータを特定する方法を紹介しましたが、アプリ ロールの割り当てを編集するアクションのroleNameやNotifyShareTargetOptionなどはPower Automateでもサジェストに表示されません。
なので結局はググって解決策を見つけるしかありません。
残念ながら英語のサイトばかりなので、英語で検索しましょう。
当ブログ当ブログも含めたくさんの方々が日本語でコネクタのアクションの使い方を解説しているので、参考になればフィードバックをお願いします。需要のないところに供給は生まれません。
Power Automateとの使い分け・併用も考えよう
繰り返しになりますが、パラメータの入力においてPower Automateはノーコードですが、Power Appsはノーコードではないです。
Power AppsもPower Automateもほとんどの場合において同じ処理が可能なので、Power AppsだけでなくPower Automateも併用した方が簡単に目的を達成できるかもしれません。
コメント