くらっちのクラウド日記

仕事や勉強で得た Microsoft 365 関連の技術知識を投稿していくブログです。

【PowerAutomate】PowerAppsから値を受け取る方法 3選

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】