SharePoint リストに投稿された内容を添付ファイル付きで Teams に投稿する Power Automate フローの作成
SharePoint リストに投稿されたニュース等の情報を Teams にも投稿し読めるようにします。その際添付ファイルがあった場合に Teams の投稿にも添付ファイルをリンクで開けるように URL を添付できるよう工夫してみました。
フローの全体図
今回は検証用にフローを作成しているので最低限のフローとなっています。
実装
まずは SharePoint リストに項目が作成されたときをトリガーとして設定しています。
次に添付ファイルがある場合、リンクを作成して保存ておくための変数を用意しておきます。
添付ファイルがない場合、リンクが不要となるので条件フローを利用して添付ファイルの有無を判定しています。
「項目が作成されたとき」で取得した「添付ファイルあり」を条件として「次の値に等しい」で「true」としています。
まずは添付ファイルがない場合の「いいえ」側のフローを設定します。
「チャネル内のメッセージで応答します」フローを利用し、「Flow bot」で投稿していますが、メンションを行う場合には「User」で設定しましょう。
投稿する内容は「本文」と今回は「登録者 DisplayName」を設定し、SharePoint リストを登録したメンバーを表示するようにしてみました。
次に添付ファイルがある場合の「はい」側のフローを設定します。
まずは「添付ファイルの取得」フローを利用して添付ファイルの情報を取得します。複数のファイルが添付されている可能性もあるので、この情報を元に「Apply to each」フローを利用します。
「以前の手順から出力を選択」には直前で取得した「添付ファイルの取得」から「本文」を設定します。先に作っておいた「Link」変数を「文字列変数に追加」フローを利用し値には html のリンク形式で文字列として追加していきます。
< href="[添付ファイルの取得から添付ファイルへのリンクを指定]">[添付ファイルの取得から名前を指定]</a><br>
最後に「チャネル内のメッセージで応答します」フローにて分岐の「いいえ」側の設定とほぼ同じですが、本文に「Link」変数を追加する形で登録します。
実際の投稿内容
実際に SharePoint リストに投稿すると以下のように Teams にも投稿されます。本文に<hr>
を入れてみる等工夫をするとより見やすくなると思います。
※ 画像は<br>
を入れる前のテストなのでファイル名が繋がっています。
まとめ
SharePoint リストに投稿された内容をメールにて配信する方法を取っていましたが、メールは外部からの重要な情報に集約するため内部の連絡は Teams に集約することとしたので、Teams でも投稿内容が分かるようにするためのフローを検討しました。
添付ファイルを Teams 側にコピーするような手法も見られましたが、複数のファイルが点在するのはよろしくないためリンクを表示して SharePoint リストの添付ファイルを直接開く方法としています。
実際には Teams 上でリンクをクリックするとブラウザが開いて SharePoint のアイテムを表示しようとしますので、ブラウザでサインインしている必要があることを注意してください。