2022年10月13日木曜日

【PowerAutomate】返信メールの下書きを作成する(送信はしない)

event_note10月 13, 2022
受信したメールに対して、返信メールを送らないで、下書きメールを自動作成したい時ってないでしょうか?

例えば、PowerAutomateでいずれは受信メールに対して自動返信をするつもりだが、いきなり自動返信はちょっと心配…。
下書きメールで内容が正しく作成されるか様子をみたい。

やっぱり、大切なメールは送信前に自分の目でチェックしたい!

そんなケースはあるかと思います。

しかし、PowerAutomateでは、下書きメールを作成するというアクションはありません。
代わりとなる方法について紹介いたします。

フロー概要

Outlook365を使ったフローを作成します。

届いたメールに対して、「HTTP要求を送信します」で返信メールの下書きを作成します。
メールは下書きフォルダに保存されます。




フロー詳細

今回の例では、受信フォルダのサブフォルダ「返信テスト」に届いたメールに振り分けられたメールに対して、「ありがとう!!」と自動で返信する内容です。

サブフォルダへの振り分けは、Outlookのルールであらかじめ設定をしておきます。

それでは、各アクションについて説明していきます。

新しいメールが届いた時(V3)

オプションでメールの絞り込みできますが、今回はフォルダの指定のみにします。
必要に応じで絞り込みを行ってください。


HTTP要求を送信します(プレビュー)

本文のところは、返信する内容をcommentの値に記載するだけです。簡単ですね。
返信メールの作成なので、宛先は受信メールの差出人のメールアドレスが自動で設定されます。

パラメータ​設定値​
URIhttps://graph.microsoft.com/v1.0/me/messages/<新しいメールが届いた時(V3)のメッセージID>/createReply
メソッドPOST
本文
 差出人のみに返信
{
"comment": "<返信するメールの本文>"
}
コンテンツの種類application/json

作成された下書きメールです。


補足

返信先(To)を変更する場合

もし、返信先を変えたい場合は、以下のようにtoRecipients内に送信先を設定します。
以下の例では「aaa@sample.com」、「bbb@sample.com」の二つが送信先になります。

本文 例1
 返信先を差出人以外に変更
{
"message":{
"toRecipients":[
{
"emailAddress": {
"address":"aaa@sample.com",
"name":"yamamoto ichiro"
}
},
{
"emailAddress":{
"address":"bbb@sample.com",
"name":"yamamoto tarou"
}
}
]
},
"comment": "ありがとうございます!!"
}


作成された下書きメールです


返信先(CC)を追加する場合

ccRecipientsを使うと、CCによる返送先を追加できます。
ちなみにccRecipients→bccRecipientsにかえると、BCCの宛先を追加できます。
本文 例2
 返信先(CC)を追加
{
"message":{
"ccRecipients":[
{
"emailAddress": {
"address":"ccc@sample.com",
"name":"yamamoto ichiro"
}
}
],
},
"comment": "ありがとうございます!!"
}


おわりに

基本となる送信者への返信は、意外にも簡単ですね。
他にも色々な設定を追加できます。気になる方はこちらのページをご確認ください。