FormsとPower Automateを使って問い合わせフォームを作る

はじめに

今回はMicrosoft FormsとPower Automate(旧:Microsoft Flow)で問い合わせフォームを作ってみました。
簡単に流れを書くと以下のようになります。
①Formsから問い合わせを送信
②Power AutomateでFormsの内容をメールとTeamsで通知を行う

Formsでフォームを作成する。

  1. まずはFormsでフォームを作ります。
    https://forms.office.com/
    通知する仕組みがメインなのでシンプルに作りました。

  2. 外部向け(リンクにアクセスできるすべての~)か組織内部向け(自分の所属組織内の~)かを設定し、リンクをコピーしておきます。実際に問い合わせを送信する際に利用します。

Teamsでチームとチャネルを用意する。

通知する先のチームを用意します。既存のものがあればそちらでも構いません。
以下リンクを参考にTeamsクライアントから作成します。
初めからチームを作成する – Office サポート – Microsoft Support

チームを作成すると既定で「一般」チャネルが作成されるので特に問題なければそちらを利用します。
画像では「テスト」チャネルを作成しています。

Power Automateでフローを作成する。

  1. 以下リンクにアクセスし、Power Automateのフローを作成します。
    https://japan.flow.microsoft.com/ja-jp/
  2. 「マイフロー」→「+新規」→「テンプレートから作成」
  3. テンプレート一覧から「新しい回答が送信されたときにチームに通知する」を選択します。
     指定したフォームに回答があった際にTeamsへ自動的に通知を行うテンプレートです。
     今回はこちらをベースにメール通知を行う処理を追加していきます。

     クリックしたら画面が切り替わるので「続行」をクリックして編集画面に移ります。
  4. 編集画面が表示されたらまずは一番上の「When a new response is submitted」で作成したフォームを指定します。こちらはフォームに入力をして送信が行われたときこのフローが動作することを示しています。

  5. 次に「Get response details」で入力された情報をどのフォームから取得するかを選択します。

    • フォームIDにて前の項目で選んだものと同じフォームを指定します。
  6. 次に「Post Message」からTeamsで通知するための設定をします。
    • チーム欄で通知先にしたいチームを指定します。
    • チャネル欄で通知メッセージを投稿するチャネルを指定します。
    • メッセージ欄で通知内容を指定します。「動的なコンテンツ」を選ぶことでフォームの各項目を直接本文に入力することができます。
  7. 次にメール通知の処理を追加します。アクションの追加から「メールの送信(Office365 Outlook)」を探して追加します。


– 宛先欄でメール通知の送信先アドレスを指定します。ここでは自身のメールアドレスを指定しています。
– 件名欄でメールの件名を指定します。問い合わせを受信したことがわかるような懸命にします。
– 本文欄でメール本文を指定します。ここでは問い合わせフォームで入力された内容を指定します。
– 指定が終わったら保存ボタンをクリックしてフローを保存します。

動作確認

  1. 保存が完了したら実行可能な状態になるので最初に保存したフォームのURLから実際に問い合わせの投稿を行います。
    以下リンクから対象のフォームを開いて「共有」ボタンからURLを取得可能です。
    https://forms.office.com/

    • 実際に入力してみます。
    • 以下のように通知が来ます。
      Teams

      メール

まとめ

以上がざっくりですがFormsとPower Automateを組み合わせて問い合わせフォームを作成する流れになります。
Power Automateを利用することでコードを書かずともFormsやOutlook、Teams以外にも様々なサービス間で簡単にデータをやり取りすることができます。
テンプレートが用意されているため、不慣れな方でも気軽に触ることができることも強みだと思います。
自動化の仕組みづくりとなるとハードルが高く聞こえてしまいますが、用意されているテンプレートをベースとして編集することもそのまま使うことも可能なのでまずはテンプレートの一覧からどのような使い方ができるかをイメージしてみることをお勧めします。