UiPath Blog
前回までは基礎編として、Salesforce連携における概要や活用するための基礎知識をご紹介しました。
今回からActivity編として、Salesforceの主要な操作におけるUiPath Salesforce Activities Pack(以降、Activity)を使ったワークフローの作成方法を、16回にわたってご紹介します。
今回はUiPath StudioへのActivityの導入方法やSalesforceの環境設定といった、利用開始にあたっての準備を中心に、次の内容でお届けします。
UiPath StudioへのActivity導入
Salesforce環境設定
Activityはじめの一歩
読み終わった後、手順に沿って作業すればワークフローの作成準備を整えられると思います。
ActivityはUiPath Studio(以降、Studio)に導入して使用します。
Activityの入手方法は、①「Studioのパッケージ管理から入手する方法」と②「UiPathマーケットプレイス(旧:UiPath Connect)から入手する方法」の2つがあります。
端末から下記サイトへのアクセスが許可されている場合は前者①、許可されていない場合はアクセスできる端末をご用意のうえ後者②をご利用ください。
https://www.myget.org/F/workflow/(配下アドレス全て)
Activityのバージョンは、ご利用中(ご検討中)のStudioのバージョンに対応するものをご利用ください。以降の回では下記Activityのバージョンを前提とします。
※Studio, Activity共に執筆時点で有効なバージョンです。対応関係は今後のリリースにより変わる可能性があります。最新のリリース情報に従ってご対応ください。
以降はStudio v2019.10とActivity1.5.0の組み合わせを前提とします。
①-1 「デザイン」を選択します。
①-2 「パッケージを管理」を開きます。
①-3 「設定」を選択します。
①-4 「https://www.myget.org/F/workflow/」が有効か確認し、無効の場合は有効にします。
①-5 「すべてのパッケージ」を選択します。
①-6 「uipath.salesforce.activities」を検索します。
①-7 Activityを選択します。
①-8 バージョンを選択してインストールします。
①-9 「保存」すると、「ライセンスへの同意」画面が表示されますので、内容ご確認のうえ同意してください。
②-2 下記サイトにアクセスできる端末(または環境)をご用意ください。
https://marketplace.uipath.com/ja/listings/salesforce-activity-pack
https://www.myget.org/F/workflow/api/v2/package/UiPath.Platform/20.4.0
https://www.myget.org/F/workflow/api/v2/package/UiPath.Telemetry.Client/1.1.51
②-2 UiPathマーケットプレイスの下記サイトをブラウザで開きます。
②-3 ログインします。アカウントをお持ちでない方は取得後ログインしてください。
②-4 ダウンロードします。ダウンロードしたファイルはStudioインストール端末の下記いずれかのフォルダに保存します。
(Studioインストールフォルダ)\Studio\Packages
(任意のローカルフォルダ)
※ダウンロードの際、指定のバージョンが表示されない場合は下記サイトにブラウザでアクセスしてください。https://www.myget.org/F/workflow/api/v2/package/UiPath.Salesforce.Activities/1.5.0
②-5 別途、下記2サイトにブラウザでアクセスし、Activityと依存関係にあるモジュールをダウンロードします。保存先は②-4と同じ場所にします。
https://www.myget.org/F/workflow/api/v2/package/UiPath.Platform/20.4.0
https://www.myget.org/F/workflow/api/v2/package/UiPath.Telemetry.Client/1.1.51
※ダウンロードはサイトにアクセスすると自動的に始まります。
②-6 「デザイン」を選択します。
②-7 「パッケージを管理」を開きます。
②-8 (保存先を「任意のローカルフォルダ」にした場合)「設定」を選択します。
②-9 (保存先を「任意のローカルフォルダ」にした場合)「名前」「ソース」を入力して任意の保存先を追加します。
②-10 Activityを選択してインストールします。手順は①-5~9を参照ください。
なお、任意のローカルフォルダに保存した場合は、Attended/UnAttendedロボットでの実行時に別途考慮が必要です。
詳しくは「アクティビティフィードについて(https://docs.uipath.com/robot/lang-ja/docs/about-the-activities-feeds)」をご参照ください。
※以下でご紹介する内容は、あるSalesforce環境における設定例です。ご利用の環境で同様の設定ができることを担保するものではありません。詳しい設定はSalesforce社マニュアル(https://help.salesforce.com/articleView?id=sf.connected_app_create.htm&type=5)をご参照ください。
また固有事情の考慮方法については、弊社では回答いたしかねます。Salesforce社マニュアルを参照のうえ、必要に応じてSalesforce社にお問い合わせください。
ActivityはSalesforce APIに接続し、データの授受を行います。Salesforce APIへの接続には、ユーザ認証情報とAPI認証情報が必要です。
ユーザ認証情報はユーザ名とパスワードが一般的ですが、API接続時はセキュリティトークンが加わります。ただし端末のIPアドレスがSalesforceの「信頼済みIP範囲」に登録されている場合、セキュリティトークンは不要になります。「信頼済みIP範囲」は[設定] > [セキュリティ] > [ネットワークアクセス]で確認できます。
API認証情報は「コンシューマ鍵」と「コンシューマの秘密」からなり、Salesforceに次の設定を行うことで得られます。
以降で説明する設定ボタンや設定画面内のメニュー項目は、アクセス制限により表示されていない場合があります。該当する環境の場合は、社内のSalesforce管理者にお問い合わせください。
①-1 「設定」を開きます。
①-2 [アプリケーション] > [アプリケーションマネージャ]を開きます。
①-3 「新規接続アプリケーション」を押して登録画面を開きます。
①-4 任意の「接続アプリケーション名」を設定します。
①-5 任意の「API参照名」を設定します。
①-6 「取引先責任者メール」任意のアドレスを設定します。
①-7 「OAuth設定の有効化」をONに設定します。
①-8 自社の既定「コールバックURL」を設定します。本例では「https://localhost:8080」を設定します。
①-9 「選択したOAuth範囲」に任意のアクセス範囲を設定します。本例では「フルアクセス(full)」を設定します。
①-10 「Webサーバフローの秘密が必要」をONに設定します。
①-11 「保存」します。
①-12 結果確認画面から「コンシューマ鍵」「コンシューマの秘密」を取得します。
②-1 「ユーザアイコン」を選択します。
②-2 「設定」を開きます。
②-3 「私のセキュリティトークンのリセット」を選択します。
②-4 「セキュリティトークンのリセット」を実行します。Salesforceアカウントに紐づいているメールアドレスに、最新のセキュリティトークンが届きます。
これでSalesforce環境設定は終了です。
UiPath Salesforce Activities Packの各Activityを使用するには、「Salesforceアプリケーションスコープ」が必要になります。
「Salesforceアプリケーションスコープ」は主にSalesforceへの接続&認証を担います。配置&設定完了後のイメージは次の通りです。
接続&認証の設定は、開発用と実行用の2種類を設定できるようになっています。
開発用は各Activityのウィザードで使用される接続情報で、設定ボタンのウィザード内に設定します。値は全てプレーンテキストで設定し、変数は使用できません。
①-1 認証先環境の種類を選択します。
テスト:サンドボックス(Sandbox)環境。https://test.salesforce.com
ライブ:本番(Production)または開発者(Developer)環境。https://login.salesforce.com
カスタム:上記以外の認証先を経由する場合に選択します。選択すると認証先URLの入力枠が表示されます。
①-2 前節で取得した「コンシューマ鍵」を設定します。
①-3 前節で取得した「コンシューマの秘密」を設定します。
①-4 ユーザ名を設定します。
①-5 パスワードを設定します。
①-6 前節で取得した「セキュリティトークン」を設定します。設定不要の場合もあります。詳細は前節をご参照ください。
①-7 プロキシサーバへの接続情報を設定します。
会社のネットワーク環境にプロキシサーバがない場合は設定不要です。
「テスト接続」をクリックし正常に接続できた場合は「接続に成功」、エラーがある場合は「接続エラー」が表示されます。接続エラーは、設定に不備がある場合や、ファイアウォールから接続が拒否された場合などネットワーク上の問題がある場合も表示されます。前者の場合は設定の見直し、後者の場合は社内管理者に確認してください。
実行用はデバッグ実行時および本番実行時に有効な接続情報で、プロパティ内に設定します。
②-1 プロキシサーバへの接続情報を設定します。
会社のネットワーク環境にプロキシサーバがない場合は設定不要です。
②-2 前節で取得した「コンシューマ鍵」をString型で設定します。
②-3 前節で取得した「コンシューマの秘密」をSecureString型で設定します。
②-4 認証先環境の種類をString型で設定します。
Test:サンドボックス(Sandbox)環境。https://test.salesforce.com
Live:本番(Production)または開発者(Developer)環境。https://login.salesforce.com
Custom:上記以外の認証先を経由する場合に選択します。「カスタムサーバー」に認証先URLの設定が併せて必要です。
②-5 前節で取得した「セキュリティトークン」をSecureString型で設定します。設定不要の場合もあります。詳細は前節をご参照ください。
②-6 パスワードをSecureString型で設定します。
②-7 ユーザ名をString型で設定します。
下図のように、各Activityはシーケンス「実行」の中に入れて使用します。中に含められるActivityの数に制限はありません。また「代入」など、他のアクティビティと混在させても問題ありません。
確立された接続セッションは、原則としてSalesforceアプリケーションスコープの外に制御が移ると廃棄されますが、プロパティ「Salesforce接続」に変数を設定すると廃棄されずに引き継ぐことが可能です。引き継いだ変数を次のSalesforceアプリケーションスコープで使用する場合は、「既存のSalesforce接続」に変数を設定し接続&認証情報は設定しません。(下図参照)
セッションを引き継ぐことで接続&認証に係る処理時間を短縮できます。
繰り返しの中にSalesforceアプリケーションスコープを組み込む場合や、内包するActivityの数が多くなり分割する場合などに有効です。
ただし引継ぐ場合には、セッションの有効期限に注意が必要です。
有効期限はSalesforceの設定によるため一度、社内のSalesforce管理者に確認されることをお勧めします。基礎仕様についてはSalesforceヘルプサイト(https://help.salesforce.com/articleView?id=sf.connected_app_manage_session_policies.htm&type=5)をご参照ください。
有効期限に照らして処理所要時間が期限内に収まるものであれば問題ありませんが、収まらない可能性がある場合は再接続の対処をが必要です。(下図参照)
②-8 引き継いだセッションを使用する「Salesforceアプリケーションスコープ」です(プロパティ「既存のSalesforce接続」に変数を設定しています)。 セッション期限切れを検知し自動で再接続させるため「リトライスコープ」および「トライ キャッチ」内に配置します。プロパティ「APIエラーを例外として報告」をONに設定します。
②-9 内包する各Activityの出力プロパティ「Salesforceステータス」に変数を設定します。本例ではExecute SOQLに「sfdcStatus」を設定します。
②-10 「InvalidOperationException」をキャッチするよう設定します。
②-11 セッション期限切れを検知するため、「sfdcStatus.Message.Contains("Session expired or invalid")」を設定します。検知した場合は再接続させます。
②-12 リトライを抜けだす条件をとして、②-9に内包するActivityが全て成功を示す「sfdcStatus.Success」を設定します。
今回はActivityの導入方法やSalesforceの接続設定方法をご紹介しました。
皆様のワークフロー開発の一助になれば幸いです。
最後に今回の記事の中で取り上げた部品のリンク先などをお知らせします。
Activityの公開先 (UiPathマーケットプレイス):
https://marketplace.uipath.com/ja/listings/salesforce-activity-pack
Salesforce連携ソリューションご案内:
https://www.uipath.com/ja/solutions/technology/salesforce-automation
その他連携ソリューションご案内:
https://www.uipath.com/ja/solutions/application-cooperation-solutions
アクティビティフィードについて (UiPath Robot ガイド):
https://docs.uipath.com/robot/lang-ja/docs/about-the-activities-feeds
接続アプリケーションのセッションポリシーの管理 (Salesforceヘルプサイト):
https://help.salesforce.com/articleView?id=sf.connected_app_manage_session_policies.htm&type=5
接続アプリケーションの作成 (Salesforceヘルプサイト):
https://help.salesforce.com/articleView?id=sf.connected_app_create.htm&type=5
次回はActivityを使った「オブジェクトCRUD操作の基本」をご紹介します、お楽しみに。
※SalesforceはSalesforce.com,Incの商標であり、許可のもとで使用しています。
また、UiPathでは、本記事で解説した内容に加えて、CRM/SFAの定着化のためのRPA活用について、実際の事例や、UiPathの連携ソリューションについてご紹介するeBookを無料で公開しています。eBookは下記よりダウンロードください。
詳しくはこちら
Topics:
SalesforceSenior Sales Engineer, UiPath