ささみ学習帳 - sasami's study book

ささみ学習帳

Microsoft365 や Power Platform について学んだこと・アイデアのメモ

Outlook のスケジュール送信メールをPower Automateクラウドフローで作成する💎

 

はじめに

Outlook にはメールを日時を指定してスケジュール送信する機能があります。
このスケジュール送信メールをPower Autoamte クラウドフローから作成することができます。

 

考え方

Office 365 Outlook コネクタには該当するアクションはありませんが、Microsoft Graph APIを利用することで実現が可能です。

※「HTTP with Entra ID (preauthorized)」コネクタを利用するため、Power Automate Premium 等の単体ライセンスが必要になります。

 

1.メールを作成する

Graph APIsendMail エンドポイントを利用します。Office 365 Outlook コネクタに「HTTP要求を送信します」アクションがありますが、このエンドポイントはサポートされてない為、「HTTP with EntraID (preauthorized)」コネクタの「HTTP要求を呼び出します」アクションを使用しています。

learn.microsoft.com

 

  • 方法
    • POST
  • URL
  • 要求の本文
    • {
        "message": {
          "subject": "Meet for lunch?",
          "body": {
            "contentType": "Text",
            "content": "The new cafeteria is open."
          },
          "toRecipients": [
            {
              "emailAddress": {
                "address": "lesser_panda@xxxxx.onmicrosoft.com"
              }
            }
          ],
          "ccRecipients": [
            {
              "emailAddress": {
                "address": "sasori@xxxxx.onmicrosoft.com"
              }
            }
          ],
        "singleValueExtendedProperties": [
            {
               "id":"SystemTime 0x3FEF",
               "value":"2025-06-21T23:00:00.000Z"
            }
          ]
        }
      }

 

本文のポイントは"singleValueExtendedProperties"です。スケジュール送信のパラメータはGraph APIのmessageリソースではサポートされていません。その為、拡張プロパティを利用して設定します。

learn.microsoft.com

 

id には"SystemTime 0x3FEF"を指定します。これがスケジュール送信の設定を示します。送信日時はUTCで指定します。

 

2.メールの設定値を取得する

メールに設定されているスケジュール送信の設定値を取得することもGraph APIを使うことで取得できます。

こちらのエンドポイントを利用します。

取得に関しては、Office 365 Outlook コネクタの「HTTP要求を送信します」アクションでも実行可能でしたので、こちらはPower Autoamteの単体ライセンスは不要です。

learn.microsoft.com

 

 

  • URI
    • https://graph.microsoft.com/v1.0/me/messages/【id】?expand=singleValueExtendedProperties(filter=id eq 'SystemTIme 0x3FEF')
    • 【id】にはメールのidを指定します
  •  メソッド
    • GET

出力のJSONに下記のような形でスケジュール送信の設定が含まれています。

 

さいごに

Office 365 Outlook コネクタの 「HTTP要求を送信します」アクションで実行できないことだけが惜しいですが、メールのスケジュール送信を多用している場合には有効活用できそうです