【Power Apps】Power Automateと連携させる

Power Appsだけでは行えない処理を実行したいときや、Power AppsをトリガーとしてPower Automateを起動させたいことがあると思います。

Power AutomateとPower Appsを連携するやり方をまとめてみます。

※前提としてすべてPower Appsでアプリを完成後、Power Automateを追加するとします。

Power Appsからフローを新規作成する

Power Automateのフローをまだ作成していない場合は、Power Appsの左側のメニューバーにある「Power Automate」から作成可能です。こちらをクリックすると、「フローを新規作成する」が表示されているので、クリックするとPower Automateのメニューが表示されます。

ただこのやり方だとバージョンの古いものが選択されてしまいます。もし選択した場合は、古いバージョンを削除し、Power Apps(V2)を入れることをお勧めします。

Power Automateで既に作成したフローを追加する

Power Automateの画面で自動化したクラウドフローを選択後「Power Apps」を選択すると、下記のようにバージョンが2つ出てきます。上に出てきたバージョンは先ほど説明したバージョン、2つめの黄色塗色されたものが最新のバージョンになります。(2023年2月現在)

今回はPower Apps(V2)を使用してフローを作成します。

Power Appからフローに対して値を渡したい場合、前提条件としてPower Automate側でパラメータ(型)を作成する必要があります。パラメータの種類は全部で6種類あります。

テキスト型、はい/いいえのBoolean型、ファイル、電子メール、数、日付のうちのどれかを選択し、名前を付けてください。ここで設定した名前(黄色下線部)がフローの動的なコンテンツで表示される名前になります。

今回はフローの作成は割愛します。

フロー完成後、Power Apps側にフローを追加するため「Power Automate」をクリックし、「+フローの追加」ボタンを押すと、Power Automateにあるマイフローの一覧が表示されるため、追加したいフロー名を選択します。

アプリからフローを呼び出す方法

フローをアプリから呼び出すときは”フロー名”.Run(“パラメータ1”, “パラメータ2”)と記載します。パラメータはアプリからフローに値を渡します。フローで設定した分だけパラメータを明記します。

今回のアプリでは、トリガーとなるボタンの[OnSelect]プロパティに記載します。

パラメータはフローで設定した順番で記載します。順番は間違えないようにしてください。

例えばAutomateで「氏名」、「電子メール」、「電話番号」の順で設定していた場合は下記のように記載します。先ほど氏名には文字列、電子メールにはメールアドレス、電話番号は文字列と型を設定したため、型にあてはまるように引数を入力します。

Apps
AutomateTest.Run("らむね", "ramune@dotcom.com", "080-0000-0000")

Power Automateのフローからアプリに値を渡したい場合

フローで出した値をPower Appsに戻したい場合もあるかと思います。

その場合は、「Power AppsまたはFlowに応答する」アクションを追加してください。フローからアプリに値を渡したい場合と同様、6種類のパラメータを選ぶことができます。

またアプリでフローの結果を利用する場合は、変数に格納してあげるとアプリで使用できるようになります。

Apps
Set(myResult, 'フロー名'.Run("パラメータ"))

フロー内のパラメータの属性変更

Power Automateのフローのパラメータは必須(Required)とオプションに変更することが可能です。必須はその名のごとく必須なため、ないとフローはエラーになります。オプションは「あったら書いてください、なければなくてもいいです。」という感じです。

デフォルトは必須になっています。

変更する場合はパラメータの横にある3点メニューから「フィールドをオプションにします」を選択すると、オプションに変更されます。

パラメータが既にオプションになっている場合は、「フィールドを必須にします」が表示されます。必須かオプションか選択しても見た目は一切変わりませんので、見た目で判断することは難しいです。

オプションにしてエラーが表示されないようにするためには、パラメータの前に”?”を入力するとフローでのエラーが回避されます。

必須(Required):triggerBody()[‘text’]

オプション(Option):triggerBody()?[‘text’]

値が存在しない場合は「null」に設定されます。

Power Appsからフローにパラメータを渡す場合の書き方は必須とオプションで変わります。オプションはパラメータの前後を{ }で囲ってあげる必要があります。

名前、メールアドレスは必須、電話番号がオプションの場合は下記の書き方になります。

Apps
AutomateTest.Run("らむね", "ramune@dotcom.com", {電話番号:"080-0000-0000"})

フローを変更した場合、やらなければならないこと

Automateのフローを変更した場合、やらなければいけないことがあります。フローの更新です。

「Power Apps」のPower Automateのボタンをクリックし、フロー名の右側にある3点メニューを選択し、最新の情報に更新ボタンをクリックし、フローを最新の状態に更新してください。

更新しない場合、エラーが出ます。

アプリの作成者とフローの所有者は同じであること

アプリ内にフローを追加するには前提としてフローの所有者である必要があります。

アプリとフローを分業で作成する場合などはお気を付けください。

参考 Power Automate ペインを使用するMicrosoft Learn

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA