ArcGIS Survey123 の回答通知を Power Automate で自動化しよう ②

EyeCatch

はじめに

本記事は、「ArcGIS Survey123 の回答通知を Power Automate で自動化しよう ①」に続く中級編です。
初級編では、ArcGIS Survey123 で回答が送信された際に、ArcGIS Connectors for Power Automate のコネクターを使ってメールで自動通知する方法をご紹介しました。実際の業務では、メール以外の通知手段の利用や、回答内容に応じた通知先の切り替えなど、業務に沿った柔軟な通知方法の運用が求められることがあります。
今回は一例として、Microsoft Teams への通知に加え、通知先を切り替える条件分岐の設定など、実践的な活用方法をご紹介します。

完成イメージ

「道路異常報告フォーム」で回答が送信されたら、報告種別ごとに通知先のチームを変えて Teams で通知するフローを作成します。例えば、「落下物」が報告されたら、「落下物対応チーム」のチャネルで自動通知します。
今回は、「道路異常報告フォーム」というフォームを例として使用します。

Online_4PA②_Completed Image_1
Online_4PA②_Completed Image_2

Survey123 でのフォームの作成方法については、ArcGIS Survey123 スタートアップ ガイドをご参照ください。

フローの作成と実行

Power Automate の新規フローの作成方法は、初級編のブログをご参照ください。本記事では、Survey123 の「道路異常報告フォーム」を選択済みの、[アンケートの回答が送信されたとき] トリガーの設定を完了した状態から解説します。

日時データの変換

ArcGIS Survey123 のフォームで入力された日時は、UTC を基準としてエポック (UNIX) タイム形式で格納されます。日本時間の表記およびエポック タイム形式で格納される値を読みやすい日時形式「yyyy/MM/dd HH:mm」に変換するため、今回は 2 つのアクション コネクターを使用します。
[日時の形式を変換する] では、エポック タイム形式を “YYYY-MM-DDTHH:mm” の ISO 8601 形式に変換、[タイム ゾーンの変換] では、タイム ゾーンの変換と表示する日時形式を指定します。

  1. フロー作成画面の [+] ボタンをクリックし、検索ボックスに「ArcGIS」と入力して [ArcGIS] の [日時の形式を変換する] を選択します。
Online_4PA②_create_1
  1. [日時] に [動的コンテンツ] の [feature attributes 報告日時] を設定します。
Online_4PA②_create_2
  1. [日時の形式を変換する] の下の [+] ボタンをクリックし、検索ボックスに「タイム」と入力します。そして、 [日時] の [タイム ゾーンの変換] を選択します。
Online_4PA②_create_3
  1. [パラメーター] タブのそれぞれの項目を下記のように設定します。
    ・[Base time]: [動的コンテンツ] の [文字列形式で表した日時] を選択
    ・[Source time zone]: [(UTC) Coordinated Universal Time] を選択
    ・[Destination time zone]: 今回は日本時間で表示するため、[(UTC+09:00) Osaka, Sapporo, Tokyo] を選択
    ・[Time unit]: [カスタム値を入力する] を選択し、「yyyy/MM/dd HH:mm」と入力
Online_4PA②_create_4

これで日時データの変換の設定は完了です。

条件分岐と Teams での通知設定

報告種別ごとに通知先のチームを変えるため、条件分岐を設定し、Teams のチャネル投稿による通知設定を行います。今回は「スイッチ」を使用した分岐を作成します。

  1. 「タイム ゾーンの変換」の下の [+] ボタンをクリックし、検索ボックスに「スイッチ」と入力して [コントロール] の [スイッチ] を選択します。
Online_4PA②_create_5
  1. 左上のアクション名を「スイッチ」から「報告種別による分岐」に変更します。
  2. パラメーター タブの [オン] に、[動的コンテンツ] の [feature attributes 報告種別] を設定します。
Online_4PA②_create_6
  1. [報告種別による分岐] の左側の [+] ボタンをクリックし、ケースを追加します。
Online_4PA②_create_7
  1. 左上のアクション名を「Case」から「落下物」に変更し、[パラメーター] タブの [等しい] に、「落下物」と入力します。
Online_4PA②_create_8
  1. 「落下物」ケースの右側にある「▽」ボタンをクリックし、[+] ボタンを押下します。
Online_4PA②_create_9
  1. 検索ボックスに「Teams」と入力し、Microsoft Teams の右側の [詳しく見る] をクリックします。
  2. [チャットまたはチャネルでメッセージを投稿する] を選択します。
Online_4PA②_create_10
  1. パラメーターを下記のように設定します。
    ・[投稿先]: チャネル
    ・[チーム]: 落下物対応チーム
    ・[チャネル]: 落下物対応チームの任意のチャネル
    ・[メッセージ]: 投稿内容に含めたい回答を [動的コンテンツ] で指定
    なお、[報告日] は [タイムゾーンの変換] の [Converted time] を利用します。
Online_4PA②_create_11
  1. 「報告種別による分岐」の中の [+] ボタンをクリックして、手順 5 から 9 を「報告種別」の数だけ繰り返し、ケースを作成します。また、「報告種別」に回答が含まれない場合に実行する「既定」ケースを必要に応じて設定します。
  1. 右上の [保存] をクリックし、このフローを保存します。
Online_4PA②_create_13

回答の送信

まず、報告種別を「落下物」として、Survey123 のフォームの回答を送信します。

すると、数秒後に Power Automate で指定した Teams の落下物対応チームの「道路異常報告フォーム自動通知」チャネルに報告内容が投稿されました。本文には、Power Automate で設定した Survey123 フォームの回答内容も確認することができます。

Online_4PA②_send_1

同様に、他の報告種別の場合でも、それぞれのチームのチャネルに投稿されました。

Online_4PA②_send_3

応用: 確認用マップの URL を自動作成

[アンケートの回答が送信された時] トリガーでは、[動的コンテンツ] の [feature result objectId] で回答された特定のフィーチャの OBJECTID を取得できます。取得した OBJECTID を ArcGIS Online のアプリの URL パラメーターで利用することで、フォームで回答された場所をダッシュボードやマップで表示するための URL を自動生成できます。
例として、ArcGIS Dashboards のマップで確認するための URL を、「条件分岐と Teams での通知設定」の手順 9 で設定してみました。

Online_4PA②_Advanced_1

今回は、あらかじめ ArcGIS Dashboards のURL パラメーターでのアクションを構成したダッシュボードを使用しました。ArcGIS Dashboards の URL パラメーターについてはヘルプをご参照ください。

Teams のメッセージ内の URL を開くと、投稿された場所にズームするダッシュボードのマップを表示することができました。通知内容を、テキストによる情報に加え、投稿された場所を視覚的にマップで把握したい場合に便利です。

Online_4PA②_Advanced_2
Online_4PA②_Advanced_3

最後に

本記事では、ArcGIS Survey123 の回答を Microsoft Teams へ自動通知する方法に加え、条件分岐の設定方法についてご紹介しました。

これらの機能を活用することで、回答内容に応じた柔軟な通知や効率的な情報共有を実現できます。 ArcGIS Connectors for Power Automateを利用することで、Survey123 の回答通知にとどまらず、さまざまな業務プロセスの自動化が可能です。ぜひご自身の業務に合わせてフローをカスタマイズし、より効果的な運用にお役立てください。

本記事で紹介している手順の実施によるトラブルシューティングやお問い合わせ、ArcGIS Connectors for Power Automate 以外のコネクターの設定方法に関しましては、ESRIジャパンのサポート サービスの対象外です。詳細は下記の FAQ ページの「ArcGIS for Microsoft 製品」セクションをご参照ください。
標準サポート サービスにおけるお問い合わせに関する留意事項

フォローする