今回は Microsoft Forms を使って収集した回答を、Power Automate を活用して SharePointリストに自動登録 する方法を丁寧に解説します。
目次
💡この方法が必要な理由
SharePointリストには「フォーム機能」がありますが、組織内ユーザーしか利用できない 制限があります。
一方、Microsoft Formsは外部ユーザーにも回答してもらえるため、Power Automateで連携させれば、組織外ユーザーの回答もSharePointリストに登録できるようになります。
📝事前に準備しておくもの
- Microsoft Formsで作成したフォーム
- 登録先のSharePointリスト
- Power Automate(Microsoft 365に含まれています)
📋SharePointリストとFormsの構成例
SharePointリストの項目:
| 項目名 | 種類 | 説明 |
|---|---|---|
| 興味のあるテーマ | 複数選択(選択肢列) | フォームで複数選べるように |
| 解説してほしいこと | 1行テキスト | 自由記述欄 |
| お名前 | 1行テキスト | 記名欄 |
| 評価 | 単一選択(選択肢列) | 5段階評価など |
この構成に合わせて、Formsでも同様の質問項目を設定しておきます。
⚙️Power Automateでフローを作成する手順
① トリガーを設定:「Formsの新しい応答が送信されたとき」
- Power Automateで「自動化されたクラウドフロー」を新規作成
- トリガーに「Formsの新しい応答が送信されたとき」を設定
- 使用するフォームを選択
② 応答の詳細を取得
- アクション「Forms ➝ 応答の詳細を取得」を追加
- 同じフォームIDと「応答ID」を設定
③ 複数選択に対応するためのJSON解析(必要な場合)
- アクション「データ操作 ➝ JSONの解析」を追加
- コンテンツに「応答の詳細」の「興味のあるテーマ」を指定
- スキーマをサンプル値から自動生成
(例:["Power Apps","Power Automate"])
④ 選択アクションで配列を整形
- アクション「データ操作 ➝ 選択」を追加
- From:JSONの解析の「body」
- マップ ➝ キー:
Value、値:item()またはitem()['value']
⑤ SharePointリストに登録
- アクション「SharePoint ➝ 項目の作成」を追加
- サイトアドレスとリスト名を指定
- 各項目にデータをマッピング
| SharePoint項目 | 入力内容 |
|---|---|
| 興味のあるテーマ | 選択アクションの出力(配列入力に変更) |
| 今後解説してほしいこと | Formsの応答詳細から対応する値 |
| お名前 | 同上 |
| 評価 | 「カスタム値を入力」でFormsの値を指定 |
✅フローの完成・テスト
- フローを保存してテスト実行
- Formsで回答を送信して、SharePointリストに正しく登録されるか確認
📦応用:Power Appsとの連携
今回のSharePointリストをデータソースにすれば、Power Appsでの表示や編集も可能です。
外部から収集 ➝ 内部で確認・活用 という流れがスムーズに!
❓よくある質問(FAQ)
Q1. 外部ユーザーにファイルをアップロードさせたいのですが?
A: できません。Formsのファイルアップロードは組織内ユーザー限定です。代替手段として、OneDriveや別のアップロード手段をご検討ください。
Q2. JSONの解析はなぜ必要なんですか?
A: フォームで「複数選択」を使用すると、データは配列形式で返ってきます。これをSharePointに適切に渡すために、解析+整形処理(選択アクション)が必要です。
Q3. SharePointの選択肢が登録されない場合は?
A: 配列入力が正しく設定されていない可能性があります。入力方式を「配列」に変更し、正しくマッピングしてください。
🧠おわりに
今回のフロー構成は少し複雑ですが、一度作ってしまえば繰り返し使える強力な仕組みになります。
- 組織外ユーザーの意見収集
- アンケート結果の集計
- 業務改善案の吸い上げ など
活用次第で業務効率が劇的にアップします。
ぜひチャレンジしてみてください!
