PowerAutomateでフローをたくさん作ると、同じような処理を個別に作るのが面倒になります。
サブルーチン化できないか調べたところ、マイフローでは作れないけど、ソリューションでは作れるという情報を得たのでメモを残します。
マイフローの場合
- 組み込みに「フロー」が出てこない
- 組み込みの「Flow button for mobile」には「子フローの実行」がない
ソリューションの場合
- 組み込みに「フロー」が出てくる
- 組み込みの「フロー」「Flow button for mobile」を選択すると「子フローの実行」が出てくる
- 「子フローの実行」を選択すると、所定ルールに従って作成したフローが選択できる
- 子フローには引数を渡したり、返り値を受け取ったりできる
ソリューションの作成
- 左メニュー「ソリューション」を選択し、上部メニュー「+新しいソリューション」を選択
- 表示名、名前、公開元、バージョンを入力して作成
- 初めてソリューション作成する場合は「+新しい公開元」を選択し、表示目、名前、接頭辞を入力して保存
子フローの作成
- 左メニュー「ソリューション」から、作成したソリューションを選択し、左メニュー「ソリューション」、上部メニュー「+新規→自動化→クラウドフロー→すぐに」を選択
- フロー名:「Child」とし、「フローを手動でトリガする」を選択して作成ボタンを押下
- 「手動でフローをトリガーします」にテキスト入力項目を追加
- 「PowerApp または Flow に応答する」を追加し、応答値として文字列結合を行う以下項目を追加(この値が呼び出し元に返す値になります)
タイトル | 値(式) |
---|---|
output | concat('===',triggerBody()['text'],'===') |
別フローから作成した子フロー呼び出し
- 左メニュー「ソリューション」から、作成したソリューションを選択し、左メニュー「ソリューション」、上部メニュー「+新規→自動化→クラウドフロー→すぐに」を選択
- フロー名:「Parent」とし、「フローを手動でトリガする」を選択して作成ボタンを押下
- 子フローに文字列「hoge」を渡すフローを作成
実行すると親フローの作成で無事、子フローの文字列結合処理結果を取得できました!