NTT WEST Engineers' Blog 開設にむけて投稿記事レビューのワークフローを爆速で構築した話③~Power AutomateによるMicrosoft Listsへの自動登録編~

はじめに

NTT西日本の服部です。本記事はNTT WEST Engineers' Blog 開設にむけて投稿記事レビューのワークフローを爆速で構築した話の第3回の記事となります。
第1回、第2回の記事も読んでいただけるとありがたいです。
第3回となる本記事ではMicrosoft Formsの回答送信を検知してMicrosoft Listsに登録するためのPower Automateついてご紹介します。
本記事は2025年9月時点の情報に基づきます。

第1回でご紹介したワークフローの全体像のうち、以下の図にあたる内容となります。


対象読者

本記事が想定する対象読者は以下の通りです。

  • 自動化に興味がある人
  • 繰り返しの定常的な作業に困っている人
  • Microsoft Forms/Microsoft Lists/Power Automateを使ってみたい人

背景

NTT WEST Engineers' Blog に向けて、ブログ記事のレビュープロセスを効率化したいという要望を受けて執筆者が検討・構築しました。
SaaSの新規サービスを導入する予算はありませんでしたが、幸い全社的にMicrosoft Forms、Microsoft Lists、Power Automateが利用できる環境だったため、これらを用いてブログ記事レビューのワークフローを構築しました。

前回の記事では投稿者がレビュー依頼をするための以下のフォームについてご紹介しました。 今回はこのフォームの回答内容をMicrosoft Listsに自動登録するためのPower Automateについてご紹介します。

Microsoft Listsに自動登録するためのPower Automate

Microsoft Formsの回答内容をMicrosoft Listsに自動登録するためにPower Automateで作成したフローは以下の通りです。

各ステップの内容についてご紹介します。

1.新しい応答が送信されるとき

トリガー(フローが実行される条件)として、特定のフォームに新しい応答が送信されるときを指定しています。
ドロップダウンで対象となるフォームを選択することができますが、出てこない場合はForm Idを直接指定することも可能です。
Form IdはフォームのURLから確認することが可能です。
フォームの編集画面から確認する場合は回答を収集をクリックするとURLを確認することが可能です。
URLを短縮のオプションを有効にしているとForm Idは記載されないため注意してください。
URLは以下のような形式で<Form Id>にあたる箇所にForm Idが記載されています。 https://forms.office.com/Pages/ResponsePage.aspx?id=<Form Id>

2.応答の詳細を取得する

具体的な回答内容を取得するために必要な処理です。
Form Idの指定方法は新しい応答が送信されるときと同じです。
Response Idは具体的にどの応答内容を取得するか指定します。
コンソールで候補が表示されるため、新しい応答が送信されるときのResponse Idを選択すると新しい応答の回答内容を取得することができます。

万が一候補が出てこない場合は以下の評価式を使うことで取得することも可能です。
triggerOutputs()?['body/resourceData/responseId']

3.項目の作成

ステップ2で回答内容を取得することができたため、その内容を基にMicrosoft Listsに新しいアイテムを追加します。

3-1.サイトのアドレス/リスト名

サイトのアドレスはアイテムを追加したいリストが作成されているSharepointサイトを選択します。
リスト名は上記で指定したサイトに作成されているリストが表示されます。

3-2.フォームの回答内容を利用する項目

以下のように入力候補としてトリガーに指定したフォームの質問文が出てくるため、対応する質問文が表示されている項目を選択することでその質問に対する回答内容を利用することが出来ます。

3-3.投稿者 Claims

投稿者 ClaimsにはResponders' Email(投稿者 Emailと表示されることもあります。)を指定します。
これはフォームの設定で名前を記録というオプションを有効にしていると利用でき、Entra IDに紐づいたメールアドレスを取得することが可能です。
Microsoft Formsの設定についての詳細は前回の記事を参照ください。

3-4.ステータスValue/レビュアーValue

列の種類が選択肢の場合は<列名>Valueと表示されます。 他のPower Automateで処理するために初期値としてステータスはレビュアーアサイン待ち、レビュアーは未設定としています。
詳細は次回ご紹介します。

4.チャットでメッセージを投稿する


この処理は必須ではありませんが、回答を受け付けて処理待ちであることを投稿者にMicrosoft Teamsのチャットで通知します。
投稿者:フローボット、投稿先:フローボットとチャットをするとすると、下図のようにWorkflowsという対象からMicrosoft Teamsのチャットが投稿者宛に届きます。
Recipientは宛先指定で今回はMicrosoft Formsの回答者(投稿者)とするため、Responders' Email(投稿者 Email)としています。


まとめ

今回はMicrosoft Formsの回答送信を検知してMicrosoft Listsに登録するためのPower Automateついてご紹介しました。 次回はレビュアーのアサイン依頼フローについてご紹介します。


執筆者

服部 真智(NTT西日本 ビジネス営業本部所属)
普段はAWS案件の提案、設計、構築等の支援を行っています。
自業務の効率化のためにPython,Power Automate,生成AI等を使って日々試行錯誤しています。
2025 Japan AWS Top Engineers (Services)


商標

Microsoft (Microsoft Entra 、 Microsoft Teams 、 Power Automate 、 Microsoft Lists 、 Microsoft Forms)及び関連する名称並びにそれぞれのロゴは、米国 Microsoft Corporation の米国およびその他の国における商標または登録商標です。

© NTT WEST, Inc.