LoginSignup
5
0

More than 1 year has passed since last update.

PowerAutomate: Mail から Teams への転送で、添付ファイルを投稿する

Posted at

背景

社内で初めて Power Automate を使う方に、Mail to Teams のテンプレートを紹介したところ、

「添付ファイルも転送できないです?」

という相談があったので、参考フローを用意

元のテンプレート

Post message to Microsoft Teams when an email arrives in Office 365 Outlook

概要

添付ファイルを展開先の Teams にアップロードして、そのリンク文字列を生成して、展開時に付加する

  1. メール受信のトリガー設定
  2. 添付ファイル(Attachements) のアップロードとファイルリンク文字列作成
  3. Teams 用のメッセージ作成と投稿

フロー全体像

image.png

動作例

受信メールでこんなのが来たら・・
image.png

Teams でこんな感じで受ける
image.png

詳細

メール受信のトリガー設定

転送したいメールに合わせて設定
気にする箇所は以下ぐらいかな

  • 受信フォルダーや、送信者などで出来るだけフィルターしておく
  • 添付ファイルも含める
    image.png

添付ファイル処理

添付ファイル(Attachments) をループ処理
image.png
展開する Team 内でファイル生成

  • ファイルコンテンツ(File Content) には、contentBytes を base64ToBinary() 変換したものを設定
ファイルコンテンツ
@{base64ToBinary(items('Apply_to_each')?['contentBytes'])}

image.png

今回は、初心者でも使いやすい Post Message 用に HTML の A Tag で生成

  • href に生成したファイルへのリンク
    • 今回は生成時に取得可能な パス(path) を利用する。パスは、サイト内の相対アドレスなので、サイトまでの絶対アドレスとして、ファイル生成(Create File) アクションの入力で渡した サイトアドレス(dataset) を利用。二つを合成すれば完成
      • ファイル生成の入力値であるサイトアドレス: actions('Create_file').inputs.parameters.dataset
      • ファイル生成の出力にあるパス(Path): outputs('Create_file')?['body/Path']
  • 表示は、元の添付ファイル名
ファイルリンク A タグの例
<a href="@{actions('Create_file').inputs.parameters.dataset}@{outputs('Create_file')?['body/Path']}">@{items('Apply_to_each')?['name']}</a><p/>

image.png

ファイルのプロパティを取得アクションを追加すれば、たぶん Web Link が直接取れたと思います。

Teams 用メッセージ作成と投稿

投稿は、Reply message: チャネル内のメッセージで応答します で、HTML 形式を利用する。
この際、直接書くと壊れることがよくあるので、Compose で生成して、その出力を Teams のアクション内のメッセージで使います

投稿形式はこんな感じ

  • {件名} from {送信者表示}
  • {引用で、メール内容を表示}
  • {添付ファイル一覧:添付ファイル処理 で生成したやつ}

送信者表示は、外部からのメール受信も考えて mailto: にしているが、社内とか限定なら以下などにしても

  1. msteams: を使ってチャット送信へ誘導
  2. Delveのユーザー表示へ
Teams 投稿用のメッセージ例
@{triggerOutputs()?['body/subject']} from <a href="mailto:@{triggerOutputs()?['body/from']}">@{triggerOutputs()?['body/from']}</a>
<p><blockquote>@{triggerOutputs()?['body/body']}</blockquote></p>
<p><br></p>
<p>@{variables('Attachments')}</p>

image.png

あとがき

社内の場合、ファイル添付ではなくリンク展開にしようって話なので、本来は外部受信だけのはず
で、そうなると、無条件に適用するとやばいファイルもある可能性があるのでご利用は計画的に :laughing:

keyword

how to transfer attachments from mail to teams

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0