【Power Automate】Formsに回答があったらメールを送信する
2022-1-21 | Power Automate
M365のPower Automateを使って、Formsに回答があったらメールを送信したい!
Power Automateシリーズ(?)第3段です。
概要
任意のFormsで回答が送信された際にメールを送信されるようにしたい。
OneDrive上のFormsであれば、Formsの設定で「各回答の通知をメールで受け取る」を設定してれば、メール送信にPower Automateは必要ないのだが、SharePointのメディアライブラリにあるFormsだとこの設定が無視される(私の環境のせいかもですが)ので、Power Automateを使ってメール送信する。
仕様書
- 任意のフォームに回答があったら、設定したメールアドレス宛を送信する。
手順書
フォームの準備
- Formsでフォームを作る。
- Formsの編集画面のURLにあるFormIdを控える。下記のxの部分がFromIdになる。(
=
から&
の間の文字列)
https://forms.office.com/Pages/DesignPage.aspx#FormId=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&FlexPane=Settings
Power Automate にてフロー作成
- Power Automateにアクセスして「マイフロー」 -> 「新しいフロー」 -> 「自動化したクラウド フロー」の順にクリックする。
- 「フロー名」は任意の名前、「フローのトリガーを選択してください」には「Microsoft Forms」の「新しい応答が送信されるとき」を設定する。
- 「フローの編集」へ推移するので、「新しい応答が送信されるとき」の「フォームID」の項目に前節で控えた「FormId」を「カスタム値の入力」から入力する。
- 「新しいステップ」から「Microsoft Forms」の「応答の詳細を取得する」を追加する。
「フォームID」の項目には先程と同じ「FormId」を「カスタム値の入力」から入力する。
「応答ID」は「動的なコンテンツ」にある「応答ID」を選択する。 - 「新しいステップ」から「メールの送信(V2)」を追加する。
「宛先」にはメールを送信したいメールアドレスを入力する。
「件名」「本文」にも適宜入力する。
それぞれの項目には「動的なコンテンツの追加」からフォームで設定した設問の回答や回答者のメールアドレスを使用できる。 - 画面の右上の「保存」をクリックしてフローを保存する。
テスト
- フォームに回答してみてメールが送信されるかテストする。
まとめ
Formsの設定の「各回答の通知をメールで受け取る」がSharePointで機能すれば、こんなフロー作らなくていいんですけどね…。