特定メールが届いたかどうか、フォルダにファイルが配置されたかどうかを監視したい

あるフォルダに申請書Excelが配置されたら登録処理を行いたい✨
指定された件名のメールを受信したら処理を行いたい✨

このような自動化を行いたいことって結構あります🚀
人が常時監視する代わりに、ロボットが監視してすぐに対応してくれたらとっても楽ですよね🤖🔥

だがしかし😐
このような監視系の処理はUiPathではあまり相性が良くないのです(;´・ω・)良くなかったのです🤔

指定したフォルダを定周期でチェックし、ファイルがあるかどうかを確認するワークフローを作ること自体は簡単で、昔のバージョンからできます。

監視処理プロセスを作ること自体に問題はないのですが、実行に課題があるのです。
UiPathで同時に実行できるプロセスは1つだけですので、作成したフォルダ監視プロセスを実行して、フォルダ監視を行っている間、他のプロセスは動かせません。

もし1日中監視しようものなら、他の自動化プロセスは実行できず、使い勝手が悪いです。
Unattended Robotという無人実行ロボットにてスケジュール実行させるやり方もありますが、こういった監視系の処理が増えれば増えるほどスケジューリングが困難になります。

こうした理由により、監視処理を諦めていたあなたに朗報です✨

UiPathの複数プロセスを同時実行できる BackGround Process(バッググラウンドプロセス) という機能をご紹介します。

BackGround Process(バッググラウンドプロセス)ってなに??

BackGround Process(バッググラウンドプロセス)とは、UI操作を行わず、バッググラウンドで動作するプロセス のことです。

これに対し、上記制限のない通常使用しているプロセスはForeground Process(フォアグラウンドプロセス) と呼ばれます。

バッググラウンドプロセスの特徴

BackGroundプロセスは、マウス操作、文字入力、画面上のテキスト取得、といったUI操作を行わない という制限が含まれる代わりに以下の恩恵を受けることができます✨

  • 複数のバッググラウンドプロセスを同時に実行できること
  • (複数)バッググラウンドプロセス実行中にも、1つのフォアグラウンドプロセスを実行できること

え、マジですか(混乱)❓これ、とっても良くないですか❓ (これまで監視系の処理したいならUiPathじゃなくて ○○ がいいですよとか言ってましたけどコレあるならUiPathでもいいですね)

また別の機会にご紹介したいと思いますが、ミニロボとも相性がいいんですよ。

ミニロボ:業務ではなく、作業レベルのちょっとした処理を自動化し、複数人で日常的に使うことで効果を積み上げるミニロボット🤖

ちょっとした監視系の作業をバッググラウンドプロセスで自動化し、複数同時に処理させるといったことが可能になります。

  • RPAって、大規模業務では使えるけど、ちょっとした作業の効率化には使いづらいといった声の解消
  • ミニロボを通じてRPAの便利さや効果を知ってもらうことを後押しする

のにとっても適した機能じゃないかな?と思っており、個人的には大好きな機能です。

UiPath公式リファレンス
https://docs.uipath.com/robot/lang-ja/docs/background-process-automation

ちなみに上記公式HPにも記載がありますが、バッググラウンドプロセスはAttended Robotでのみ利用可能です。

バッググラウンドプロセスを見てみよう

ここではUiPath StudioやUiPath Assitatntでのバッググラウンドプロセスの扱い方を見ていきます。

バッググラウンドプロセスのプロジェクト

UiPath Studioの標準テンプレート群の一つとして表示されています。

pic1

上記でバッググラウンドプロセスを作成した場合と、通常のフォアグラウンドプロセスの違いを見てみましょう。

バッググラウンドプロセスではUI操作を行わないため、 UiPath.UiAutomation.Activities が含まれておらず、代わりに UiPath.WebAPI.Activities が含まれていますね。

pic2

もちろんこれら以外のアクティビティパッケージを追加し、利用することも可能です。

バッググラウンドプロセスのプロジェクト設定

続いてプロジェクト設定を見てみましょう。 バッググラウンドプロセスでは、 「バッググラウンドで開始」 が「はい」になっています。 実はここが最も重要で バッググラウンドプロセスかどうかは「プロジェクト設定 - バッググラウンドで開始」オプションの設定値によって決まります。Orchestrator上でも「バッググラウンドプロセスとして扱う」といったような設定項目はないため、本設定を忘れずに行う必要があります。

pic3

バッググラウンドプロセスを作成するには「プロジェクト設定 - バッググラウンドで開始」オプションを「はい」にする必要がある

いつものフォアグラウンドプロセスとして作ったものを、設定一つでバッググラウンドプロセスに変換できるのは嬉しいですね。

UiPath Assistantでのバッググラウンドプロセスの表示イメージ

バッググラウンドプロセスでは、プロセス名の前の❏マークが付きます。
下図のように、2つ以上のプロセスが実行することができ、❏マークで見分けることができます。

pic4

UiPath Orchestrator上での表示イメージ

UiPath Orchestratorにパブリッシュしたバッググラウンドプロセスは以下のように表示されます。

pic5

PC起動時に自動で開始するようにするには

UiPath Orchestratorで、対象のバッググラウンドプロセスを選択し、プロセスの編集画面を開きます。
その他の設定画面に、「プロセスを自動的に開始」オプションがONにすることで、PC起動時に自動起動するように設定できます。

pic6

これをうまく使えば、 指定のフォルダやメールを監視して、一定の処理を行うバッググラウンドプロセスをPC起動時に開始して、他の作業に全集中する ことができそうですね!

別の記事で、バッググラウンドプロセスのサンプルをご紹介したいと思います🤖✨
面白そうだな、と思ったら是非一度触ってみて下さい🚀🔥