6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【UiPath】外部サービスをトリガにしたプロセス起動方法(Integration Service)

6
Posted at

はじめに

UiPathには、Integration ServiceというiPaaS的なプロダクトがあり、これを使うと外部サービスのイベントをトリガにして、UiPathのプロセスを簡単に起動することができます。

Integration Serviceと類似したWorkatoというiPaaS製品についても記事を書いていますので、合わせてご覧ください。

使うもの

※クラウド環境は2022年4月時点のもの

  • UiPath Integration Service
  • UiPath Cloud Orchestrator
  • UiPath Studio 2021.10.4

コネクションを作成

今回は、Salesforceで取引先レコードが作成されたことをトリガにして、ロボットを起動してみます。
Integration Serviceの「コネクター」から対象のサービスを選択します。
コネクター1.png

以降は選択した外部サービスによって変わります。
Salesforceの場合は、対象環境が「Production」か「Sandbox」かを選択します。
コネクター2.png

OAuth認証に対応しているサービスの場合は、認証ページに飛ばされ、アクセスを許可します。お馴染みの流れです。
コネクター3.png

作成できました。
コネクター4.png

ワークフローを実装

次にトリガから呼び出されるワークフローを実装します。
基本的には好きなように実装すればいいのですが、1点だけルールがあります。

以下の引数を作成してください。これらの引数はトリガからジョブが実行される際に自動的に値がセットされます。

  • [IN] String UiPathEventConnector
  • [IN] String UiPathEvent
  • [IN] String UiPathEventObjectType
  • [IN] String UiPathEventObjectId

ワークフロー1.png

実装が完了したら、Orchestratorへパブリッシュして、プロセスを作成しておきます。
現時点のIntegration Serviceの仕様では、トリガからジョブを実行する際、特定のマシンやアカウントを指定することができないので、マシンを特定の1台に絞りたい場合は、フォルダーを分けて対応してください。
プロセス1.png

トリガを作成

Integration Serviceに戻り、トリガを作成します。
接続コネクターと、トリガイベント、実行するプロセスを選択します。

トリガイベントは外部サービスによって異なりますが、Salesforceの場合は「レコード作成時」と「レコード変更時」をトリガとすることができます。
また、対象のオブジェクト(テーブル)(Integration Service上では「記録」とか、ちょっと翻訳が変)は、接続したSalesforceの環境上のものが選択できます。標準オブジェクトもカスタムオブジェクトも選択できます。ちなみにオブジェクト名が、API参照名(物理名)での表示なので、表示名(論理名)にしてほしいなあと思っています。
トリガ1.png

注意:フォルダー名に日本語(2バイト文字)を使用すると、トリガ作成時にエラーになるようです。
この程度のバグは直ぐにFixされると思うので、気にする必要はないかと思いますが。
エラー1.png

試してみます

まずは、Salesforceで取引先を作成します。
SFDC1.png

数分後、ジョブが実行されたことが確認できました。
公式のドキュメントによると、5分おきのポーリングでSalesforceの状態を監視しているようです。現時点の仕様ではポーリング間隔の変更はできません。
ジョブ1.png

Orchestratorのジョブ画面でも確認できます。実行元が「連携トリガー」となっています。
OCジョブ1.png

ジョブの引数を確認してみます。
「UiPathEventObjectId」にセットされた値は、Salesforce上の作成された取引先レコードの主キーとなるものです。
Salesforceからは作成した取引先レコードの中身(会社名や電話番号などの値)は渡されないのが残念です。ワークフロー内で作成されたレコードの値を使いたい場合は、別途Integration Serviceアクティビティパッケージを使って、値取得する必要があります(UiPathEventObjectIdをキーにしてレコード取得)。

OCジョブ2.png

参考:ワークフロー内でIntegration Serviceを使用する場合は、別途アクティビティパッケージをダウンロード・インストールします。
Salesforceの場合は、UiPath.Salesforce.IntegrationService.Activitiesです。SFDC系アクティビティパックは複数存在するので紛らわしいです。UiPath.Salesforce.Activitiesではありません。
ワークフロー2.png

おわりに

いかがだったでしょうか。割と簡単だったと思います。
外部サービスのイベントをトリガにできることにより、更に自動化の幅が広がるかと思うので、積極的に活用していきたいプロダクトだと思いました(通常のStudioやRobotのライセンスにIntegration Serviceの無償枠が付いているようです)。

本記事は以下の公式情報を参照しています。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?