アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
機能拡張サービス
X-SP Feature
デザイン拡張サービス
X-SP Design
モダン化から運用管理までサポート
構築支援サービス
💡 この記事でわかること
Power Automate でメールを送信した後にメッセージIDを取得したいが、「メールの送信」アクションからは直接取得できない―そんな課題の解決策を解説します。送信済みアイテムを経由した3ステップで、確実にメッセージIDを取得する方法が身につきます。
- メール受信時と送信時のメッセージID取得の違い
- 送信後に「送信済みアイテム」から対象メールを抽出してIDを取得する手順
- 「メール取得」アクションのフォルダー設定と未読フラグの注意点
小刀稱 知哉ことね ともや
得意領域
Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!
保有資格
Power Automate のフロー設計・業務自動化でお悩みの場合は、アーティサンへお気軽にご相談ください。実装支援から運用設計まで対応します。
MSクラウドに関するご相談・お問い合わせはこちら
お問い合わせフォームへこんにちは。アーティサン株式会社の小刀稱(ことね)です。
今回はPower AutomateのTipsの紹介です。
Power Automateでフローを作成する際、「あるフローでメールを送信し、別のフローでそのメールに返信したい」という要望はありませんか?
Power Automateでメールを返信する際、メールに返信するアクションを用います。
また、このアクションを用いる際は、メッセージIDが必須となります。
メッセージIDとは、メールを一意に識別するための文字列です。

このメッセージIDですが、Power Automateでメールを受信した際には取得することができますが、
Power Automateからメールを送信した際には取得することはできません。
そこで、今回はPower Automateでメールを送信した際にメッセージIDを取得する方法についてお伝えします。
Power Automateでフローを作成したことがある方に向けた記事です。
Power Automateでメールを受信した時
最初に、Power Automateでメールを受信した際にメッセージIDを取得する方法についてお伝えします。
こちらはとても簡単です。
作成したフローは以下です。
単純に新しいメールが届いたときというトリガーを用いることで、メッセージIDを取得できます。

Power Automateからメールを送信した時
続いて、Power Automateからメールを送信した際にメッセージIDを取得する方法についてお伝えします。
まずはメールを受信した時と同じように、メールの送信アクションからメッセージIDが取得できるか試してみました。 結果としては、メールの送信アクションからメッセージIDは取得できないことが判明しました。

以下では、上記のフローを一工夫することで、Power Automateからメールを送信した際でもメッセージIDを取得する方法をお伝えします。
対策
以下の流れにより、メッセージIDを取得します。
また今回作成したフローを先に紹介します。

以降では、それぞれの手順について説明します。
メール送信後、「送信済みアイテム」へメールが格納されるまで待機
大まかな流れとしては、メール送信後、「送信済みアイテム」から送信したメールを抽出すればよいのですが、 メールを送信した後、「送信済みアイテム」へメールが格納されるまで一定時間がかかるため、「遅延」アクションを用いて待機します。
今回は、1分の待機時間を設定しました。

「送信済みアイテム」から送信したメールを抽出
続いて、「送信済みアイテム」から先程送信したメールを抽出します。
「メールを取得する」アクションを用いて、検索条件を設定することにより、先程送信したメールを抽出します。
今回は、「件名フィルター」を用いて先程送信したメールを抽出しています。
また、設定する際のポイントとしては、以下点です。
フォルダー:「送信済みアイテム」に設定
未読メッセージのみを取得する :「いいえ」に設定
※“未読メッセージのみを取得する”はデフォルトで「はい」となっているため、必ず「いいえ」と設定してください。
(私はこの設定値に気づかず、なぜメールが取得できないのか?と悩みました…)

メッセージIDを取得
最後に、メッセージIDを取得します。
メールを取得するアクションで得た出力結果は配列となるため、first()関数を用いて、最初の要素のメッセージIDを取得します。

first()関数や上記の式を作成するまでの詳細については、以下のブログを参照してください。
こちらでメッセージIDを取得することができました!
おわりに
今回はPower Automateでメールを送信した際に、メッセージIDを取得する方法についてお伝えしました。
Power Automateが送信したメールに対して、別のフローからメールを返信する際には、
メールを送信した際にメッセージIDを取得する必要がありますので、こちらの方法をお試しいただければ幸いです。
メール送信・メッセージID連携をはじめとする Power Automate の複雑なフロー構築も、アーティサンの支援チームがサポートします。
MSクラウドに関するご相談・お問い合わせはこちら
お問い合わせフォームへ