今日もローコードで業務改善をしたい

Power AutomateやPower Appsなど、Power Platformに関して学んだことを書いています。

Formsに回答した人に添付ファイル付きのメールを送る(複数添付ファイルも可)

はじめに

「社内セミナーの申し込みフォームなどを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)」アクションで動的に添付ファイルを指定することで、複数ファイルを添付することができます。

フローで指定しているのはドキュメントライブラリの場所だけなので、添付するファイルが変わってもフローをメンテナンスする必要がないのは便利ですね。