松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第50回
「メールの一斉送信」時に、条件に応じて送信内容を変える
顧客ごとに異なる内容のメールを自動送信! Power Automateで柔軟なフローを実現
2025年06月18日 11時00分更新
こんにちは、Microsoft MVP(Business Applications)の松本典子です。
皆さんの会社でも、リスト化した顧客などに対してメールを一斉送信するケースはよくあると思います。その際に、宛先の社名や氏名の差し替えだけではなく、「一定の条件に応じて送信する内容を変えたい」というニーズもあるのではないでしょうか。
そこで今回は、前回記事でご紹介した「Outlook」コネクタの下書き保存アクションも使いながら、Power Automateを使った自動化ワークフローを作ってみたいと思います。
SharePointリストの宛先リストを参照し、チェックボックスにチェックが入っている宛先には添付ファイル付きのメールを、チェックが入っていない場合は添付ファイルなしのメールをそのまま送信するというフローです。
1. 事前準備
Power Automateのフロー作成に入る前に、添付ファイルをアップロードするOneDriveのフォルダーと、メールの宛先リストを書き込むSharePointリストを作成しておきます。
1-1. OneDriveフォルダーの準備
今回は2つのフォルダーを用意します。1つは添付ファイルのアップロード先フォルダー、もう1つは送信後のファイルを移すためのフォルダーです。
(1)202505:メールに添付するファイルのアップロード先
(2)送信済み202505:フロー実行後のファイルの移動先
1-2. SharePointリストの準備
SharePointリストで「顧客リスト01」を作成します。
このSharePointリストは、以下の「列の種類」で作成しました。なお、タイトル列は不要なので、「ビューの列の編集」で「非表示」に設定します。
(1)ID:「ビューの列の編集」でチェックを入れて表示
(2)会社名:テキスト(一行テキスト)
(3)メールアドレス:テキスト(一行テキスト)
(4)担当者:テキスト(一行テキスト)
(5)資料添付:はい/いいえ
SharePointリストの列作成時の注意点については、第44回の「1. 事前準備と注意点」に記載していますので、そちらも参考にしてください。
2. 今回作成するワークフロー
それでは、Power Automateでワークフローを作成していきましょう。今回のワークフローは上図のような形になります。
このフローは、OneDrive上にあるアップロード先フォルダー(先ほど作成した「202505」フォルダー)にファイルが追加されたら、それをトリガーとして起動します。SharePointリストを参照して、「資料添付」の項目がチェックありの宛先に、添付ファイル付きのメールを送信します。その処理が済んだら、添付ファイルは別フォルダーに移動して、元のフォルダーを空にします。
なお、今回はクラシックデザイナーの画面で説明していますが、フローはモダンデザイナーでも同じように作成できます。
2-1. トリガーの設定
まずはトリガーを設定します。検索窓に「OneDrive」と入力し、アクション一覧から「ファイルが作成されたとき」を選択します。「フォルダー」には、「1-1. OneDriveの準備」で作成したフォルダーを選択します。
2-2. アクションの設定:複数の項目の取得
続いて、SharePointリスト「顧客リスト01」からアイテムを取得します。検索窓に「SharePoint」と入力し、アクション一覧から「複数の項目の取得」を選択します。
このアクションに設定する内容は次のとおりです。
(1)サイトのアドレス:「顧客リスト01」があるSharePointサイトを選択
(2)リスト名:「顧客リスト01」を選択
2-3. アクションの設定:条件分岐
顧客リスト01の「資料添付」列にチェックがあるかどうかを判定します。
検索窓に「条件」と入力し、アクション一覧から「条件」アクションをクリックします。
このアクションに設定する内容は次のとおりです。
(1):複数の項目の取得の動的なコンテンツ「資料添付」を選択
(2):「次の値に等しい」を選択
(3):「true」と入力
「条件」アクションに動的なコンテンツを設定すると、上図のように自動で「Apply to each」アクションが追加され、「以下の手順から出力を選択」には「Value」が設定されます。
上図の「条件」アクションでは、「資料添付」にチェックがあれば「はいの場合」の処理を、チェックがなければ「いいえの場合」の処理を行います。
2-3-1. 「はい」の場合:添付ファイル付きメールを下書きする
条件分岐が「はい」の場合、添付ファイル付きのメール下書きを作成します。 検索窓に「Outlook」と入力し、「Office 365 Outlook」コネクタを選択して、アクション一覧から「メール メッセージを下書きする」アクションを選択します。
このアクションに設定する内容は次のとおりです。
(1)宛先:顧客リストにある「メールアドレス」を読み込みます。動的なコンテンツを選択できるように「詳細モードに切り替える」をクリックし、動的なコンテンツの「メールアドレス」を選択します。
(2)件名:今回は直接テキストで入力しました。
(3)本文:「</>」ボタンをクリックしてコードビューに切り替えます。本文部分は上図のように、動的なコンテンツ(会社名、担当者名)とテキストで構成します。
コードビューに切り替えれば、画面表示どおりの改行が維持されたかたちで下書きを作成できます。
追加で、OneDriveにアップロードされたファイルをメールに添付します。先ほどの設定画面下部にある「詳細オプションを表示する」をクリックすると、上図の画面になります。
(4)添付ファイル名-1:「ファイルが作成されたとき」の動的なコンテンツ「ファイル名」を選択
(5)添付ファイル名-1 :「ファイルが作成されたとき」の動的なコンテンツ「ファイル コンテンツ」を選択
※注:「メール メッセージを下書きする」アクションで作成される下書きメールは、現時点(2025年5月末現在)ではテキスト形式のみとなります。URLなど、HTMLメールでの表示を想定した内容を入力すると、表示が崩れてしまうのでご注意ください。この現象について助言くださった@flali_worldさん、ありがとうございました。
2-3-2. 「いいえ」の場合:添付ファイルなしのメールを送信する
一方で、顧客リストの「資料添付」にチェックが入っていない場合は、条件分岐で「いいえ」の処理が行われます。「はい」と同じようにメールの下書き保存をしてもよいのですが、せっかく違う処理ができるので、今回はあえて下書き保存せず、直接メールを送信するアクションにしてみます。
検索窓に「Outlook」と入力し、「Office 365 Outlook」コネクタを選択して、アクション一覧から「メール メッセージを下書きする」アクションを選択します。
先ほどのメールの下書きとほぼ同じですが、このアクションに設定する内容は次のとおりです。
(1)宛先:顧客リストにある「メールアドレス」を読み込みます。動的なコンテンツを選択できるように「詳細モードに切り替える」をクリックし、動的なコンテンツの「メールアドレス」を選択します。
(2)件名 :今回は直接テキストで入力しました。
(3)本文 :本文部分は上図のように、動的なコンテンツ(会社名、担当者名)とテキストで構成します。
2-4. アクションの設定:待ち時間
今回のフローは、OneDriveの特定フォルダー(202505)にファイルが追加されたときに起動します。誤動作を防ぐため、メールへの添付処理が終わったファイルを別のフォルダー(送信済み202505)に移動させるアクションを追加します。
ただし、前の処理(メールの下書き保存や送信)が完全に終わる前にファイルを移動させようとすると、エラーが発生してフローが停止する可能性があります。そこで、前の処理が完全に終わるのを待ってから、ファイルの移動処理を実行させるために、「待ち時間」アクションを加えておきます。
検索窓に「日時」と入力し、「日時」コネクタを選択して、アクション一覧から「待ち時間」アクションを選択します。
「待ち時間」アクションは、指定した時間だけフローの実行を一時停止するものです。今回は「30秒」を設定しましたが、顧客リストの件数が多い場合などは前の処理に時間がかかるので、実行結果を見ながら調整してください。
2-5. アクションの設定:ファイルの移動または名前変更
送信済みフォルダーにファイルを移動させます。検索窓に「OneDrive」と入力し、「OneDrive」コネクタを選択して、アクション一覧から「ファイルの移動または名前変更」アクションを選択します。
このアクションに設定する内容は次のとおりです。
(1)ファイル:「ファイルが作成されたとき」の動的なコンテンツ「ファイル識別子」を選択
(2)対象ファイルのパス:「1-1. OneDriveの準備」で作成した「送信済み202505」フォルダーのパスと、「ファイルが作成されたとき」の動的なコンテンツ「ファイル名」を入力
(3)上書きする:「いいえ」を選択
以上でフローが完成しました。最後は忘れずに、フローに名前を付けて「保存」します。今回、筆者は「顧客リストのメール下書き」というフロー名を付けて保存しました。
3. 実行結果
実際にOneDrive上の特定フォルダー(202505)にファイルを追加し、フローを実行してみます。
顧客リストの「資料添付」にチェックが入っている顧客宛には、添付ファイル付きのメールが下書きとして保存されています。
一方で、「資料添付」にチェックが入っていない顧客宛には、添付ファイルなしのメールがそのまま送信されています。
さいごに
前回に引き続き今回も、Outlookコネクタの「メール メッセージの下書き」アクションを利用したワークフローをご紹介しました。
今回、フローの途中で「待ち時間」を入れるテクニックを紹介しました。メール処理など一部の処理では、実行のタイミングや環境によって処理完了までの少し時間がかかることがあり、フローの動作が不安定になります(ときどき失敗するなど)。狙い通りにフローが実行できない場合、「待ち時間」を挟むことで解決するケースもありますので、覚えておくと便利です。
また今回のように、条件分岐を挟むことで、リストの宛先にまとめて自動送信させつつ、違った内容のメールを送信することができます。今回のフローはごく単純なものですが、使いこなせば実運用に合った柔軟なメール送信の自動化も可能になります。ぜひ日々の業務にも取り入れてみてください!
この連載の記事
-
第54回
Team Leaders
Teamsで「👍」が付いたらPower Automateのフローを自動実行! そんな方法を教えます -
第53回
Team Leaders
Excelの画面上からPower Automateを実行! “自動化の入り口”にしよう -
第52回
Team Leaders
Microsoft Formsへの入力で、Power Automateフローを実行する! 実践的連携術 -
第51回
Team Leaders
Power Automateの「トリガーの条件」が便利! フローの繰り返し実行を細かく制御しよう -
第49回
Team Leaders
Power Automateで自動作成したメール、Outlookに「下書き保存」するには? -
第48回
Team Leaders
Power Automateで「複数の承認ルート」対応の承認ワークフローを作ろう -
第47回
Team Leaders
「スイッチ」アクションで3種類以上の添付ファイルを自動分類/フォルダー保存する -
第46回
Team Leaders
SharePointリストとExcelを活用して、効率的な「お知らせメール」送信フローを作ろう -
第45回
Team Leaders
Power Automateで使える“2種類のExcel”、その使い分けを覚えよう -
第44回
Team Leaders
契約書を確実に期限管理! SharePoint+Power Automateで期日通知を自動化 - この連載の一覧へ