今回はFormsとPower Automateを使ってQA管理する仕組みを紹介します。仕事でたまに有償トレーニングを実施したりするのですが受講後のQA管理どうするよ?みたいな話が盛り上がり、それって半年ほど前に本番化したシステムの問い合わせ管理の仕組みが使えるじゃないかと思い至ったので書いてみました。
Formsは個人的に結構好きなアプリで、アンケートに限らず「不特定多数から受け取る定型的な情報」の管理の入り口に使えると思ってます。なので、不具合報告とか問い合わせとかにも活用できるわけです。
1. フォームを作成
問い合わせフォームを作ってみましょう。Office365のアプリランチャーからFormsを選択。

「新しいフォーム」をクリック。

作りました。とりあえずシンプルに件名、内容、あとスクショをアップできるようにします。
※Formsの作り方が分からない、という方はコチラをどうぞ。
Office365のForms機能でWildな意識調査アンケートを作成する。 | IT長のネタ帳 (d3654.be)

回答用のURLはこちらから取得。今回は組織内のユーザーに限定しましょう。というか、ファイルアップロードを設問に含めると組織外に公開できないようです。

2. Formsから投稿する準備
投稿用の別ユーザーです。

例えば、社内のとあるシステムにサインインしようとしたところサインインできなかった、、という事態が発生し、問い合わせをするという想定です。

件名、内容を入力して、スクショファイルをアップして、送信…を押す寸前で止めます。

3. Power Automateを作る
Formsで何か投稿されたら通知が欲しいので通知用のPower Automateを作ります。トリガーはFormsの「新しい応答が送信されたとき」です。

先に作成したFormsを指定します。

次のアクションで応答の詳細を取得。定石ですね。

とりあえず、メールで通知することにします。(後でTeamsにします。)保存します。

4. テスト実行
テスト実行します。

1回目は手動のみ。

テストが開始されました。Power Automateが待機しています。

回答用ユーザーで回答を送信します。

回答完了。

フローはうまく動いています。

メールも届いています。が、、スクショのリンクが呪文のような文字列になってます。(単なるJSONですが。)

5. 解析
上のメールで選択反転した部分がリンクのURLになっています。試しにコピーしてブラウザのURL欄に貼り付けるとアップされた画像が見えます。これ、どこにあるかというと、、ブラウザのURL欄がエンコードされているので見やすくなっててOneDriveっぽいことが分かります。

実際にFormsを作成したユーザーのOneDriveのこの場所に格納されています。

Formsの回答そのものはどこに格納されているのでしょう?Formsの回答ページからExcelで開くことができるのですが、ローカルPCにダウンロードされます。

ダウンロードしたExcelです。回答は見れるのですが、これではチームとして共有できないのが難点です。(いろいろ調べた限り、クラウド上でユーザーが触れる場所に置かれているように見えなかったのですが、、もしココだよ!とご存じの方がいらっしゃったら教えてください。)

6. Formsの投稿をチームに共有する
投稿の一覧データを直接見れないなら別の一覧にすればいいだろう、ということでオンライン上のExcelに一覧を作って転記することにします。

チームに共有するのでSharePointに一覧ファイルを作ります。

どうせならTeamsを作っておきましょう。というか、サポートチームならTeamsのチームを持ってるでしょう。このチームのファイル置き場がSharePointになっている、というイメージです。チャネルは問い合わせ用の専用チャネルを作りました。

Power Automateに転記用のステップを追加します。Excel Onlineコネクタから行追加アクションを指定して、、

転記先ファイルを指定して、、

転記項目をセットします。そしてテスト。

先ほどの投稿を指定してテスト実行。

成功しました。

7. URLの処理
スクショ列が相変わらず呪文ですね。。URLに加工してみましょう。

JSONの解析コネクタを使用してLinkに格納されているURLを抽出。

転記先のExcelの設定を少し変えます。スクショ列にJSON解析コネクタで加工したLinkを設定。

再度テスト時刻するとこうなります。URLになりました。(本当はエンコードとかちゃんとやった方がみやすいですが、、とりあえずこれで。)

8. Excelの活用
この方法でやると嬉しいのは、Excelに管理項目を色々と列追加できる点です。ステータスとか、担当者とか、バグ判定とか、いろいろ好きに追加できます。

そして、Excelなのでみんな大好きPivotで集計したりもできます。(今回はやりませんが、天気先がExcelである必要性はないので、本格的にやるならExcelの代わりにDataverseでテーブル定義して転記し、Power BIで集計するのが良いと思います。)

9. Teamsを使った共有
今時メールで通知ですか、、という声も聞こえてきそうなのでTeamsで通知に変更してみます。もちろんできます。

チームとチャネルを指定してメッセージを投稿するように指定します。(Formsで投稿された「件名」をTeamsの投稿の件名にセットしたほうがよかったですね。忘れてました。。)

こんな感じで投稿されます。(やはりURLは、エンコードしてハイパーリンクにしたほうが美しいですね。。)
Teamsに投稿すると、このようにレスをつけられるのが扱いやすいです。担当者のアサインとか、調査結果の中間報告とか。(フローボットではなく、フロー作成者で投稿したほうが良かったかも。)

あと、TeamsだとExcelをタブに埋め込むこともできて便利です。

こんな感じです。

Formsのオリジナルを確認できるよう、タブを追加することもできます。たまにPower Automateのクラウドフローが意識を失ってたりしますので、ソースを当たれるのは重要です。

こんな感じでTeams上で見れます。

8. SharePointのForms
組織で共有するなら最初からSharePointの「Excel用のForms」機能を使う手もあるのですが、、ちょっと使い勝手が悪いです。

試しに作ってみます。Forms自体は問題なく作れます。

が、、Power AutomateのFormsコネクタで回答を検知できないのです。(自分の調査不足かもしれないので、どなたか良い方法をご存じでしたら教えてください!)

あと、余談ですが、SharePointからForms作るとファイルのアップロードができませんでした…と思ったらできるようになってました。以前作ろうとしたときは出来なかったきがするのですが、、改善されたのか(あるいは自分の見間違いだったのか)。

半年くらい実際に運用してみて色々と不足点は出てきたりしますが、まあそれなりに機能しているのでいいんじゃないかな、と思ってます。ライセンスプランはあまり詳しくないですが、それほどお金もかからずに実現できると思います。ぜひご活用ください。