【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で機能すれば、こんなフロー作らなくていいんですけどね…。