【Power Automate】Formsに回答があったらメールを送信する

ネコニウム研究所

PCを利用したモノづくりに関連する情報を掲載するブログ

【Power Automate】Formsに回答があったらメールを送信する

2022-1-21 |

M365のPower Automateを使って、Formsに回答があったらメールを送信したい!

Power Automateシリーズ(?)第3段です。

概要

任意のFormsで回答が送信された際にメールを送信されるようにしたい。

OneDrive上のFormsであれば、Formsの設定で「各回答の通知をメールで受け取る」を設定してれば、メール送信にPower Automateは必要ないのだが、SharePointのメディアライブラリにあるFormsだとこの設定が無視される(私の環境のせいかもですが)ので、Power Automateを使ってメール送信する。

仕様書

  • 任意のフォームに回答があったら、設定したメールアドレス宛を送信する。

手順書

フォームの準備

  1. Formsでフォームを作る。
  2. Formsの編集画面のURLにあるFormIdを控える。下記のxの部分がFromIdになる。(=から&の間の文字列)
    https://forms.office.com/Pages/DesignPage.aspx#FormId=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&FlexPane=Settings

Power Automate にてフロー作成

  1. Power Automateにアクセスして「マイフロー」 -> 「新しいフロー」 -> 「自動化したクラウド フロー」の順にクリックする。
  2. 「フロー名」は任意の名前、「フローのトリガーを選択してください」には「Microsoft Forms」の「新しい応答が送信されるとき」を設定する。
  3. 「フローの編集」へ推移するので、「新しい応答が送信されるとき」の「フォームID」の項目に前節で控えた「FormId」を「カスタム値の入力」から入力する。
  4. 「新しいステップ」から「Microsoft Forms」の「応答の詳細を取得する」を追加する。
    「フォームID」の項目には先程と同じ「FormId」を「カスタム値の入力」から入力する。
    「応答ID」は「動的なコンテンツ」にある「応答ID」を選択する。
  5. 「新しいステップ」から「メールの送信(V2)」を追加する。
    「宛先」にはメールを送信したいメールアドレスを入力する。
    「件名」「本文」にも適宜入力する。
    それぞれの項目には「動的なコンテンツの追加」からフォームで設定した設問の回答や回答者のメールアドレスを使用できる。
  6. 画面の右上の「保存」をクリックしてフローを保存する。

テスト

  1. フォームに回答してみてメールが送信されるかテストする。

まとめ

Formsの設定の「各回答の通知をメールで受け取る」がSharePointで機能すれば、こんなフロー作らなくていいんですけどね…。