Power Automate で Teams のチャネルの投稿から Outlook メールの下書きを作成する方法
はじめに
Teams の投稿について、Outlook でも同じ内容を送信したいことがありました。
Teams の投稿からメールの下書きを作成するフローを作成したので記録します。
作成手順
手順 | 内容 |
---|---|
1 | Teamsの投稿を取得 |
2 | メールの下書きを作成 |
3 | メールに添付ファイルを追加 |
1. Teamsの投稿を取得
Teams コネクタのトリガー「選択されたメッセージに対して (V2)」から開始します。
![]() |
---|
続けて、Teams コネクタの「メッセージ詳細を取得する」を配置します。
![]() |
---|
2. メールの下書きを作成
アクション「作成」でメールの構成を作ります。
任意の宛先を設定するときは、emailAddress の name と address を追加します。
![]() |
---|
{
"subject": @{concat('【Teams転送】 ',outputs('メッセージ詳細を取得する')?['body/subject'])},
"body": {
"contentType": "HTML",
"content": @{outputs('メッセージ詳細を取得する')?['body/body/content']}
},
"toRecipients": [
{
"emailAddress": {
"name": "",
"address": ""
}
}
],
"ccRecipients": [],
"bccRecipients": []
}
続けて、Outlook メールの下書きを作成します。
Office 365 Outlook コネクタの「HTTP 要求を送信します」を配置します。
![]() |
---|
https://graph.microsoft.com/v1.0/me/messages
例1: JSON 形式のメッセージの下書きを新規作成する場合
3. メールに添付ファイルを追加
手順2で作成した下書きメールに添付ファイルを付けていきます。
まずは、手順2で作成したメールのIDを取得します。
![]() |
---|
次に、添付ファイルが保存されているSharePointのチームサイトのURLを取得します。
Office 365 グループコネクタの「HTTP 要求 V2 を送信する」を配置します。
![]() |
---|
https://graph.microsoft.com/v1.0/groups/@{triggerOutputs()?['body/teamsFlowRunContext/channelData/team/aadGroupId']}/sites/root
root 識別子は次に示すように、常にターゲットのルート サイトを参照します。
/sites/root:テナントのルート サイト。
/groups/{group-id}/sites/root:グループのチーム サイト。
最後に、Teamsの投稿の添付ファイルをメールに付けていきます。
コントロールのアクション「それぞれに適用する」を配置します。
添付ファイル(attachments)の数だけ繰り返します。
![]() |
---|
繰り返しの手順として、まずは、添付ファイルを取得します。
SharePoint コネクタの「パスによるファイル コンテンツの取得」を配置します。
![]() |
---|
設定項目 | パラメーター |
---|---|
サイトのアドレス* | "@body('HTTP_要求_V2_を送信する:チームサイトのURLを取得')?['webUrl']" |
ファイル パス* | "@items('全ての添付ファイルに適用する')?['contentUrl']" |
繰り返しの手順として、次に取得した添付ファイルをメールに付けます。
Office 365 Outlook コネクタの「HTTP 要求を送信します」を配置します。
![]() |
---|
設定項目 | パラメーター |
---|---|
URI* | 後出コードブロック参照 |
本文 | 後出コードブロック参照 |
メソッド* | "POST" |
https://graph.microsoft.com/v1.0/me/messages/@{variables('メールID')}/attachments
{
"@odata.type": "#microsoft.graph.fileAttachment",
"name": "@{items('全ての添付ファイルに適用する')?['name']}",
"contentBytes": "@{base64(body('パスによるファイル_コンテンツの取得'))}"
}
添付ファイルを作成する場合は、要求本文に以下が含まれます。
"@odata.type": "#microsoft.graph.fileAttachment"
必要なプロパティ name と contentBytes。
以上でフローの作成は終了です。
Discussion