0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Power Automate】多段階承認フローの担当者を動的に設定する

Posted at

【Power Automate】多段階承認フローの担当者を動的に設定する

Power Automate の承認コネクタで、『連続した承認』(多段階承認) が実装されました。※2024/06

『開始して承認を待機』アクションの [承認の種類] プロパティで『連続した承認』を指定すると、多段階での承認フローが作成できます。
[承認ステップ] プロパティで [+新しい項目の追加] をクリックすると担当者を増やしていけるような UI になっています。しかし、この設定方法だと固定の人数でしか設定することができません。
image-20241119221850862.png

[承認ステップ] プロパティの右上にある [アレイ全体の入力に切り替える] をクリックすると、設定されている JSON 形式の文字列が確認できます。
image-20241119221946726.png

上記の様に3名の担当者を設定した場合は、以下のような JSON 形式の文字列になっています。
image-20241119222006140.png

メールアドレスの配列を上記のような JSON 形式の文字列に変換することができれば、動的に多段階の承認ルートを設定できるということです。

変換方法

例として、今回はインスタント クラウドフローを構築します。

複数ユーザーを設定できる UI の準備

『フローを手動でトリガーする』トリガーに [+入力の追加] から『電子メール』を追加します。
image-20241119213910940.png

この入力ボックスには複数のユーザーを設定できます(可変)。
image-20241119213727637.png

メールアドレスが格納された配列の作成

『フローを手動でトリガーする』トリガーの『電子メール』には、指定したユーザーメールアドレスがセミコロン区切りで格納されています。『作成』アクションで split 関数を使用して配列に変換します。※ここではアクションの名前を『作成:セミコロン区切りを配列に変換』に変更しています。
image-20241119214352677.png

split(triggerBody()?['email'], ';')

配列の各アイテムを加工する

『選択』アクションを使って配列のアイテムを JSON 形式に加工します。
※作成した配列を Apply to each アクションの繰り返し処理で変換してもよいです。
image-20241120111742719.png

From
range(0, length(outputs('作成:セミコロン区切りを配列に変換')))
Map
concat('{"assignedTo":"', outputs('作成:セミコロン区切りを配列に変換')[item()], '"}')

変換した配列をカンマ区切りで結合して JSON 形式の配列にする

変換した配列をカンマ区切りでつなげた文字列を作成ます。
image-20241119220527380.png

JSON の配列になるように前後を[]で括ります。
image-20241119220732942.png

concat('[',body('結合:カンマ区切りでつなげる'),']')

作成した文字列を JSON データに変換する

『JSON の解析』で作成した文字列を JSON データに変換します
image-20241119221253836.png

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "assignedTo": {
                "type": "string"
            }
        },
        "required": [
            "assignedTo"
        ]
    }
}

これで完成です。この処理を子フロー化しておくと汎用的に使えます。

承認ステップに設定

[承認ステップ] に生成した JSON データを指定します。
image-20241119221639214.png

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?