LoginSignup
14
12

More than 3 years have passed since last update.

Power Automateで受信したメールの添付ファイルをTeamsのファイル(SharePointドキュメント)に保存し、リンクをTeamsに投稿する

Posted at

概要

添付ファイルが付いているメールを受信した場合に、添付ファイルのみTeamsに投稿する作業を自動化します。
今回は、行っていませんが条件を指定すれば対象のメールを絞ることもできます。
簡単な条件の場合は、「新しいメールが届いたとき」の詳細オプションで指定できます。
複雑な条件の場合は、「条件」を利用して行えます。

Teamsへの投稿アクションに添付ファイルがつけられると楽なのですが、現状は実装されていません。
なので、少し面倒ですが今回のような手順になります。

投稿方法

  1. 添付ファイル保存用のフォルダをTeamsチャネル内に作成します。
    • フォルダ名は、受信した当日の年月とします。
    • フォルダが存在するかチェックして、存在しない場合のみ作成します。
  2. 保存用フォルダに添付ファイルを保存します。
  3. 保存したファイルのリンクを取得します。
  4. Teamsにメッセージとファイルのリンクを投稿します。

手順

  1. Power Automate(https://flow.microsoft.com)のサイトを開きます。

  2. 左側のメニューより《作成》→ 《自動フロー》をクリックします。
    image.png

  3. 「フロー名」を入力し、「フローのトリガーを選択してください」に【Outlook】と入力して、リストから《新しいメールが届いたとき》→ 《作成》をクリックします。
    image.png

    • フロー名:適当な名前を入力します。
  4. 作成画面が開きますので、「新しいメールが届いたとき」の《詳細オプションを表示する》をクリックします。
    image.png

  5. 「添付ファイルを含める」、「添付ファイル付きのみ」を《はい》に変更します。
    image.png

  6. 《新しいステップ》をクリックします。

  7. 《組み込み》→《変数》をクリックします。
    image.png

  8. 《変数を初期化する》をクリックします。
    image.png

  9. 「変数を初期化する」の各項目に以下の値を入力します。
    image.png

    • 用途
      • この後作成する当月のフォルダが既にあるかチェックした結果を保持
    • 入力値
      • 名前:適当な名前
      • 種類:ブール値
      • 値:false
  10. 《新しいステップ》をクリックします。

  11. 《組み込み》→《日時》をクリックします。
    image.png

  12. 《現在の時刻》をクリックします。
    image.png

  13. 《新しいステップ》をクリックします。

  14. 《組み込み》→《データ操作》をクリックします。
    image.png

  15. 《作成》をクリックします。
    image.png

  16. 「作成」の「入力」ボックスをクリックします。
    image.png

  17. 「動的なコンテンツ」ダイアログの《式》をクリックします。
    image.png

  18. 下にスクロールして、「日時」の《もっと見る》をクリックしします。
    image.png

  19. 下にスクロールして、《formatDateTime(timestamp, format)》をクリックします。
    image.png

  20. 《動的なコンテンツ》→「現在の時刻」の《現在の時刻》をクリックします。
    image.png

  21. 数式の第二引数に出力形式【'yyyy年MM月分'】を入力し、《更新》をクリックします。
    image.png

    • 数式:formatDateTime(body('現在の時刻'),'yyyy年MM月分')
  22. 《新しいステップ》をクリックします。

  23. 「アクションを選択してください」の検索欄に【sharepoint】と入力し、表示された《SharePoint》をクリックします。
    image.png

  24. 下にスクロールして、《フォルダの一覧》をクリックします。
    image.png

  25. 請求書を保存するSharePointサイトの情報を指定します。
    image.png

    • サイトのアドレス:請求書を保存するSharePointサイトアドレス
    • ファイル識別子:請求書を保存するフォルダ(このフォルダ内に当月の年月フォルダを作成する)
  26. 《新しいステップ》をクリックします。

  27. 《組み込み》→《コントロール》をクリックします。
    image.png

  28. 《Apply to each》をクリックします。
    image.png

    • このアクションは、受け取ったデータが全てなくなるまで繰り返し実行します。
  29. 「Apply to each」の「以前の手順から出力を選択」ボックスをクリックします。
    image.png

  30. 「動的なコンテンツ」ダイアログから「フォルダの一覧」の《body》をクリックします。
    image.png

  31. 《アクションの追加》をクリックします。

  32. 《組み込み》→《コントロール》をクリックします。
    image.png

  33. 《条件》をクリックします。
    image.png

  34. 「条件」の左側の「値の選択」ボックスをクリックします。
    image.png

  35. 「フォルダの一覧」の《Name》をクリックします。
    image.png

  36. 「条件」の右側の「値の選択」ボックスをクリックします。
    image.png

  37. 下にスクロールして、「作成」の《出力》をクリックしします。
    image.png

  38. 《追加》をクリックします。
    image.png

  39. 《行の追加》をクリックします。
    image.png

  40. 「条件」の左側の「値の選択」ボックスをクリックします。
    image.png

  41. 下にスクロールして、「フォルダの一覧」の《IsFolder》をクリックします。
    image.png

    • フォルダのみを対象とするために設定する。
  42. 「条件」の右側の「値の選択」ボックスをクリックし、【true】と入力します。
    image.png

  43. 「はいの場合」の《アクションの追加》をクリックします。
    image.png

  44. 《組み込み》→《変数》をクリックします。
    image.png

  45. 《変数の設定》をクリックします。
    image.png

  46. 「変数の初期化する」の各項目に以下の項目を入力します。
    image.png

    • 名前:上で作成した変数名
    • 値:true
  47. 《新しいステップ》をクリックします。

  48. 《組み込み》→《コントロール》をクリックします。
    image.png

  49. 《条件》をクリックします。
    image.png

  50. 「条件」の左側の「値の選択」ボックスをクリックします。
    image.png

  51. 「変数」の《FolderExists》をクリックします。
    image.png

  52. 「条件」の右側の「値の選択」ボックスをクリックし、【false】と入力します。
    image.png

  53. 「はいの場合」の《アクションの追加》をクリックします。
    image.png

  54. 「アクションを選択してください」の検索欄に【sharepoint】と入力し、表示された《SharePoint》をクリックします。
    image.png

  55. 下にスクロールして、《新しいフォルダーの作成》をクリックします。
    image.png

  56. 作成するフォルダーの値を入力します。
    image.png

    • 入力値
      • サイトのアドレス:請求書を保存するSharePointサイトアドレス
      • 一覧またはライブラリ:ドキュメント
      • フォルダーのパス:'請求書/' + 上で作成したフォルダ名
    • フォルダパスの設定方法
      • 「フォルダーのパス」をクリックし、【請求書/】と入力する
        image.png
      • 《動的なコンテンツ》→「作成」の《出力》をクリックします。
        image.png
  57. 《新しいステップ》をクリックします。

  58. 《組み込み》→《コントロール》をクリックします。
    image.png

  59. 《Apply to each》をクリックします。
    image.png

    • このアクションは、受け取ったデータが全てなくなるまで繰り返し実行します。
  60. 「Apply to each」の「以前の手順から出力を選択」ボックスをクリックします。
    image.png

  61. 「動的なコンテンツ」ダイアログから「新しいメールが届いたとき」の《添付ファイル》をクリックします。
    image.png

  62. 《アクションの追加》をクリックします。

  63. 「アクションを選択してください」の検索欄に【sharepoint】と入力し、表示された《SharePoint》をクリックします。
    image.png

  64. 下にスクロールして、《ファイルの作成》をクリックします。
    image.png

  65. 「サイトのアドレス」に、請求書を保存するSharepointサイトを指定します。
    image.png

  66. 「フォルダーのパス」に、請求書を保存するフォルダーを指定します。
    今回作成する年月フォルダーはまだ存在しないためその親フォルダーまでをいったん指定します。
    image.png

  67. 「フォルダーのパス」に、上で作成したフォルダに保存するため作成フォルダー名を指定する。
    「動的なコンテンツ」ダイアログの《式》をクリックします。
    image.png

  68. 「文字列関数」の《concat(text_1, text2?,...》をクリックし、引数に【'/',】を入力します。
    image.png

    • 数式:concat('/', )
  69. 《動的なコンテンツ》をクリックし、下にスクロールして、「作成」の《出力》→《OK》をクリックします。
    image.png

  70. 「ファイル名」をクリックし、請求書のファイル名を入力します。
    image.png

    • ファイル名:適当な名前を入力します。(拡張子も必要)
  71. 「ファイルコンテンツ」をクリックし、「動的なコンテンツ」ダイアログから「新しいメールが届いたとき」の《添付ファイルコンテンツ》をクリックします。
    image.png

  72. 《アクションの追加》をクリックします。

  73. 「アクションを選択してください」の検索欄に【sharepoint】と入力し、表示された《SharePoint》をクリックします。
    image.png

  74. 下にスクロールして、《ファイルのプロパティの取得》をクリックします。
    image.png

  75. 「サイトのアドレス」と「ライブラリ名」に以下の内容を指定する。
    image.png

    • サイトのアドレス:先ほどファイルを作成したSharepointサイト
    • ライブラリ名:ドキュメント
  76. 「ID」をクリックし、「動的なコンテンツ」ダイアログから「ファイル作成」の《ItemId》をクリックします。
    image.png

  77. 《アクションの追加》をクリックします。

  78. 「アクションを選択してください」の検索欄に【teams】と入力し、表示された《Microsoft Teams》をクリックします。
    image.png

  79. 《メッセージを投稿する》をクリックします。
    image.png

  80. 「チーム」と「チャネル」にメッセージを投稿するTeamsの場所を指定します。
    image.png

  81. 「メッセージ」の「</>」をクリックします。
    image.png

  82. 「メッセージ」に【<a href="】と入力します。
    image.png

  83. 次に、「動的なコンテンツ」ダイアログから「ファイルのプロパティの取得」の《アイテムへのリンク》をクリックします。
    image.png

  84. 次に、【">】と入力します。
    image.png

  85. 次に、「動的なコンテンツ」ダイアログから「ファイルのプロパティの取得」の《名前》をクリックします。
    image.png

  86. 次に、【</a>】と入力します。
    image.png

  87. これでフローが完成しました。

14
12
2

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
14
12