はじめに
「社内セミナーの申し込みフォームなどをFormsで作成し、回答者に添付ファイル付きのメールを送りたい。」
という相談がありました。
Outlookのメールの送信アクションは、デフォルトで1つのファイルしか添付できませんが、複数ファイルを送りたいときもあるかと思います。
今回は、Formsに回答した人に添付ファイル付きメールを送るフローの作り方を紹介します!
フロー全体図
用意するもの
Formsアンケート
回答者にメールを送付させたいFormsアンケートをご準備ください。
今回はサンプルとしてテンプレートのFormsアンケートを用意します。
SharePointドキュメントライブラリ
ご自身のOneDrive Businessのフォルダを指定することもできますが、今回はSharePointドキュメントライブラリにします。
1.任意のSharePointサイトより「サイトコンテンツ」→左上の「+新規」→「ドキュメントライブラリ」をクリックします。
2.「空のライブラリ」をクリックします。
3.ドキュメントライブラリの名前を決めて「作成」をクリックします。
ここでは「Attachments」という名前にします。
4.ドキュメントライブラリが作成されたら、メールに添付させたいファイルを格納します。
ここでは、3種類のファイルを格納します。
複数ファイル格納していますが、1ファイルだけでもフローは動きます。
以上で準備は完了です。
フロー作成手順
1.新しい応答が送信されるとき
Power Automateを開き「作成」→「自動化したクラウドフロー」をクリックします。
任意のフロー名をつけて、トリガーを「新しい応答が送信されるとき」にして「作成」をクリックします。
以下を指定します。
フォームID:事前準備で作成したアンケート
2.応答の詳細を取得する
+をクリックし、「アクションの追加」より「応答の詳細を取得する」アクションを選択します。
アクションが見つからない場合は、検索ボックスで「Forms」と検索してください。
以下を指定します。
フォームID:トリガーで指定したアンケートID
応答ID:動的なコンテンツ(稲妻マーク)より「新しい応答が送信されるとき」の「応答ID」
3.変数を初期化する
+をクリックし、「アクションの追加」より「変数を初期化する」アクションを選択します。
アクションが見つからない場合は、検索ボックスで「変数」と検索してください。
以下を指定します。
Name:ここでは「添付ファイル」とします。(好きな名前でOK)
Type:Array
4.ファイルの取得(プロパティのみ)
+をクリックし、「アクションの追加」より「ファイルの取得(プロパティのみ)」アクションを選択します。
アクションが見つからない場合は、検索ボックスで「SharePoint」と検索してください。
以下を指定します。
サイトのアドレス:SharePointドキュメントライブラリがあるアドレス
ライブラリ名:事前に作成したドキュメントライブラリ
5.ファイルコンテンツの取得
+をクリックし、「アクションの追加」より「ファイルコンテンツの取得」アクションを選択します。
アクションが見つからない場合は、検索ボックスで「SharePoint」と検索してください。
以下を指定します。
サイトのアドレス:SharePointドキュメントライブラリがあるアドレス
ファイル識別子:動的なコンテンツ(稲妻マーク)より「ファイルの取得(プロパティのみ)」の「識別子」
ここで、自動でFor eachアクションが追加されます。
6.配列変数に追加
For each内の+をクリックし、「アクションの追加」より「配列変数に追加」アクションを選択します。
アクションが見つからない場合は、検索ボックスで「変数」と検索してください。
以下を指定します。
Name:添付ファイル(3のアクションでつけた名前)
Value:
{ "Name": "@{items('For_each')?['{FilenameWithExtension}']}", "ContentBytes": @{body('ファイル_コンテンツの取得')} }
7.メールの送信(V2)
+をクリックし、「アクションの追加」より「メールの送信(V2)」アクションを選択します。
アクションが見つからない場合は、検索ボックスで「Outlook」と検索してください。
以下を指定します。
宛先:動的なコンテンツ(稲妻マーク)より「応答の詳細を取得する」の「Responders' Email」
件名:自由なもの
本文:自由なもの
詳細パラメーターを「すべて表示」にして、「添付ファイル」のTマークをクリックします。
動的なコンテンツ(稲妻マーク)より「変数」の「添付ファイル」を指定します。
以上で、フローの作成は完了です。
実行してみる
実際にFormsアンケートを回答してみると、、
フローが実行されて、複数ファイルが添付されたメールが回答者(私)に届きました!
おわりに
「メールの送信(V2)」アクションで動的に添付ファイルを指定することで、複数ファイルを添付することができます。
フローで指定しているのはドキュメントライブラリの場所だけなので、添付するファイルが変わってもフローをメンテナンスする必要がないのは便利ですね。