複数ユーザー列を承認者に!Apply to eachを回避して一括送信する技

Power Automate

SharePointリストで担当者が複数いる場合、その全員にPower Automateで承認依頼を送りたいですよね。でも、そのまま設定すると勝手にループ(Apply to each)に入って困っていませんか? ご安心ください。「選択」と「結合」という2つのアクションを使うだけで、ループを回避して全員に一括で承認依頼を送ることができます。サクッと解決しましょう!

30秒でわかる!この記事のまとめ

今回の解決ポイントは、複数人の情報を「メールアドレスの文字列」に変換することです。

【結論:使うアクションと設定】

  1. データ操作「選択」: 複数ユーザー列から「メールアドレス」だけを取り出す。
  2. データ操作「結合」: 取り出したメールアドレスを「(;) セミコロン」でつなぐ。
  3. 承認アクション: 担当者欄に「結合」の結果を入れる。

【重要ポイント】
そのまま動的コンテンツでユーザー列を選ぶと「Apply to each」が発生しますが、上記の手順なら回避できます。

フローの全体図

手順と解説(詳細)

0. 前準備

「複数選択を許可」したユーザー列があるSharePointリストを用意します。

1. トリガーの設定

SharePointリストに新しいアイテムが追加されたらフローが動くようにします。

  • トリガー: SharePoint「項目が作成されたとき」
  • サイトのアドレス: 対象のSharePointサイトを選択
  • リスト名: 対象のリストを選択

2. データ操作「選択」アクションの追加

ここが最初のポイントです。複数選択列の情報は「配列(リスト)」になっています。ここから必要な「メールアドレス」だけを抽出します。

  • 新しいステップで「データ操作」コネクタの「選択」アクションを追加します。
  • : 動的コンテンツから、SharePointの「複数選択を許可したユーザー列」を選択します。
  • マップ: 右側のTボタンをクリックし、動的コンテンツから「複数選択を許可したユーザー列の Email」を選択します。(※列名の後にEmailとついているものを選んでください)

解説:なぜこの設定が必要か
この操作で、ユーザーの名前やIDなどを含んだ複雑なデータから、「メールアドレスだけのリスト」を作り出しています。

3. データ操作「結合」アクションの追加

次に、抽出したメールアドレスのリストを、承認アクションが理解できる「1つの文字列」に変換します。

  • 新しいステップで「データ操作」コネクタの「結合」アクションを追加します。
  • : 動的コンテンツから、一つ前の手順で作成した「選択」アクションの「出力」を設定します。
  • 次と結合する: 半角のセミコロン「;」を入力します。

解説:なぜこの設定が必要か
承認アクションの担当者欄は、「tanaka@example.com; suzuki@example.com」のように、メールアドレスがセミコロンで区切られた文字列を求めています。このアクションでその形式を作成しています。

4. 承認アクションの設定

最後に、作成したメールアドレスの文字列を担当者に設定します。

  • 新しいステップで「承認」コネクタの「開始して承認を待機」アクションを追加します。(承認の種類は任意、例:「連続した承認」など)
  • 担当者: 動的コンテンツから、一つ前の手順で作成した「結合」アクションの「出力」を設定します。

解説:なぜこの設定が必要か
ここでSharePointの列を直接選ぶとループしてしまいますが、「結合」の結果を使うことで、ループせずに複数の担当者を一括設定できます。

これでフローは完成です。保存してテストしてみましょう。SharePointリストにアイテムを作成すると、指定した複数の担当者に同時に承認メールが届くはずです。

まとめ

SharePointの複数選択列に入っているユーザー全員に承認依頼を送る際は、「選択」と「結合」アクションを組み合わせることで、「Apply to each」を回避してスマートに実装できます。 一見難しそうですが、手順は決まっていますので、ぜひ試してみてくださいね!

コメント

タイトルとURLをコピーしました