記事公開日
最終更新日
初心者に向けたPower Automateの使い方【 #5 変数を使用した承認フロー 】

システムソリューション営業本部 江口です。
いよいよ今回は最終回!
チームリーダー、部長、本部長から承認をいただくフローです。
前回作成したwordを添付した承認フローを作成します。
フローには変数を使用します。
前置きを飛ばして、Power Automateの変数について知りたい方はこちらへ
▼これまで作成したフローは以下の通りです。ぜひご覧ください。
#1 SharePointとOutlookで通知フロー編
#2 Power AppsとSharePoint/時間指定の通知フロー編
#3 承認フロー編
#4 承認フロー編 +α(SharePointリストの複数取得&word化)
目次
■事前準備(承認フロー作成)■3名に承認フロー(繰り返し)
1.Power Automate 変数
2.種類の説明
3.承認フローにアレイ変数を追加して繰り返し
■まとめ
事前準備(承認フロー作成)
事前準備として、前々回(#3 承認フロー編)を参考に承認フローを作成します。第3回と異なる点は、トリガーです。
今回はインスタントクラウドフローを使用してみましょう。

今回はインスタントクラウドフローのうち、
SharePointの「選択したファイルの場合」をトリガーにしてフローを作成します。
※「選択したファイルの場合」がトリガーの際は、既定の環境にフローを作成しなければならないので注意が必要です。

作成した承認フローは下図の通りになります。
前回作成したWordを添付するため、SharePointサイトのアドレスは「週次報告フロー」、
ライブラリは「word化」を選択します。


フローのテストの際には、SharePointサイトへ移動します。
インスタントクラウドフローなため、クリックすることでフローが稼働します。
SharePointライブラリから、添付したいファイルを以下の通りに選択します。
アクションを表示>自動化>作成したフロー名(本ブログでは「承認フロー【上長用】」)

以上までで、事前準備となります。
3名に承認フロー(繰り返し)
今回の承認フローでは、3名に同じ内容の承認通知を送信します。下図の通り、3つの承認アクション(チームリーダー→部長→本部長)を順に並べて作成することも一応できます。

また、アクションを追加する際に並列分岐を選択することで、同時に処理することもできます。
上図のフローとの違いは、並列分岐の場合は“同時”に承認依頼の通知が送信されることです。
上図のフローの場合では、「順番」に承認依頼の通知が送信されます。

ただし、同じアクションを繰り返すのであれば、
変数を使用することで、アクションの数を減らして繰り返しの処理を行うこともできます。
1.Power Automate 変数
Power Automateの変数とは、おおよそプログラミングの変数と同じです。変数とは簡単に説明しますと、モノ(値)を収納するための箱です。
(※具体的な変数の説明についてはこちらで説明しておりますので、ご覧ください。)
Power Automateで変数を使用する際には、
「変数を初期化する」アクションを選択する必要があります。
この「変数を初期化する」アクションは、最上位でのみ使用ができます。
「Apply to each」や「条件」などのコントロールアクションの中では使用できません。
今回は、トリガーの直後に初期化アクションを追加します。

変数に入れる値を指定するために、種類を選択します。
Power Automateの「変数を初期化する」アクションでいう「種類」になります。
今回の承認フローでは変数の種類はアレイを使用します。

2.種類の説明
そもそも、変数の種類は6つあります。「ブール値」「整数」「Float」「文字列」「アレイ」「オブジェクト」です。
文字列や、整数・Float(小数)はそのままの意味となります。
種類 | 入る値 | 備考 |
文字列 | 文字 | 文字列の場合は値を””(ダブルクォーテーション)で囲む |
整数 | 1,2,3などの小数点がない数値 | 数値には””不要 |
Float | (小数)0.1や3.2などの小数点付きの数値 | 数値には””不要 |
簡単なフローを文字列で作成すると下図のようになります。
トリガーはインスタントクラウドフローのボタンで作成しました。

上記の文字列のように、文字列や整数、Floatはシンプルでわかりやすいのですが、以下の3つは複雑です。
種類 | 入る値 | 備考 |
アレイ | 複数の値を収納して、配列する [ ] (角カッコ)の中に値を入れ、 , (コンマ)で区切って使用する |
Apply to eachアクションと一緒に使用されることが多い |
ブール値 | 真(true)か偽(false)のどちらかの値 | ブール値が未設定の場合、falseで設定される |
オブジェクト | 上記の種類を複数使用したい場合に用いられる JASONの解析(コードプレビュー)が必須 |
変数が複数出てきた際に使用すると整頓されて便利 |
3.承認フローにアレイ変数を追加して繰り返し
今回使用する種類、アレイ(Array)とは、配列・整列という意味の単語です。アレイは、複数の値を収納して、収納した順に値を取り出すことができます。
値は、「,」を用いて区切ることで、順に配列されます。
イメージとしては下図の通りです。収納は1からではなく、0から行います。

今回の承認フローは、
チームリーダー → 部長 → 本部長 と順に、承認依頼を送信する内容となります。
依頼通知の本文は3名とも同じ内容です。
「選択したファイルの場合」アクションの下に「変数を初期化する」アクションを挿入します。
値は、以下の通りに設定します。
名前 | 承認者 |
種類 | アレイ |
値 | [ “チームリーダーのメールアドレス”, “部長のメールアドレス”, “本部長のメールアドレス” ] |
「“”」や「,」の付け忘れには気をつけましょう。
また、1つの変数の中では、数値か文字のどちらかに統一をしましょう。

「変数を初期化する」アクションの下に、コントロールの「Apply to each」アクションを挿入します。
「Apply to each」アクションの中には、事前準備で作成した承認フローと条件をドラッグ&ドロップで入れます。

「以前の手順から出力を選択」には、変数の動的コンテンツ【承認者】を選択します。
「Apply to each」アクションによって、処理が繰り返されます。
繰り返される回数は、動的コンテンツ【承認者】によって設定されます。
繰り返し処理は、変数に格納された値の数の分、行われます。
今回は、アドレスを3つ格納したため、3回繰り返されます。

「開始して承認を待機」アクションの担当者の設定を変更します。
担当者には動的コンテンツの【現在のアイテム】を挿入します。
変数「承認者」の値(メールアドレス)は、
Apply to eachの動的コンテンツ【現在のアイテム】によって格納されます。

条件のはい・いいえの場合の中身も変更しましょう。
誰から承認されたのか、またコメントがあった際には
そのコメントの内容も確認できるように動的コンテンツを挿入します。

以上で承認フローが完成しました!
フローのテストを行うと下図の通り承認依頼の通知が、チームリーダー → 部長 → 本部長の順に送信されます。

承認されると以下のように通知が来ます。

ただし、今回作成した承認フローでは、
例えば部長が拒否した場合であっても、本部長へと承認依頼の通知が流れてしまうため、注意が必要です。
※SharePointサイトのリストは共有しなければ閲覧することも出来ません。
Wordを保存したライブラリも同様に共有しなければ閲覧することが出来ません。
チームリーダー、部長、本部長へのSharePointライブラリの共有を忘れないようにしましょう。
おまけ
ちなみに1人だけに送りたい場合は以下のように、動的コンテンツのとなりにある式を用いて以下のように設定します。
variables(‘変数名’)[整理番号]
式 | 送り先 |
variables(‘承認者’)[0] | チームリーダー |
variables(‘承認者’)[1] | 部長 |
variables(‘承認者’)[2] | 本部長 |
先ほどの説明で、「収納は1からではなく、0から行います」と申しました。
そのため、最初の人は1ではなく、0を指定する必要があります。
また、1人だけに送信するため、Apply to eachアクションは必要ありません。

まとめ
これにて、新人の作成した週報の通知・承認フローが完成しました!いかがだったでしょうか?
変数には様々な使い方があります。
さきほど述べたように、例えば部長が拒否した場合であっても、
本部長へと承認依頼の通知が流れてしまいます。
それを回避するために、変数のブール値を使用する方法もあります。
ぜひそちらも作成してみてください。
今回で週報を例にしたPower Automateの使い方は終了となります。
第5回までお付き合いいただきありがとうございました。
Power Automateにはもちろん週報でなくとも、
他にも様々なフローを自動化することが出来ますので、ぜひ試してみてください!
最後までご覧くださりありがとうございます!
引き続き、他の記事もぜひよろしくお願いします。