文系・非エンジニアのRPA日記

友達から頼まれたことがきっかけでRPAに取り組むことになり、なんだかはまってしまった人のブログです。調べたけどよくわかんなくて何とか解決できた内容を載せています。ほかにちゃんとした説明があったり、間違っているとかおかしいこと書いてたらすみません。

【UiPathメモ】メールを受信したら次のアクティビティを実行させる

地方の中規模企業で「RPA推進担当」になった友達から

「色々な理由で会社のPCにUiPath入れられないから、
 会社のPCから家のPCにメールして
 受信したら自動処理して結果をメールで戻したい」

というリクエストを受けました。

こっちはUiPath初心者なのに無茶ぶりしてくんなーと思いつつ

相談されたから色々検討してみました。

(ちなみに、僕がUiPathを始めたきっかけになった友達とはまた別です)

 

やりたいこと:「メールを受信したらメッセージを表示させる」(メール取得をトリガー(きっかけ)にして次のアクティビティを開始する)

やりたかったことは

新着メールを受信

→ それをきっかけにして次に設定したアクティビティを実行(ここではメッセージを表示)

です。

友達がやりたいのは

会社から自宅PCにメールを送る

自宅PCでUiPathをスタンバイしておく

メールが来たら自動処理を実行する

自動処理したファイルを会社PCにメールで送り返す

ということです。

彼がやりたいことは詳細にはわからないので、僕はとりあえず「受信したら実行!」が成功すれば良いなと思い、メッセージ表示にしています。

なお、ここではメールをOutlookにしています。

 

結論

f:id:Harryike:20190622172045p:plain

全体フローチャート

f:id:Harryike:20190622172529p:plain

新着メッセージを取得

f:id:Harryike:20190622172643p:plain

メールを受信するまで待機

f:id:Harryike:20190622172904p:plain

表示メッセージ

f:id:Harryike:20190622171111p:plain

成功!

実行動画

youtu.be

 


やったこと

英語版UiPathの下記ページにアクセスし、サンプルをダウンロード

 

Email Automation. Mail Trigger Sample.

https://www.uipath.com/kb-articles/email-automation-mail-trigger-sample

 

① Mail_Trigger_Sample.xaml

② Process_Email.xaml

両方ともダウンロードします。

 

①のファイルを編集

【新着メッセージを1通取得シーケンス】

サンプルではGmailですがここではOutolookに変えています(そっちの方が簡単だから)。

画像では変数も名前を少し変えましたが、必ずしも変える必要はないです。

一点だけ、IMAPでメール送信するアクティビティを削除する場合、出力の変数をコピーして入れ替えたアクティビティの出力変数に貼り付けておきます。

 

【1分間待機シーケンス】

プロパティを変えて待機時間を変更することができます。

テストする時は、15秒~30秒くらいでもいいかもしれません。

自宅で待機させるときは、どれくらいがいいんでしょうね・・・頻度によるかも。

 

【メッセージを表示シーケンス】

Condition(条件)欄

mailMessage.Subject.Contains("keyword")

mailMessage.Subject.Contains("テスト")

に変える。

ここでは「テスト」にしています。

 

Process_Email.xaml

Body

好きなテキストに変えます。

ここでは

"メールを受信しました!(このメッセージは新着メールを受信した際に自動で表示されます)"

にしています。

 

プロジェクト実行後、新着メールを受信して、件名に「テスト」が含まれていれば、このメッセージが表示されます。

そして、新着メールがない、または新着があっても「テスト」が含まれていなければ、プロジェクトは待機したままになります。

実行後、Outlookにメールを送って、新着受信するとメッセージが表示されました(これも達成感半端なかった)

 

解説

色々検索してみたのですが、ほんとにさっぱりでした(はぁーさっぱりさっぱり)。

なんせ「トリガー」っていう言葉に騙されて

「アクティビティを監視」

「ファイル変更トリガー」

ばかりに気を取られていたわけです。

それで、いやーこれできないんじゃねーと思っていました。

もしかして、そんなニーズってないんじゃない? 

あいつのニーズ特殊なんじゃない?

とか思ってあきらめかけていました。

 

で、日本語の記事を探していても、らちがあかんなと思って英語で検索してみたら備後、いや、ビンゴでした。

しかも本家のUiPathサイトにあるし・・・なんで日本語引っ掛からなかったんだろう。いや、もしかして検索の仕方によってはあるのかも。

前の記事にも書いていますが、僕は素人ですのでこちらもご参考までお願いします。