UiPath×Salesforce連携について勘所を大公開します

【UiPath×Salesforce連携の意義】

UiPath×Salesforceのやり方は大きく分けて2パターンあります。

すなわち、

①「ブラウザでSalesforceにアクセスし、UI上で操作する方法」と、

②「Salesforce連携アクティビティを使用して操作する方法」です。

前者はRPAにおいて非常にスタンダードな手法ですが、大変に難儀します。

それは、Salesforceが動的に生成されるUIだからです。

現状のUiPathの機能では、動的に生成される要素をうまく捕捉できない場合があります。

そうすると、絶対座標で捕捉するなど手法が限られ、かつ不具合が発生しやすい状態に陥りやすくなります。

これを解決してくれるのが後者の②です。

レポートの取得、テーブルの更新、メールやコメントの送信などSalesforceで行いたい大抵の作業がアクティビティ・パッケージとして利用可能です。

アクティビティ(=API経由)で処理を行うため、UIの操作が発生せず、要素の捕捉が難しい上記問題をスムーズに解決してくれます。

【導入方法】

下記ウェブサイトよりダウンロード可能です。(要ログイン)

https://connect.uipath.com/ja/marketplace/components/salesforce-activities-extention-package

その後、ローカル(デフォルト:C:\Program Files (x86)\UiPath\Studio\Packages)に保存するか、UiPath Orchestratorにアップロードし、

UiPath Studio上のパッケージマネージャにてインストールを行えば準備完了、使用可能となります。

なお、パッケージマネージャ上でデフォルトにてインストール可能な「UiPath.Salesforce.Activities」につき当方としては非推奨となります。

上記の拡張パッケージに比して、利用可能なアクティビティ数が少なく、かなり自動化可能な業務が限られてしまうおそれのあるためです。


Salesforceのレポート機能(データ抽出)の連携】

Salesforceのレポート機能は、Salesforce内のデータを特定の目的に沿ったテーブルデータとして出力してくれるありがたい機能です。

RPAでは、このレポートが処理のインプットになるパターンが往々にしてあります。

すなわち、RPAで処理したい元データをレポートに表示し、そのレポートを1行ずつ処理していくイメージです。

UIで操作する場合、レポート画面から当該レポートをダウンロードし、読み込むのが通常ですが、

今回は連携アクティビティによる操作方法をご紹介します。

【レポート取得で使用するアクティビティ】

普通に連携アクティビティでレポート情報を利用したいと考えた場合、

「Execute Report」というアクティビティを使用することになります。

こちらのアクティビティは一つだけ問題があり、「2000件までしかデータ取得できない」のです。

Salesforce API仕様上の問題。

そこで、本問題を解決するのが「Get BIG DATA」アクティビティです。

これはレポートから直接データを取得するアクティビティではなく、

「レポートと同じように条件を指定してテーブルから情報を取得できる」アクティビティとなります。

SQL(厳密にはSOQL)で抽出条件を指定する必要があるので、少々難易度は上がりますが、これであれば2000件以上のデータも問題なく取得することが可能です。


【オブジェクトの操作】

連携アクティビティにおけるオブジェクト操作については、下図のようなことが主に可能になっております。

※UiPath社HPより抜粋。

これをUI操作で行おうとすると、

Salesforceにログインし、当該画面に移動し、データを取得したり更新したりをする必要があります。

前回までに述べている通り、Salesforceは非常に画面要素の取得が難しい構成であるため、

UIでの操作はどこかで行き詰まる蓋然性が高いです。

その点、本アクティビティを使用することにより、問題が解決しやすくなります。


「リード」オブジェクトを例に挙げると、下図の通り、リードのCRUDが可能です。

ここでもGet Lead ListアクティビティではSOQLが必要となりますが、よほど複雑な条件でない限りそこまで難しくはありません。

Add LeadやUpdate Leadアクティビティについては、「何の項目に何の値を入れたいか?」だけを記述すればよい構造になっているため、より優しいUIとなっています。

Delete Leadに至ってはLead IDのみ入力すれば消せます。

もちろん、リード以外にも様々なオブジェクトに対する操作も同様に可能です。


【Chatter操作】

営業同士がSF上で手軽に情報交換できる機能である「チャター」についても、

Salesforce連携アクティビティで操作可能です。

「Add Comment」と「Add Message」アクティビティの違いについては、

「Add Message」が親メッセージの追加で、「Add Comment」がその親メッセージに対するコメントの追加です。


【Email操作】

そのままEmailの操作です。

ただ、もし可能ならメール機能についてはOutlookメールでの操作をオススメします。

機能がかなり限られ、CC、BCCの指定などができないためです。

【ユーザ管理】

ついにはユーザ管理まで可能です。

営業人員の出入りが激しい会社や、セキュリティのためにかなり頻繁にパスワードを変更している会社などは、ここまで自動化できると、営業事務の負担軽減が図れそうです。



UiPath×Salesforce連携について、不明点等ございましたらぜひ弊社にお問い合わせください。

→お問い合わせはこちら