UiPath Blog
前回は、UiPath Salesforce Activityの導入方法と基本の使い方をご紹介しました。もし見逃したという方は「UiPath StudioへのActivity導入と使い方の基礎」も併せてご覧ください。
第1回「UiPathにおけるSalesforce連携概要」において、Activityの概要を"Salesforceオブジェクトに対する、登録・更新・削除・取得が可能な部品"とご紹介しました。
これら4つの操作には、それぞれ対応するActivityが用意されており、これらを使いこなすことが基本となります。 タイトルのCURDは、登録(Create)、取得(Read)、更新(Update)、削除(Delete)の頭文字をつなげたもので、データベースシステムの操作が起源です。
今回は取引先(Account)オブジェクトを題材に、4つの操作について次の内容でお届けします。
登録 -レコードを挿入 アクティビティ-
取得 -SOQLを実行 アクティビティ-
更新 -レコードを更新 アクティビティ-
削除 -レコードを削除 アクティビティ-
エラー検知&対応方法
以下が「レコードを挿入」アクティビティの全体像です。 ウィザードとプロパティ、2か所の設定箇所があります。ウィザードは「設定」ボタンを押すと表示され、対象オブジェクトや登録項目を設定します。プロパティは登録結果をSalesforceから受け取る変数を設定します。
取引先を1件登録する例を示します。登録項目は「取引先名」「業種」「電話」とします。登録結果イメージは次の通りです。
①-1 登録対象のオブジェクト「Account」を選択します。
①-2 登録対象の項目を選択する子ウインドウを開きます。
①-3 登録対象の次の項目をリストから選択します。
業種(Industry), 取引先 電話(Phone)
①-4 各項目に登録する値を設定します。
取引先名(Name), 業種(Industry), 取引先 電話(Phone)は任意の値を設定します。
Account ID(Id)にはSalesforceから登録後の取引先レコードのIDを格納する変数を設定します。本例では後続のステップがないため省略しています。
ウィザードには「テスト」ボタンがあり、お試し登録することができます。日付項目や選択項目など書式が定められている項目において、設定しようとしている書式が実際に登録できるか確認するときなどに便利です。
①-5 試したい値を設定します。IDは設定しません。
①-6 「テスト」ボタンをクリックします。
①-7 登録の成否はポップアップで表示されます。
②-1 登録結果をSalesforceから受け取る変数を設定します。
変数の型は「SalesforceStatus」となります。
変数は次の情報を保有しており、エラー内容がわかるようになっています。
Success:アクションが成功したか(true)、エラーがスローされたか(false)を示します。
ErrorCode:実行時にエラーがスローされた場合、Salesforceからのエラーコード。
Message:実行時にエラーがスローされた場合、Salesforceからエラーメッセージ。
具体例:
ErrorCode="MALFORMED_ID", Message="取引先 ID: 不正な種別の ID 値: 0012v00003CZrdummy", Success=false
本例で設定した変数から上記の値を取り出す際は、それぞれ次のように記載します。
sfdcStatus.Success
sfdcStatus.ErrorCode
sfdcStatus.Message
「SOQLを実行」アクティビティの全体像とともに、取引先(Account)から「取引先名」「業種」「電話」を取得する例を示します。 ウィザードはなく、プロパティに取得条件を記したSOQLや取得結果を受け取る変数を設定します。
①-1 SOQLを設定します。本例では以下を設定します。
SELECT Id,Name,Industry,Phone FROM Account
Id,取引先名(Name),業種(Industry),電話(Phone)を取引先(Account)オブジェクトから全件取得するSOQLです。
①-2 Salesforceステータスを受け取る変数を設定します。
①-3 SOQLの結果を格納するため変数を設定します。
変数の型はDataTableです。
DataTable内の列はSELECTの項目名になるため、Id,Name,Industry,Phoneの4列になります。
以下が「レコードを更新」アクティビティの全体像です。
登録と同様、ウィザードとプロパティ、2か所の設定箇所があります。
取引先を更新する例を示します。更新項目は「電話」とします。更新結果イメージは次の通りです。
①ウィザードで更新項目を設定します。
①-1 更新対象のオブジェクト「Account」を選択します。
①-2 更新対象の項目を選択する子ウインドウを開きます。
①-3 更新対象の次の項目をリストから選択します。
取引先 電話(Phone)
①-4 各項目に登録する値を設定します。
取引先 電話(Phone)は更新後の値を設定します。
Account ID(Id)には更新対象の取引先レコードのIDを設定します。本例ではブラウザのURLから値をコピーしています。
更新対象のIDを動的に探す方法については、次回紹介予定です。
「テスト」ボタンの使い方は登録と少し違います。
①-5 試し更新したいレコードのIDを入力し、右側のアイコンをクリックすると、現在のSalesforce上の値が2項目以降に反映されます。
①-6 試したい値を設定します。
①-7 お試し更新します。更新の成否はポップアップで表示されます。
②-1 更新結果をSalesforceから受け取る変数を設定します。詳細は登録の説明をご参照ください
「レコードを削除」アクティビティの全体像とともに、取引先を削除する例を示します。
①-1 削除対象のオブジェクト名を設定します。本例ではAccountを設定します。なおこのアクティビティにの「テスト」ボタンはありません。
①-2 削除対象レコードのIDを設定します。本例ではブラウザのURLから値をコピーしています。
①-3 削除対象のオブジェクト名を設定します。ただし①-1により自動的に値が入るため、特に入力不要です。
①-4 Salesforceステータスを受け取る変数を設定します。詳細は登録の説明をご参照ください。
Activityで起きるエラーの検知&対応方法は2つあります。
1つ目は、Salesforceアプリケーションスコープのプロパティ「APIエラーを例外として報告」をONに設定し、外側に構えた「トライ キャッチ」アクティビティで検知&対応を行うものです。(下図参照)
2つ目は、各Activityの後に「条件分岐」アクティビティで判定を行うものです。(下図参照)
今回は取引先(Account)の操作を題材にオブジェクトのCRUD操作をお届しました。
皆様のワークフロー開発の一助になれば幸いです。
最後に今回の記事の中で取り上げた部品のリンク先などをお知らせします。
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
次回は「取引先責任者(Contact)の操作」を行うワークフローをお届けします。お楽しみに。
※SalesforceはSalesforce.com,Incの商標であり、許可のもとで使用しています。
また、UiPathでは、本記事で解説した内容に加えて、CRM/SFAの定着化のためのRPA活用について、実際の事例や、UiPathの連携ソリューションについてご紹介するeBookを無料で公開しています。eBookは下記よりダウンロードください。
詳しくはこちら
Topics:
SalesforceSenior Sales Engineer, UiPath