【業務効向上】PowerAutomateでOutlookの添付ファイルをOneDriveへ自動保存するフローを作ってみた

PowerAutomate
スポンサーリンク

1.はじめに

メールで届く添付ファイルを、毎回手作業でフォルダに保存するのは地味に手間だと感じていました。

そこで、Microsoftの自動化サービス「Power Automate」のクラウドフローを使って、添付ファイルをOneDriveへ自動で保存する仕組みを作ってみることにしました。

実際に作ってみると、アカウントの種類によって使うコネクタが違うなど、つまずきやすいポイントもいくつかありました。

この記事では、作成から動作確認までの流れと、私がつまずいた点を画面つきでまとめています。

1.1 本記事の対象者

  • Power Automateに興味はあるものの、まだ触ったことがない方
  • メールの添付ファイルを手作業で保存していて、自動化したい方
  • 個人のOutlook.com(Hotmail)アカウントでクラウドフローを試したい方

1.2 本記事の目的

  • 「メールを受信したらOneDriveに保存する」という基本のクラウドフローの作り方を知ってもらうこと
  • 職場・学校アカウントと個人アカウントで使うコネクタが異なる点を理解してもらうこと
  • エラーが出たときの原因の見つけ方と対処法を共有すること

2.今回作るフローの全体像

今回作るのは、特定の件名のメールが届いたら、その添付ファイルをOneDriveの指定フォルダへ保存するフローです。

Power Automateでは、きっかけになる出来事を「トリガー」、その後に実行する処理を「アクション」と呼びます。

今回のフローは、トリガーとアクションが1つずつのシンプルな構成です。

  • トリガー:新しいメールが届いたとき(V2)
  • アクション:ファイルの作成(OneDrive)

図のとおり、アクションは「For each(それぞれに適用する)」の枠の中に入っています。

これは、1通のメールに複数の添付ファイルがある場合に、1つずつ順番に処理するためのものです。

この「For each」は、添付ファイルの項目を選ぶと自動で追加されるので、自分で用意する必要はありません。

3.事前準備:アカウントの種類とコネクタの違い

フローを作る前に、自分のメールアカウントがどの種類なのかを確認しておく必要があります。

というのも、アカウントの種類によって、使うコネクタ(外部サービスとつなぐ部品)が異なるからです。

私は最初、学校のアカウントでPower Automateにサインインしていたので、「Office 365 Outlook」コネクタで作り始めました。

ところが、接続を作る段階で「接続が見つかりません」というエラーになってしまいました。

原因は、普段使っている個人のメールが、Exchange Online(職場・学校向けのメールボックス)ではなかったことでした。

Office 365 Outlookコネクタは、Exchange Onlineのメールボックスがないと使えません。

個人のOutlook.com(Hotmailなど)のメールを使う場合は、次のようにコネクタを切り替えます。

使うアカウントメールのコネクタ保存先のコネクタ
職場・学校アカウントOffice 365 OutlookOneDrive for Business
個人アカウントOutlook.comOneDrive

この記事では、下段の個人アカウント向けの組み合わせで作成しています。

4.クラウドフローを作成する(トリガーの設定)

まず、Power Automateにサインインして、左側のメニューから「作成」を開きます。

次に「自動化したクラウド フロー」を選び、フロー名を入力します。

今回のフロー名は「Outlook添付ファイルをOneDriveに自動保存(ブログ用サンプル)」にしました。

トリガーの検索欄に「新しいメールが届いたとき」と入力し、Outlook.comコネクタの「新しいメールが届いたとき (V2)」を選んで作成します。

トリガーが追加されたら、パラメーターを次のように設定します。

  • 添付ファイルを含める:はい
  • 件名フィルター:添付保存テスト
  • 重要度:Any
  • 添付ファイル付きのみ:はい
  • フォルダー:Inbox

「件名フィルター」は、指定した文字列が件名に含まれているメールだけを対象にする設定です。

完全一致ではなく部分一致なので、「Fwd: 添付保存テスト」のように転送されたメールも対象になります。

また、「添付ファイルを含める」を「はい」にしておかないと、後の手順で添付ファイルの中身を使えない点に注意が必要です。

5.OneDriveへ保存するアクションを追加する

続いて、トリガーの下の「+」から「アクションの追加」を選びます。

検索欄に「ファイルの作成」と入力し、OneDrive(個人用)の「ファイルの作成」を選びます。

初めて使う場合は、ここでOneDriveへのサインインを求められるので、画面の案内に沿って接続を作成します。

各項目には、動的なコンテンツ(トリガーから受け取った情報)を次のように割り当てます。

  • フォルダーのパス:/PowerAutomate添付保存テスト
  • ファイル名:添付ファイル 名前(Name)
  • ファイル コンテンツ:添付ファイル コンテンツ(ContentBytes)

「ファイル名」と「ファイル コンテンツ」に添付ファイルの項目を選んだ時点で、先ほど触れた「For each」が自動で追加されます。

フォルダーのパスには、OneDriveにあらかじめ作っておいたフォルダーを指定します。

最後に、画面右上の「保存」を押してフローを保存します。

6.テストして動作を確認する

フローを保存したら、実際にメールを送って動作を確認します。

今回は、下のようにGmailから自分のOutlook.comのアドレス宛てに、件名「添付保存テスト」で小さなテキストファイルを添付して送信しました。

トリガーは約1分間隔でメールを確認しているため、送信してからしばらく待つ必要があります。

フローの詳細ページの「実行履歴」を開くと、実行の結果を確認できます。

画面上部に「ご利用のフローが正常に実行されました」と表示され、すべてのステップに緑のチェックが付けば成功です。

出力を確認したところ、ステータスコードは200で、指定したフォルダーに添付ファイルが保存されたことが以下のように確認できました。

OneDriveのフォルダーを開いて、実際にファイルが増えているのを見たときは、思った以上にあっけなく動いて感動しました。

7.つまずいたポイントと対処法

実際にやってみて、私が引っかかった点を3つ共有します。

7.1 フローが実行されない

最初のテストでは、実行履歴に何も表示されませんでした。

原因は、送信先を、Outlook.comコネクタで接続していないメールアドレス(学校のアドレス)にしてしまっていたことでした。

トリガーが監視するのは、接続したアカウントの受信トレイだけです。

送信先のアドレスと、フローで接続したアカウントが同じかどうかを、最初に確認するとよいと思います。

あわせて、件名フィルターの文字列と、フォルダーが「Inbox」になっているかも見直してみてください。

8.まとめ

この記事では、Power Automateのクラウドフローで、Outlookの添付ファイルをOneDriveへ自動保存する方法を紹介しました。

トリガーとアクションが1つずつのシンプルな構成でも、日々の細かな手作業を減らせると感じました。

この記事が、Power Automateを試してみるきっかけになればうれしいです。

※本記事は個人の体験の共有であり、専門的な助言ではありません。

コメント

タイトルとURLをコピーしました