PowerApps でアプリを作成する場合、ボタンクリックで PowerAutomate を起動するシーン多いと思います。
PowerApps から PowerAutomate 側に値を渡す際は、Run関数を利用すればよいのですが、PowerAutomate 側の値の受け取り方はいくつかあります。
今回は私が知る方法3つをご紹介したいと思います。
目次
1.PowerApps トリガーを利用する
最初にPowerApps トリガーを利用する方法です。
PowerApps から受信した値を利用したい場所で「PowerAppsで確認」を選ぶと新しいコンテンツが作成されます。
作成されるコンテンツの名称は下図のように「アクション名_項目名」になります。
一度作成したコンテンツは、同じフロー内であればいつでも利用できます。
PowerApps では、Run関数を利用して作成したコンテンツに渡したい値を記載すればOK。
ただし、下記点にご注意ください。
一度作成したコンテンツはフローから削除しても裏では残り続けるため、PowerApps で Run関数 を作成する際は「削除したコンテンツも存在する」ものとして値を設定する必要があります。
意外と忘れてしまう落とし穴なのでご注意を。。
2.PowerApps トリガーを利用する &「JSONの解析」を利用する
次は「JSONの解析」を利用して PowerApps から情報を受け取る方法です。
「PowerApps」トリガーの直下に「JSONの解析」アクションを配置します。
「コンテンツ」で「PowerAppsで確認」をクリックしてコンテンツを作成し、「スキーマ」には下記を参考に JSON を記述します。
//PowerAutomate 側 { "type": "object", "properties": { "XXXXX": { "type": "string" }, "YYYYY": { "type": "integer" } } }
「XXXXX」と「YYYYY」はパラメータの名称です。自由に変更してください。
PowerApps の Run関数は下記のような書き方になります。
JSON関数に記載するパラメータの名称は PowerAutomate で定めた名称と合わせる必要があります。
同様に、PowerApps から渡す値の型も PowerAutomate 側で定めた型(type)に合わせてください。
※PowerAutomate で「"type": "integer"」とした場合、PowerApps はValue関数を利用するなどして数値として渡す必要があります。
PowerAppsにおけるJSON関数については こちら をご覧ください。
送信ボタンの OnClick に記述するコマンド例
//JSON形式のパラメータをPowerAutomateに渡す 'フロー名'.Run( JSON( { XXXXX: TextInput.Text, YYYYY: Value(NumberInput.Text) }, JSONFormat.IndentFour ) );
3.PowerApps(v2) トリガーを利用する
最後に PowerApps(v2) トリガーを利用する方法です。
「PowerAutomate(v2)」トリガーを選択して、「+入力の追加」をクリックすると下図のようにパラメータの種類が選択できます。
パラメータの種類を選択して名前を付けると、以後は作成した名前のパラメータが利用できます。
PowerApps のRun関数に入力する項目も PowerApps(v2) トリガーで作成した項目が必要で、上図における Run関数 は下記のような構成になります。
PowerApps から渡す値の型は PowerAutomate 側で定めた型(type)に合わせてください。
※PowerAutomate で「数」を選択した場合、PowerApps も数値型で渡す必要があります。
// Title=text型、No=number型 'フロー名'.Run( Title, No)
参考
#PowerApps のJSON関数を使ったFlowへのパラメータ渡し
Power Apps の JSON 関数【Docs】