Power AutomatePower Platform

【Power Automate】Teamsアクションでの「Graph で電子メールまたはUPN~が含まれるユーザー詳細が見つかりませんでした」エラーを回避する

今回の記事では、Teams「チャットまたはチャネルでメッセージを投稿する」アクションでの「Graph で電子メールまたはUPN~が含まれるユーザー詳細が見つかりませんでした」エラーを回避する方法をお伝えしていきます。

スポンサーリンク

課題

Power Automateにて、フローボットから複数人にチャットを送信したい場合、Teamsコネクタの「チャットまたはチャネルでメッセージを投稿する」アクションを利用するかと思います。

その際、正しく送信先(Recipient)を設定しているはずなのに「Graph で電子メールまたはUPN~が含まれるユーザー詳細が見つかりませんでした」というエラーが発生することがあります。

複数ユーザーを指定してチャット送信を試みる
正しく設定されているように見えるものの…
「ユーザー詳細が見つかりませんでした」エラー
実行すると「Graph で電子メールまたはUPN~が含まれるユーザー詳細が見つかりませんでした」のエラーが表示されてしまう状態

今回は、このエラーの解決策をお伝えします。

エラー原因

Teams「チャットまたはチャネルでメッセージを投稿する」アクションでは、セミコロン区切りのメールアドレスを指定しても複数人にチャットを送ることはできません。

ちなみにOutlookの場合、セミコロン区切りのメールアドレスを指定すると複数人にメールを送信することができます。Teamsアクションの動きと異なるため混乱しやすいかと思います。

複数ユーザーを指定してメール送信を試みる(Outlook)
Outlookのメール送信アクションでは、セミコロン区切りで複数人にメールを送信することができる

解決策

メールアドレスの文字列をセミコロンで分割してアレイに変換し、Apply to Eachループの中でTeamsチャットを送信することで、エラーを回避することができます。

複数人へのチャット送信フローの流れ

文字列作成・アレイに変換

まずは、emailという名前の文字列変数を初期化します。
値には、複数のメールアドレスがセミコロンで区切られた形式のテキストを入れました。
(※ 最後にセミコロンがついている場合は削除してください)

複数メールアドレスが入った変数を用意

次に、emailArrayという名前のアレイ型変数を初期化します。
値には下記の式を入れています。

split(variables('email'),';')
メールアドレスをセミコロンで分割

ここまでで、メールアドレスをセミコロンで分割してアレイに変換することができました。

Apply to Eachループ内でTeamsチャットを送信

続いて、Apply to each(日本語アクション名は「それぞれに適用する」)を追加します。
「以前の手順から出力を選択」欄には、先ほど作成したアレイ型変数emailArrayを入れます。

Apply to eachアクションを用意

最後に、Apply to eachの中にTeams「チャットまたはチャネルでメッセージを投稿する」を入れます。
Recipientには、動的なコンテンツ >「現在のアイテム」を入力します。

Apply to eachで複数人にチャットを送信

こうすることで、メールアドレスの数に応じてループ回数が決定され、複数のチャットを送信することができます。
(下の画像では2つのメールアドレスが含まれていたため、ループが2回回って2通のチャットを送信できました)

フロー実行成功

まとめ

Power Automateで複数人にTeamsチャットを送ろうとした際に表示される「Graph で電子メールまたはUPN~が含まれるユーザー詳細が見つかりませんでした」エラーを回避する方法をお伝えしました。

Outlookアクションの動きと異なるため戸惑うかと思いますが、Apply to Eachを使うことで複数人同時にチャットを送ることができます。エラーが出てしまった場合はぜひお試しください。

スポンサーリンク
Hiromaru

普段からPower Platform・SharePointの技術を広めています!
デザインに力を入れて、見やすい・分かりやすい記事を投稿していきます

シェアする
タイトルとURLをコピーしました