こんにちは。アーティサン株式会社の小刀稱(ことね)です。 今回はPower AutomateのTipsの紹介です。 Power Automateでフローを作成する際、「あるフローでメールを送信し、別のフローでそのメールに返信したい」という要望はありませんか? Power
Automateでメールを返信する際、メールに返信するアクションを用います。 このメッセージIDですが、Power
Automateでメールを受信した際には取得することができますが、 そこで、今回はPower Automateでメールを送信した際にメッセージIDを取得する方法についてお伝えします。 最初に、Power Automateでメールを受信した際にメッセージIDを取得する方法についてお伝えします。 作成したフローは以下です。 単純に新しいメールが届いたときというトリガーを用いることで、メッセージIDを取得できます。 続いて、Power Automateからメールを送信した際にメッセージIDを取得する方法についてお伝えします。 まずはメールを受信した時と同じように、メールの送信アクションからメッセージIDが取得できるか試してみました。
結果としては、メールの送信アクションからメッセージIDは取得できないことが判明しました。 以下では、上記のフローを一工夫することで、Power
Automateからメールを送信した際でもメッセージIDを取得する方法をお伝えします。 以下の流れにより、メッセージIDを取得します。
また、このアクションを用いる際は、メッセージIDが必須となります。
Power Automateからメールを送信した際には取得することはできません。
Power Automateでフローを作成したことがある方に向けた記事です。Power Automateでメールを受信した時
こちらはとても簡単です。Power Automateからメールを送信した時
対策
また今回作成したフローを先に紹介します。
以降では、それぞれの手順について説明します。
メール送信後、「送信済みアイテム」へメールが格納されるまで待機
大まかな流れとしては、メール送信後、「送信済みアイテム」から送信したメールを抽出すればよいのですが、 メールを送信した後、「送信済みアイテム」へメールが格納されるまで一定時間がかかるため、「遅延」アクションを用いて待機します。
今回は、1分の待機時間を設定しました。
「送信済みアイテム」から送信したメールを抽出
続いて、「送信済みアイテム」から先程送信したメールを抽出します。
「メールを取得する」アクションを用いて、検索条件を設定することにより、先程送信したメールを抽出します。
今回は、「件名フィルター」を用いて先程送信したメールを抽出しています。
また、設定する際のポイントとしては、以下点です。
フォルダー:「送信済みアイテム」に設定
未読メッセージのみを取得する :「いいえ」に設定
※“未読メッセージのみを取得する”はデフォルトで「はい」となっているため、必ず「いいえ」と設定してください。
(私はこの設定値に気づかず、なぜメールが取得できないのか?と悩みました…)
メッセージIDを取得
最後に、メッセージIDを取得します。
メールを取得するアクションで得た出力結果は配列となるため、first()関数を用いて、最初の要素のメッセージIDを取得します。
first()関数や上記の式を作成するまでの詳細については、以下のブログを参照してください。
こちらでメッセージIDを取得することができました!
おわりに
今回はPower Automateでメールを送信した際に、メッセージIDを取得する方法についてお伝えしました。
Power Automateが送信したメールに対して、別のフローからメールを返信する際には、
メールを送信した際にメッセージIDを取得する必要がありますので、こちらの方法をお試しいただければ幸いです。
【こちらも合わせて読みたい】
弊社ではPower Platform(Power AppsやPower Automateなど)を用いてお客様の業務を自動化するご支援を数多く承っております。
業務の中で、「普段手動でやっている業務を自動化できないか」というような疑問がある場合には、お気軽にアーティサン株式会社までお問い合わせください。
小刀稱知哉
大分県出身(温泉大好き♥♥)、現在は東京都在住
1990年4月9日生まれ
30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!
posted at 2022-08-31
背景
Teams の Message Details (メッセージの詳細)を取得する際
- 返信したいメッセージID
ではなく、
- 返信したいメッセージIDの親のメッセージID(スレッドの最初の投稿メッセージID)
が必要です。
以前は 親のメッセージID (Parent Message ID) を取得することが出来なかったはずなんだけど、いつの間にか出来るようになってましたってお話
Get Message Details
【日本語版】⇒ メッセージ詳細を取得する
以下で指定する ID です
取れるもの
元々困っていた、For a selected message トリガーと、取得アクション自体での結果を例示
Parent Message ID という名前ではなく、Reply To ID で存在。
トリガー: For a selected message
For a selected message (V2)
【日本語版】⇒ 選択されたメッセージに対して (V2)
Parent Message ID の取得
@{triggerBody()?['teamsFlowRunContext']?['messagePayload']?['replyToId']}
アクション: Get Message Details 自身からも取得出来ます
Get Message Details
【日本語版】⇒ メッセージ詳細を取得する
Parent Message ID の取得
@{outputs('Get_message_details')?['body/replyToId']}@{triggerBody()?['teamsFlowRunContext']?['messagePayload']?['subject']}
ドキュメント
以下記載なので、不明
Returns
The outputs of this operation are dynamic.
あとがき
これで、For a selected message を使って、スレッド内返信が出来るようになりました
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
What you can do with signing up