前回は、「Power Automateを使用して、Microsoft Teamsへ自動投稿をする」という処理のフローを作成しました。
【Power Automate】を使用して、Microsoft Teamsへ自動投稿をする | Amuse Tech Blog (amuse-club.jp)
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のアプリをインストールします。
ログインすると、処理結果を確認することができます。
今回は処理結果を見るだけですが、「ボタン」をトリガーとすることでスマートフォンアプリからのフロー実行も可能です。
これは、クラウドサービスのメリットといえるでしょう。