クラウドエンジニアブログ

Power Automate で Forms アンケートのリマインドを(半)自動化

渡邊 正和

渡邊 正和

どうもこんにちは。渡邊です。

突然ですが、社内でアンケートを取りたいとき、みなさんはどうされてますか?
Office 365 の機能の Forms を活用されている方もいらっしゃると思います。
では、全員に回答してもらいたいアンケートで未回答の人にリマインドしたいというケースではどんな対応をされるでしょうか?

アンケートの対象者のリストから Forms の回答者を除外してリマインドの通知メールを送るといったことをされますか?
アンケートの対象者が多いと、リストアップだけでも結構大変な作業になると予想されます。

そこで今回は、Power Automate (旧称:Microsoft Flow)を利用して、少しスマートに対象者だけにリマインド通知できるようにしてみたいと思います。
(Power Automate は Office 365 のライセンスに含まれています。
詳しい情報は以下のサイトをご参照ください。
https://docs.microsoft.com/ja-jp/power-platform/admin/pricing-billing-skus#powerappspower-automate-for-office-365

流れは以下の通りです。

  1. アンケートの作成
  2. 回答履歴を記録する Excel テーブルを作成
  3. Power Automate でフローを作成
  4. 動作確認

また、作成する Power Automate フローの全体観は以下の通りです。

アンケートの回答履歴の記録

回答履歴



リマインド通知の送信

リマインド通知



それでは、順番に説明していきます。

1.アンケートの作成


まずは、普通に Forms でアンケートを作成します。

アンケートの作成1



今回はテストなのでシンプルな内容にしています。

また今回は回答者の情報を把握するため、「自分の組織内のユーザーのみが回答可能」としています。

アンケートの作成2



2.回答履歴を記録する Excel テーブルを作成


OneDrive や SharePoint のドキュメントライブラリにアンケートの対象者のリストを Excel で作成します。
このとき、リストはテーブルにしておく必要があります。

今回は、OneDrive に Excel ファイルを作成しました。

回答履歴を記録1



Excel ファイルには、User, DisplayName, Status, Remind という名前の列を設定しました。

回答履歴を記録2


各列は以下の用途で利用します。
  • User:ユーザーのメールアドレスを予め設定しておきます。
  • DisplayName:ユーザーの表示名を予め設定しておきます。
  • Status:対象ユーザーがアンケートに回答した際に「回答済み」という文字列が格納されます。
  • Remind:最後にリマインド通知を送信した日時が格納されます。

また、Excel の表をテーブルにするには、対象範囲を選択して「挿入」タブから「テーブル」を選択します。

3.Power Automate でフローを作成


いよいよ、Power Automate でフローを作成します。
今回作成するフローはアンケートの回答履歴の記録とリマインド通知のため 2つのフローを作成します。

まず、アンケートの回答履歴の記録です。

このフローでは、対象のアンケートへの回答があったら、Excel のリストの対象者の項目に「回答済み」と記録することにします。
このフローを利用して、回答・未回答が一覧で確認できるようにします。

それでは作り方です。
まずは、インスタント フローを作成します。

「スキップ」をクリックして次の画面に進みます。

フローを作成1



検索ボックスで「Forms」を検索して、表示された Forms コネクターをクリックします。

フローを作成2



トリガーとして「新しい応答が送信されたとき」をクリックします。

フローを作成3



フォーム ID のドロップダウンメニューから対象のアンケートを選択します。

フローを作成4



続いて、Forms の応答内容を取得するアクションを設定します。

アクションの検索ボックスで「Forms」を検索して、表示された Forms コネクターをクリックします。

フローを作成5



アクションとして、「応答の詳細を取得する」をクリックします。

フローを作成6



フォーム ID は先ほど同様にドロップダウンメニューから「アンケート」を選択します。

フローを作成7



続いて応答 ID には動的なコンテンツから「応答通知の一覧 応答 ID」を選択します。

フローを作成8



Forms の応答内容を Excel のリストに書き込むため、アクションの検索ボックスで「Excel」を検索し、Excel Online (Business) コネクターをクリックします。

フローを作成9



Excel Online (Business) コネクターでは、アクションとして「行の更新」を選択します。

フローを作成10



「行の更新」アクションでは、Forms の応答内容を書き込む Excel ファイルの保存場所を指定します。

フローを作成11



Excel のリストには、Forms の回答者の行に「回答済み」という文字をセットしたいので、キー列を「User」とし、キー値には動的なコンテンツから「Responders Email」をセットします。そして、Status の値を「回答済み」にします。
これで、Forms に応答したユーザーのメールアドレスを Excel ファイルから探し出して、対象のユーザー行の Status 列に「回答済み」を設定することができます。

フローを作成12



ここまでできれば、保存してアンケートの回答履歴の記録フローの作成は終わりです。
保存する際にわかりやすい名前を付けるのを忘れないようにしてください。


続いて、リマインドのフローです。

このフローでは、Excel のリストからアンケート対象者を抽出して、「回答済み」となっていなければ、リマインドのメールを送信するようにします。
また、このフローは管理者の任意のタイミングでリマインド通知が送れるようフローボタンを利用するようにします。
さらに、リマインド通知を送信した日時を Excel ファイルに記録するようにします。これで、いつリマインド通知を送ったかが一覧で確認できるようになります。

それでは、作成していきましょう。

適切なフロー名を設定し(今回は「リマインド通知」としました。)、「手動でフローをトリガーします」を選択して「作成」をクリックします。

フローを作成13



「手動でフローをトリガーします」がトリガーにセットされます。

フローを作成14



「新しいステップ」をクリックして、アクションの検索ボックスから「Excel」を検索し、Excel Online (Business) を選択します。

フローを作成15



Excel ファイルからアンケートの回答状況を読み取りたいので、「表内に存在する行を一覧表示」を選択します。

フローを作成16



対象の Excel ファイルの保存場所を指定します。

フローを作成17



続いて、Excel ファイルの内容から Status に「回答済み」が記録されていないユーザーにリマインド通知を行いたいので、条件分岐を設定します。

「組み込み」から「制御」を選択肢「条件」のアクションを選択します。

フローを作成18



フローを作成19



「条件」には、左側の値に動的なコンテンツから「Status」を設定します。

フローを作成20



この時、自動的に「Apply to each」が設定されます。これは、Excel ファイルのテーブルの先頭から末尾まで順番に読み込むことを意味します。

フローを作成21



再び「条件」の設定に戻り、右側の値に「回答済み」の文字列を設定します。

フローを作成22



これで条件分岐の設定ができました。

今回は「Status」が「回答済み」でない場合にリマインド通知を送りたいので、「いいえ」の場合にメール送信のアクションを設定します。

フローを作成23



「いいえの場合」のアクションの検索ボックスで「Outlook」を検索して「Office 365 Outlook」を選択します。

フローを作成24



Office 365 Outlook コネクターでは「メールの送信」アクションを選択します。

フローを作成25



メールの送信アクションでは、宛先の箇所をクリックします。

フローを作成26



右側の⇄をクリックし、詳細設定モードに切り替えます。

フローを作成27



メールの宛先、件名、本文を以下のように設定します。この設定がリマインド通知メールの設定になります。

フローを作成28



続いて、リマインド通知を送った日時を Excel ファイルに記録するようにします。

メール送信のアクションの下に Excel の「行の更新」アクションを設定します。

フローを作成29



Excel ファイルの場所の情報とキーの情報を設定します。

フローを作成30



「Remind」に動的なコンテンツの「手動でフローをトリガーします」から「タイムスタンプ」を設定します。

フローを作成31



これで、リマインド通知のフローも完成です。

4.動作確認


それでは、フローが出来上がったのでテストを行います。

まず、Excel ファイルの確認です。Status 列にも Remind 列にもデータは登録されていません。

動作確認1



それでは、アンケートに回答します。

動作確認2



動作確認3



すると、Excel のリストの自分の欄が「回答済み」となりました。

動作確認4



続いて、リマインド通知も試してみます。

リマインド通知のフローの画面を開いて「実行」をクリックします。

動作確認5



しばらくすると、フローは正常に終了しました。

動作確認6



結果を確認します。

Excel のリストの方には、回答済みでないユーザーの Remind の列に日時が記録されています。

動作確認7



そして、アンケートに未回答のユーザーのメールボックスにはリマインド通知が届いています。

動作確認8



まとめ


いかがだったでしょうか?意外と簡単にできそうな印象だったかと思います。
実際にこのブログ記事を書くために作った 2 つのフローは 30 分ほどで作成できました。
おそらく、アンケートの回答者の一覧を手作業で作成する時間とほぼ変わらないくらいの時間だと思います。その時間でリマインド通知を何度も送ることのできる自動処理を作成できてしまいます。さらに、対象が多ければ多いほど威力を発揮します。
また、同じようなアンケートであれば、同じロジックを何度も使いまわすことができます。この辺りが Power Automate の便利なポイントです。
この便利さを体感してみたい方は是非お試しくださいませ。

【総合】お問い合わせ

ソリューションに関する全般的なお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録