Integration Serviceとは
UiPathのAutomationCloudのサービスで、他社のサービスと連携することにより、比較的簡単にサービスに関する操作を行えるようになるシステムです。
一昔前まではこのサービスがなく、他社サービスを操作する場合はAPIを利用してやるしかなかったものが、このシステムのおかげで、サービスの種類に制限があるものの、簡単に連携できるようになりました。
Integration Serviceの設定
AutomationCloudにログインし、左側のメニューからIntegration Serviceを選択します。
利用する予定のOrchestratorのフォルダを選択して、コネクタ欄から追加したいコネクタを選択します。(今回はGmail)
Gmailに接続から接続します。(Gmailにログインが求められ必要な権限などが表示されるので確認した上で許可します)
コネクションが追加されたことを確認します。
Studioでワークフローを開発する
次にStudioでIntegration Serviceで動作させるワークフローを開発します。
引数の設定
Integration Serviceでは次の引数を設定することが推奨されます。(しなくても動きますが、トリガーとなった元の情報が取得できないため、困る場合があります)
※2023/11/4現在、不具合なのか仕様なのかわかりませんが、引数パネルからだとIntegration Serviceで設定しないといけない引数が見えないようです。代わりにデータマネージャーの引数欄を右クリックして引数を一括作成のボタンから作成ができるようです。
次の4つの変数を作成します。(画像では方向がInOutになっていますが、最低限はInだけ必要です。)
・UiPathEvent
・UiPathEventConnector
・UiPathEventObjectType
・UiPathEventObjectId
実行結果を見る限り以下のような情報も引数に設定することで取得できるようです。
※公式にはこのパラメータの記載がないのでGmail限定といった可能性もあります。
・UiPathTime
・UiPathAdditionalEventData
ワークフロー構成を考える
今回はGmailで特定のメールを受信したときに本文を取得したいといった例を考えます。
事前に上記の引数をInOutに設定し、適当なメール受信時の動作結果を取得します。
これを見る限り、UiPathEventObjectIdにメールのIDデータが入っていそうです。
なのでこれを利用します。
パッケージをインストール
Integration Serviceを利用するには利用したいサービスに応じたパッケージをインストールする必要があります。今回はGmailなのでStudioからパッケージを管理で「Google Workspace」を導入します。
ワークフローへの実装
パッケージをインストールしたら、「メールをIDで取得」アクティビティを用いて、実際にトリガーされた対象のメールを取得します。
「メールをIDで取得」を配置したらGmail欄にはIntegration Serviceで設定したコネクションを、メールIDには「UiPathEventObjectId」、取得されるメールには任意の変数(GmailMessage型)を設定します。
ここでは変数はoutputmailとしています。
あとは設定した変数からほしいデータを抽出するだけです。
(例)
件名を抜き出したい:outputmail.Subject
本文を抜き出したい:outputmail.Body
Integration Serviceのトリガー設定
最後にトリガー条件を追加します。
Integration Serviceに戻り、コネクションを設定したフォルダからトリガーを追加を選択します。
トリガーの設定画面が開くので設定を行います。
※データフィルターは必ずしも必要ではありませんが、想定外の条件で引っかかって動作してしまう可能性があるので設定をお勧めします。
ここまで来たらあとは設定を完了し、実際に条件に合わせたメールを受信してみて動作確認をしてみましょう。
設定したトリガーを選択して試行の履歴で成功と出ていればうまくトリガーは機能しています。
あとは実際にOrchestrator側のジョブが最後までちゃんと動いているか確認しましょう。
参考資料
Integration Service ユーザー ガイド ー トリガー
https://docs.uipath.com/ja/integration-service/automation-cloud/latest/user-guide/triggers
コメント