【Power Automate】を使用して、SharePointリストにアイテムが追加された時にMicrosoft Teamsへ自動投稿をする

ICT

前回は、「Power Automateを使用して、Microsoft Teamsへ自動投稿をする」という処理のフローを作成しました。

【Power Automate】を使用して、Microsoft Teamsへ自動投稿をする | Amuse Tech Blog (amuse-club.jp)

今回は、「SharePointリストにアイテムを追加した時に、Teamsに通知をする」というフローを作成したいと思います。

SharePointリストの準備

SharePointリストは上のようなサンプルリストを用意しました。

サイト名は「テスト」で、リスト名は「プロジェクト」です。

「プロジェクトコード」と「プロジェクト名」という項目があります。

一つだけサンプルデータを入力しておきました。

PowerAutomateによるフローの作成

SharePointリスト画面上部のメニューより「自動化」-「PowerAutomate」-「フローの作成」をクリックします。

 

5つほどサンプルフローが提示されましたが、今回想定している「SharePointにアイテムを追加された時に、Teamsに通知」というものではありません。

「詳細の表示」をクリックします。

 

さらに数件サンプルフローが表示されましたが、求めるものではないので、「その他のテンプレートを表示」をクリックします。

 

PowerAutomateの画面が開き、テンプレートを検索できる画面になります。

探してみたところ該当するテンプレートが見つかりませんでした。

よって、今回は類似するテンプレートを変更して作成しようと思います。

求める処理に近いと思われる「新しいSharePointリストアイテムが追加されたらカスタマイズされたメールを送信する」を使用します。

このフローで使用する接続先を選択します。

このフローでは、Office365ユーザー、Outlook、SharePointに接続するようです。

選択後、「続行」をクリックします。

 

SharePointサイトのアドレスとリスト名を指定します。

サイトのアドレスは「テスト」のもの、リスト名は「プロジェクト」を指定します。

これだけで、「新しいSharePointリストアイテムが追加されたらカスタマイズされたメールを送信する」というフローが完成してしまいました。

実際にどのような処理が作成されたのか見てみようと思います。

上部にある「編集」をクリックします。

 

編集をクリック後、各処理をクリックして中身が見える状態にしたものです。

一番上の「When a new item is created」は、シェアポイントリストを指定して、そのリストにアイテムが新規作成された際にこのフローが起動することを示しています。いわゆるトリガーの設定となります。

次の「Get my profile(V2)」は、Office365のユーザー情報を取得しています。そのユーザー情報は、続くメール送信時に使用します。

最後の「Send Email」は文字通りメールを送信するフローとなっています。メール本文や宛先に「Get my profile(V2)」で取得したOffice365のユーザー情報をしているほか、どのリストにデータが追加されたかなど「When a new item is created」で取得したSharePointリストの情報も使用しています。

テスト実行

元々作成しようとしていた処理とは異なりますが、まずはこのフローが実行できるかを確認してみようと思います。

SharePointリストの画面に戻り、リストにアイテムを追加してみます。

上部「+新規」をクリック。

2件目のサンプルデータを入力し、保存します。

保存は成功しましたが、表面的には何も起こっていません。

しかし、裏側では先ほど作成したフローが動いているはずです。

 

少しすると、メールを着信しました。

内容は、先ほど作成したフローで設定した通りの文面です。

フローの実行結果確認

メールが想定通り着信しましたので、フローがうまくいっていることはわかりますが、確認してみます。

PowerAutomateの画面で、先ほど作成したフローをクリックします。

すると詳細画面が開きます。

下の方に、「28日間の実行履歴」とあり、直近の実行履歴を見ることができます。

先ほど実行した結果が表示されており、「成功」となっていることが確認できます。

フローのカスタマイズ

フローが成功したのを確認できましたので、元々作成しようとしていた「SharePointリストにアイテムを追加した時に、Teamsに通知をする」というフローにカスタマイズしようと思います。

先ほど作成したフローの画面で、上部の「編集」をクリック。

作成したフローのうち、不要なものを削除します。

まずは、メール送信のフローを削除します。

「・・・」をクリックして、「削除」を押してこのフローを削除します。

アラートが出ますが、OKをクリックします。

同じく「Get my profile(V2)」も使用しませんので削除します。

 

削除すると、「When a new item is created」のみとなります。

シェアポイントリストを指定して、そのリストにアイテムが新規作成された際にこのフローが起動するというトリガーのみになります。

ここに新しいフローを追加します。

 

その前に、フロー名を適するものに変更します。

フロー名をクリックすると、変更が可能です。

今回の処理である「プロジェクトを追加した時、Teamsに通知する」というフロー名に変更しました。

 

フローを追加します。

「+新しいステップ」をクリックします。

 

追加する処理を選択します。

今回は「Teamsに通知する」フローを作成したいので、すべてから「Microsoft Teams」を選択します。

 

Teamsのアクション一覧が表示されます。

その中から「メッセージを投稿する(V3)(プレビュー)」を選択します。

 

フローの詳細を設定します。

チーム名は「テスト」、チャンネルは「General」(Teamsでは一般と表示されるものです)を指定します。

続いてメッセージ内容を設定します。

新しく登録するリストアイテムは、毎回プロジェクトコードとプロジェクト名が異なります。

どのプロジェクトが追加されたのかを通知するためには、メッセージ内容にプロジェクトコードとプロジェクト名を入れる必要があります。

そのような場合は、「動的なコンテンツの追加」をクリックし、使用できるコンテンツを取得します。

想定していた「プロジェクト名」と「プロジェクトコード」がありました。

これは、一つ前のSharePointのフローから取得できる、”動的なコンテンツ”となります。

 

プロジェクトコードとプロジェクト名を、メッセージ内に指定しました。

これにより、メッセージ内容が動的に変化するというわけです。

 

最終的には上のようなフローとなりました。

完成したので、「保存」ボタンをクリックします。

また、右上の「フローチェッカー」を実行し、エラーがないかを調べます。

 

エラー及び警告がないようなので、問題ないと思います。

←矢印をクリックし、編集を終了します。

接続先の修正

カスタマイズ後のフローの詳細画面は上記の通りです。

接続の部分に、OutlookやOffice365ユーザーが残っています。

これはカスタマイズ前のものが残っているもので、不要なので削除します。

接続部分の「編集」をクリックします。

使用中の接続と、使用していない接続に分かれて表示されています。

使用していない接続は「×」をクリックして削除します。

必要な接続のみ残りました。

フローの実行

それでは早速フローを実行してい見ようと思います。

SharePointリストに、三つ目のテストデータを登録します。

PowerAutomateのフロー詳細画面を見ると、成功していることが確認できました。

Teamsを見ると、設定した通りプロジェクトコードとプロジェクト名が記載されたメッセージが通知されていました。

実行内容の確認

今回は何事もなく成功しましたが、失敗してしまうこともあります。

そのような場合は、実行内容を確認する必要があります。

PowerAutomateのフロー詳細画面の実行履歴をクリックします。

実行履歴の詳細を見ることができます。

フローが失敗した場合、どの処理でエラーがあったのかを確認することができます。

また、フロー部分を広げることで、どのような入力・出力があったかなども確認できます。

スマートフォンアプリによる実行確認

処理によっては、夜中に実行したいものもあるかもしれません。

そのような場合には、スマートフォンアプリから実行・処理結果確認が可能です。

Google PlayまたはApp Storeから「Flow」というMicrosoftのアプリをインストールします。

ログインすると、処理結果を確認することができます。

今回は処理結果を見るだけですが、「ボタン」をトリガーとすることでスマートフォンアプリからのフロー実行も可能です。

これは、クラウドサービスのメリットといえるでしょう。

 

このように、全くコードを書かずにフローを作成し、作業を自動化できるという点が「PowerAutomate」のメリットです。エンジニアだけではなく一般ユーザー自らが自分の作業を自動化し、効率化をはかることができるのです。

 

コメント

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