こんにちは。まいのりです。
普段はUiPathを使って業務自動化をしていますが、業務改善のアイデアとして Microsoft Forms → Power Automate → UiPath ロボット実行 の流れを試してみました。
Formsの回答を受けて、そのままロボットを動かし、社内システムへ登録できたら、かなり運用がラクになります。

今回はPower Automate初心者の立場から、「Forms送信イベントをキャッチしてUiPathジョブを開始する」方法をまとめます。

目次

  1. シナリオ概要
  2. Microsoft Formsの利点
  3. Power AutomateでForms送信を監視する設定
  4. Power AutomateからUiPathジョブを開始する設定
  5. 引数を渡す方法
  6. まとめ

1. シナリオ概要

今回の想定業務は「社内申請フォームの自動処理」です。
流れは以下の通りです。

  1. Microsoft Formsでアンケート形式の申請フォームに回答
  2. Power Automateが新しい回答送信イベントを検知
  3. UiPathロボットを動かし、社内システムへ登録する

2. Microsoft Formsの利点

Formsは以下の点で便利です。

 

・入力項目の作成が簡単
・項目ごとの制限設定や案内文作成も直感的にできる
・アクセス管理が容易
・とにかく運用開始まで短期間で可能

 

軽めのPoC(概念実証)や社内改善のネタには最適だと感じます。

3. Power AutomateでForms送信を監視する設定

Power AutomateにはForms向けの「新しい応答が送信されるとき」トリガーが用意されています。あらかじめ作成したFormsのフォームとPower Automateのフローを接続させて、Formsの回答が送信されたらフローが動くように設定します。

  1. 新しいフローを作成
  2. トリガーを「新しい応答が送信されるとき」に設定

  3. 対象のフォームを選択

  4. 1,2と同じ手順で、「応答の詳細を取得する」アクションを追加

このアクションを追加することで、Formsの回答内容詳細を取得し、後の処理で使用できるようになります。パラメーターは以下です。

4. Power AutomateからUiPathジョブを開始する設定

Power AutomateにはOrchestrator Connectorアドインがあります。
その中の「ジョブを開始」アクションを使って、UiPathのジョブを呼び出すように設定します。
※参考
・UiPathドキュメント(概要):Add-ins - 概要
・Microsoftドキュメント(詳細):UiPath Orchestrator - Connectors | Microsoft Learn
    ※パラメーターはMicrosoft側のドキュメントをご参照ください

 

  1. 組織名とテナント名を入力して、UiPathに接続(サインイン)

  2. 「パラメーター」タブでフォルダーを選択

  (動かしたいジョブのプロセスが置かれているOrchestratorのフォルダー)

  3. プロセス名やその他の項目を設定 
  ↓設定例

  ↓上記設定をJSONコードで確認することも可能です
   ※「コードビュー」タブから確認

5. 引数を渡す方法

今回は申請フォームの回答内容をUiPathプロセスへ渡します。
Power Automate側で「Body/startInfo/InputArguments」に式を挿入して設定しました。

※"In_ContractID"はUiPathロボットのMain.xamlで作成した入力引数名です
※ outputs('応答の詳細を取得する')?['body/フォームID'] は、「応答の詳細を取得する」アクションの出力を参照しています

6. まとめ

今回はForms送信 → Power Automate → UiPathジョブ開始 の流れを試しました。
Power Automate初心者でも、UiPathコネクタで接続設定をすればすぐジョブ実行が可能でした。
Forms+UiPathの組み合わせは、稼働までのスピード感と運用のしやすさが魅力です。
応用例として、承認フローとの連携や外部メール送信なども組み込めそうです。
ぜひみなさんの業務でも試してみてください!