のいのログ

【Power Automate】親子フロー間で配列やJSONを渡す方法

Power Automateの親子フローでは、子フロー側のトリガーや応答アクションにパラメータを設定することで、親フローから子フローにデータを渡したり、逆に子フローから親フローにデータを返したりすることができます。

ただ、入力の種類では配列やオブジェクト(JSON)を選択できないため、ぱっと見た感じだと配列やJSONは渡せないように見えます。

しかし、実は簡単なステップで親子フロー間で配列やオブジェクトを渡すことができます。

目次(クリックでジャンプできます)

子フローを作る

今回は子フローの引数、つまり親フローから子フローへ渡す方法で解説します。

子フローからの戻り値(子フローから親フローへ渡す)であっても、同じ方法で設定できます。

配列やJSONを受け取る入力の種類は「テキスト」にする

「フローを手動でトリガーする」の入力の種類は「テキスト」にします。

受け取った引数は利用前に変数に格納したり、JSONの解析を挟む

受け取った引数は、子フロー内ではまだ文字列(String)として認識されているため、「それぞれに適用する(Apply to each)」のループ対象にしたり、JSONの中身を動的コンテンツで選択したりすることができません。

「それぞれに適用する」のループには配列が必要だが、トリガーの直後では利用できる動的コンテンツがないと表示される

そのため、まずは変数に格納したり、データ操作系のアクションで配列やJSONとして認識させる必要があります。

上記フローでは、左から順に以下の処理をしています。どの方法を使っても大丈夫なので、目的に応じて使い分けてください。

  1. 「変数を初期化する」アクションで、編集可能な配列型変数に格納する
  2. 「変数を初期化する」アクションで、変更可能なオブジェクト型変数に格納する
  3. 「作成」アクションで、変更しない配列を作成する
  4. 「JSONの解析」アクションで、JSON内の各値を動的コンテンツで取得可能にする

とりわけ、③と④が使用頻度高めかなと思います。

親フローを作る

親フローでは特別なことをする必要はありません。通常の文字列(String)型やブール(Boolean)型を渡すのと同様に、「子フローの実行」アクション内で引数で渡します。

今回はテスト用に作成した配列とJSONを渡しています。

作成 – Array
createArray('a', 'b', 'c')
作成 – Object
{
  "mail": "xxx@example.com",
  "displayName": "John"
}

実行結果

実行してみると、いずれの方法でもテキストとして受け取ったデータが、配列・JSONへ変換できているのがわかります。

③の作成アクションの実行結果
④のJSONの解析の実行結果

まとめ

親子フロー間で配列やJSONでの受け渡しができると、フローの再利用性が高まります。

ぜひ効率的なフロー開発に役立ててください。

シェアしていただけると嬉しいです!
  • URLをコピーしました!

この記事を書いた人

ローコード・RPAエンジニア。DX・業務効率化を専門に開発。

前職では鉄道運転士として働きながら、社内複業でSwift・Power Platformで業務効率化を推進していた。

応援する

コメント

コメントする

CAPTCHA


目次(クリックでジャンプできます)