Microsoft Formsからファイルを送信し、
SharePointのリストにファイルを添付するAutomateのテンプレートがなかったため作成します。
想定する業務フローとしてFormsから経費の申請を行い、
経費申請の内容と領収書画像などがSharePointリストに保存されることなどです。
大きな流れ
- (Forms) 新しい応答が送信されるとき
- (Forms) 応答の詳細を取得する
- (SharePoint) 項目の作成。※リストに追加
3. テスト JSON情報を調査 - (JSON) JSONの解析
- (SharePoint) パスによるファイルコンテンツの取得
- (SharePoint) 添付ファイルの追加
コツは、
4で取得したJSONのname属性からファイル名を取得し、
5でファイルコンテンツ(ファイルそのもの)を取得するところです。
調べた限りだとテンプレートもなさそうでした。※2022年2月現在
前提条件
利用環境は以下のようになります。
- Microsoft Forms(Forms グループフォーム)
- チームで作成する場合は、グループのFormsで作成しましょう。
- OneDrive for Business (SharePointドキュメント)
- Formsを個人で作るとOneDrive、グループで作るとSharePointドキュメントに添付ファイルが送信されます。
- SharePointリスト
今回はグループのFormsを例に説明します。
フロー作成(1~6)
1. (Forms) 新しい応答が送信されるとき(トリガー)
事前に取得していたフォームIDを選択するかカスタム値から入力します。
※フォームIDは、URLのid=
のあとに続く箇所です。
2. (Forms) 応答の詳細を取得する
フォームID:選択か入力
応答ID: (Forms)応答ID
3. (SharePoint) 項目の作成。※リストに追加
- サイトのアドレス: サイトURL
- リスト名:リスト名
- Title: (Forms)の任意の動的コンテンツ
- その他(※画像の例では
金額
): (Forms)の任意の動的コンテンツ
※TitleはSharePointリストのデフォルトの列名です。
赤字の箇所はFormsからの任意の動的コンテンツを入れましょう。
テスト (JSON) JSONの解析
ファイルのJSON形式を知るためのテストです。
(JSON)JSONの解析
を作成しましょう。
- コンテンツ: Formsの添付ファイル(動的コンテンツ)
- スキーマ:
""
などと入力。一旦テスト
その後、Formsからテストで投稿することでJSON情報が確認可能です。
以下のスクショは実行履歴
から確認できる添付ファイルのJSON情報です。
後ほど使うため赤線部分をコピーしておきましょう。
4. (JSON) JSONの解析
JSON情報がわかったため、その情報を入力します。
- コンテンツ: Formsの添付ファイル(動的コンテンツ)
- スキーマ:
サンプルから生成
をクリックして先程のJSON情報をペースト
5. (SharePoint) パスによるファイルコンテンツの取得
解析したJSONの情報からファイルそのものを取得します。
SharePointのパスによるファイルコンテンツの取得
を次のアクションとして指定すると、
自動的にApply to Each(配列の繰り返し)ができるようです。
- 以降の手順から出力を選択: (JSON)本文
- (SharePoint) パスによるファイルコンテンツの取得
- サイトのアドレス: SharePointドキュメントURL
- ファイルパス:
/Shared Documents/アプリ/Microsoft Forms/**任意のフォーム名**/質問/**(JSON)name**
ファイルパスは言語環境などによって変わるかと思います。
6. (SharePoint) 添付ファイルの追加
最後です。
3で作成したリスト行に、取得したファイルを添付します。
- 以前の手順から出力を選択: (JSON) 本文
- サイトのアドレス: SharePointサイトのURL
- リスト名: リスト名
- ID: (SharePoint) ID
- ファイル名: (JSON) name
- ファイルコンテンツ: (SharePoint) 本文
完了!!
Formsからファイルを投稿すると、
リストが作成されファイルも添付されます。
まとめ
JSONとファイルの取り扱いが少し面倒ですが、慣れが必要かもしれません。
しかしPowerAutomateの想定する利用者であるバックオフィスの非システム部門の方に
JSONスキーマを理解してもらうのは少し無理があります。
もう少し簡単になることを祈ります。
※追記
参考にしたYoutube動画
Save Microsoft Forms Attachments to SharePoint with Power Automate