【Power Automate】
もう見逃さない!エラー通知設定

公開日:

Power Automate(クラウドフロー)の実行が失敗すると、フローの所有者にメールで通知が届きます。…が、このメール通知、​​​​​​​週1回しか送られてきません。タイミングによってはずっとエラーになっていたのに随分経ってから気づく、なんてことも💦
エラーが発生した都度、フロー詳細画面と実行履歴へのリンクのついたメールを送る方法をご紹介します。


デフォルトのエラー通知

クラウドフローで何らかのエラーが発生して実行がうまくいかなかった場合、フローの所有者宛にメールが届きます。

「過去1週間で~」とある通り、週1回の頻度でまとめて通知が来ることになっています。

もっと早く気づきたい!という場合、エラーが発生したら都度通知をするように、フロー内のアクションとして設定する方法があります。


メール送信アクションの設定

実行が失敗しがちなアクション、スコープ(アクションのグループ)、またはフロー全体の最後に、メール送信 アクションを追加しましょう。
(Teamsで通知を受け取りたい場合はTeamsのアクション「チャットまたはチャネルでメッセージを投稿する」でも、もちろんOKです👌)

ポイントは、件名にフロー名、本文にフロー詳細へのリンクと、実行履歴へのリンクを含めること。どのフローで、どんなエラーが起きたのかの確認がしやすくなります!

エラー時はこんなメール通知が来れば分かりやすい!

「メールの送信」アクションの設定

アクションの追加 → 標準 > Office 365 Outlook > メールの送信(V2)

「メールの送信」アクションの設定をしていきましょう。
宛先はフローの所有者のほか、フォローできるチームメンバーや関係者をCCに入れておくと良いでしょう。

フローの情報をメールに表示させるには、Workflow関数 を使います。

Workflow関数とは?

実行時にフロー自体の情報を取得する関数です。
フロー名や実行環境などを取得することができます。

↓公式サイトにもWorkflow関数を利用してフローへのリンクを設定する方法が載っています。

”たとえば、リンクをたどってフローに戻るカスタム電子メール通知をフロー自体から送信することができます。 これらの通知に、電子メール タイトルにフローの表示名を含み、次の構文に従う HTML リンクを含めることができます。

<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>

式関数のリファレンス ガイド - Azure Logic Apps | Microsoft Learn

フロー名の挿入

まずは件名の設定です。「エラー:フロー名」などにすると何の通知なのか分かりやすいですね。

workflow()['tags']['flowDisplayName']
とすることで、フロー名(表示名)を入れることができます。

動的なコンテンツの追加 で「式」のタブに切り替えて、上記のworkflow関数を入力し(コピペでOK)、OKボタンを押して確定しましょう。

リンクの挿入

続いて、本文を設定していきます。実行履歴の一覧が表示されるフロー詳細ページと、その実行単体の履歴ページへのリンクをそれぞれ貼っておくと、エラーの確認がスムーズです。

文章を入力したらリンクを設定します。
URLは構成が決まっているので、Workflow関数を組み合わせて設定することができます。

環境IDworkflow()['tags']['environmentName']
フローIDworkflow()['name']
実行IDworkflow()['run']['name']

リンクを貼りたい文字列を選択して、右上のリンクボタンを押します。
Link Target の部分に、下記のURLをそのままコピーして貼り付ければ完成です!

フロー詳細

【URLの構成】 https://make.powerautomate.com/environments/環境ID/flows/フローID/details

⬇️⬇️⬇️

https://make.powerautomate.com/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details

実行履歴

【URLの構成】 https://make.powerautomate.com/environments/環境ID/flows/フローID/runs/実行ID

⬇️⬇️⬇️

https://make.powerautomate.com/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/runs/@{workflow()['run']['name']}

💡「コードビュー」でHTMLを書き込む💡

メール本文のエディター内にある </> ボタンを選択すると、メール本文をHTMLで記入することができます。
以下をコピペいただくと、リンクの設定を開く必要がなくて簡単です♪
(文章の部分はお好みで変更してください。)

<p>@{workflow()['tags']['flowDisplayName']}の実行に失敗しました。<br>        
<a href=https://make.powerautomate.com/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>フロー詳細を開く</a><br>
<a href=https://make.powerautomate.com/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/runs/@{workflow()['run']['name']}>実行履歴を開く</a><br>
このメールは自動送信です。</p>

これで、Power Automate のサイトを開いて、監視 > クラウドフロー活動 …と辿っていかなくても、マイフロー の一覧を眺めて「どれだっけ?」と探さなくても、メールにあるリンクをクリックするだけで直接フローの詳細画面・実行履歴画面が開けます。手間なく必要な情報にたどり着けて便利♪


実行条件の設定

フローの実行が失敗した時だけメール通知が送信されるように設定しましょう。

アクション右上の[・・・]三点ボタンから、実行条件(=どんな場合にそのアクションを実行するか)を設定することができます。

デフォルトは、前のアクションが成功した場合、になっています。
「に成功しました」のチェックを外し、それ以外の3つにチェックを入れると良いでしょう。(場面に応じて不要なものは チェックなし のままにしてください。)

実行条件の設定をすると、アクションを繋ぐ矢印が赤の点線に変わり ⓘマーク がつきます。


「失敗」として終了させる

※途中のアクションがエラーになると、フロー実行全体は「失敗」として記録されるよう動作が変更になっています。

途中のアクションがエラーになっても、フローの最後にあるエラー通知メールを送信するアクションが成功すると、最終的には正常に実行完了したものとして実行履歴は【成功】として記録されます。

これでは、どの実行でエラーが起きたのか、どのくらいの頻度でエラーが起きているのか、把握しにくくなってしまいます。
メールに履歴へのリンクを貼っているのでその場では困らないかもしれませんが、後から振り返りたい時に一つずつ開いて確認するというのではとても面倒です。

エラーが発生した実行は【失敗】として表示されるようにしましょう。

コントロール グループの「終了」アクションを追加しましょう。
状態を【失敗】に設定することで、実行履歴のステータスを【失敗】として記録することができます。

なお、実行条件を設定しているので、エラーが発生しなかった場合は「メールの送信」と「終了」のアクションはスキップされ、その前のアクションが成功したところまでで実行が完了するので、実行履歴のステータスは【成功】になります。


エラーの発生を見逃さない通知メールの設定をご紹介しました。様々な要因でどうしてもエラーは起きるものなので、すぐに気づいて対応できることが大切ですね。
今後も業務効率化の手助けになるPCの小技や便利な使い方を随時発信していきます!