どうもこんにちは。渡邊です。
突然ですが、社内でアンケートを取りたいとき、みなさんはどうされてますか?
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)
流れは以下の通りです。
また、作成する Power Automate フローの全体観は以下の通りです。
アンケートの回答履歴の記録
リマインド通知の送信
それでは、順番に説明していきます。
まずは、普通に Forms でアンケートを作成します。
今回はテストなのでシンプルな内容にしています。
また今回は回答者の情報を把握するため、「自分の組織内のユーザーのみが回答可能」としています。
OneDrive や SharePoint のドキュメントライブラリにアンケートの対象者のリストを Excel で作成します。
このとき、リストはテーブルにしておく必要があります。
今回は、OneDrive に Excel ファイルを作成しました。
Excel ファイルには、User, DisplayName, Status, Remind という名前の列を設定しました。
また、Excel の表をテーブルにするには、対象範囲を選択して「挿入」タブから「テーブル」を選択します。
いよいよ、Power Automate でフローを作成します。
今回作成するフローはアンケートの回答履歴の記録とリマインド通知のため 2つのフローを作成します。
まず、アンケートの回答履歴の記録です。
このフローでは、対象のアンケートへの回答があったら、Excel のリストの対象者の項目に「回答済み」と記録することにします。
このフローを利用して、回答・未回答が一覧で確認できるようにします。
それでは作り方です。
まずは、インスタント フローを作成します。
「スキップ」をクリックして次の画面に進みます。
検索ボックスで「Forms」を検索して、表示された Forms コネクターをクリックします。
トリガーとして「新しい応答が送信されたとき」をクリックします。
フォーム ID のドロップダウンメニューから対象のアンケートを選択します。
続いて、Forms の応答内容を取得するアクションを設定します。
アクションの検索ボックスで「Forms」を検索して、表示された Forms コネクターをクリックします。
アクションとして、「応答の詳細を取得する」をクリックします。
フォーム ID は先ほど同様にドロップダウンメニューから「アンケート」を選択します。
続いて応答 ID には動的なコンテンツから「応答通知の一覧 応答 ID」を選択します。
Forms の応答内容を Excel のリストに書き込むため、アクションの検索ボックスで「Excel」を検索し、Excel Online (Business) コネクターをクリックします。
Excel Online (Business) コネクターでは、アクションとして「行の更新」を選択します。
「行の更新」アクションでは、Forms の応答内容を書き込む Excel ファイルの保存場所を指定します。
Excel のリストには、Forms の回答者の行に「回答済み」という文字をセットしたいので、キー列を「User」とし、キー値には動的なコンテンツから「Responders Email」をセットします。そして、Status の値を「回答済み」にします。
これで、Forms に応答したユーザーのメールアドレスを Excel ファイルから探し出して、対象のユーザー行の Status 列に「回答済み」を設定することができます。
ここまでできれば、保存してアンケートの回答履歴の記録フローの作成は終わりです。
保存する際にわかりやすい名前を付けるのを忘れないようにしてください。
SharePoint 上で作成可能な簡単ワークフロー「Flow」詳細はこちら
無料ホワイトペーパーダウンロード(Microsoft 365 導入済の企業に最適な、ワークフロー自動化ツールとは?)
続いて、リマインドのフローです。
このフローでは、Excel のリストからアンケート対象者を抽出して、「回答済み」となっていなければ、リマインドのメールを送信するようにします。
また、このフローは管理者の任意のタイミングでリマインド通知が送れるようフローボタンを利用するようにします。
さらに、リマインド通知を送信した日時を Excel ファイルに記録するようにします。これで、いつリマインド通知を送ったかが一覧で確認できるようになります。
それでは、作成していきましょう。
適切なフロー名を設定し(今回は「リマインド通知」としました。)、「手動でフローをトリガーします」を選択して「作成」をクリックします。
「手動でフローをトリガーします」がトリガーにセットされます。
「新しいステップ」をクリックして、アクションの検索ボックスから「Excel」を検索し、Excel Online (Business) を選択します。
Excel ファイルからアンケートの回答状況を読み取りたいので、「表内に存在する行を一覧表示」を選択します。
対象の Excel ファイルの保存場所を指定します。
続いて、Excel ファイルの内容から Status に「回答済み」が記録されていないユーザーにリマインド通知を行いたいので、条件分岐を設定します。
「組み込み」から「制御」を選択肢「条件」のアクションを選択します。
「条件」には、左側の値に動的なコンテンツから「Status」を設定します。
この時、自動的に「Apply to each」が設定されます。これは、Excel ファイルのテーブルの先頭から末尾まで順番に読み込むことを意味します。
再び「条件」の設定に戻り、右側の値に「回答済み」の文字列を設定します。
これで条件分岐の設定ができました。
今回は「Status」が「回答済み」でない場合にリマインド通知を送りたいので、「いいえ」の場合にメール送信のアクションを設定します。
「いいえの場合」のアクションの検索ボックスで「Outlook」を検索して「Office 365 Outlook」を選択します。
Office 365 Outlook コネクターでは「メールの送信」アクションを選択します。
メールの送信アクションでは、宛先の箇所をクリックします。
右側の⇄をクリックし、詳細設定モードに切り替えます。
メールの宛先、件名、本文を以下のように設定します。この設定がリマインド通知メールの設定になります。
続いて、リマインド通知を送った日時を Excel ファイルに記録するようにします。
メール送信のアクションの下に Excel の「行の更新」アクションを設定します。
Excel ファイルの場所の情報とキーの情報を設定します。
「Remind」に動的なコンテンツの「手動でフローをトリガーします」から「タイムスタンプ」を設定します。
これで、リマインド通知のフローも完成です。
それでは、フローが出来上がったのでテストを行います。
まず、Excel ファイルの確認です。Status 列にも Remind 列にもデータは登録されていません。
それでは、アンケートに回答します。
すると、Excel のリストの自分の欄が「回答済み」となりました。
続いて、リマインド通知も試してみます。
リマインド通知のフローの画面を開いて「実行」をクリックします。
しばらくすると、フローは正常に終了しました。
結果を確認します。
Excel のリストの方には、回答済みでないユーザーの Remind の列に日時が記録されています。
そして、アンケートに未回答のユーザーのメールボックスにはリマインド通知が届いています。
いかがだったでしょうか?意外と簡単にできそうな印象だったかと思います。
実際にこのブログ記事を書くために作った 2 つのフローは 30 分ほどで作成できました。
おそらく、アンケートの回答者の一覧を手作業で作成する時間とほぼ変わらないくらいの時間だと思います。その時間でリマインド通知を何度も送ることのできる自動処理を作成できてしまいます。さらに、対象が多ければ多いほど威力を発揮します。
また、同じようなアンケートであれば、同じロジックを何度も使いまわすことができます。この辺りが Power Automate の便利なポイントです。
この便利さを体感してみたい方は是非お試しくださいませ。
関連ページ
SharePoint 上で作成可能な簡単ワークフロー「Flow」詳細 |