Salesforce社のサクセスナビの「Salesforceにデータを取り込む」では以下3つのデータ取り込み方法が紹介されています。
- データインポートウィザード
- データローダ
- Salesforce API
「データインポートウィザード」は下図のようにSalesforce画面上から実行できるので、最も簡単な取込方法ですが、ツール自身で自動化をサポートしていません。RPAは決まった手順の繰り返し作業の自動化に向いていますので、AutoMateを活用し、今回は下記選択と指定で取引先csvファイルをインポートをしてみました。
- 「標準オブジェクト」タブから「取引先と取引先責任者」を選択
- 「新規レコードを追加および既存のレコードを更新」を選択
- 「既存の取引先情報を更新」をチエック
- 「csv」ファイルアイコンを選択しインポートするcsvファイルを指定
動画で概要解説
音声付き、約4分のビデオです
動作概要
主に設定している事項は以下A~Cの3点です。
- A:データインポートウイザードへログイン
- B:インポートするcsvファイルを指定
- C:インポートの開始
RPAは人間が行っている事を再現させます。再現方法としてマウスのクリック位置/座標、入力欄位置/座標を指定するのがよくあるやり方ですが、今回は位置/座標指定よりも簡単で、あらゆる場合に対応可能な実装方法である「キーストロークの送信」をご紹介致します。
Aデータインポートウイザードへログイン
①では前処理として、アップロードするcsvファイルを変数名upLoadFileとして定義し、csvファイル配置先をc:\test\torihikisaki.csvとしています。
②ではデータインポートウイザードURLを指定し、ブラウザを起動しています。データインポートウイザードURLは「https://あなたの組織/dataImporter/dataImporter.app」のように末尾に「/dataImporter/dataImporter.app」を付加すると表示されます。
③からログイン処理となります。「開いたブラウザ画面をフォーカスし手前にする」をしているのは、開いたブラウザ画面にユーザー名とパスワードを入力できるように、正に「手前に」フォーカスする必要があるからです。人間は何気に行っている行為でも機械は融通が利かないですし、念のため、操作する画面にフォーカスを与えています。
フォカースが当たったブラウザ画面は下図のようにユーザー名入力欄が入力可能な状態(青枠でフォーカスが当たっている)になっています。
ですので人がキーボードから入力するのと同様④ではキーストロークの送信を用い「キーストローク」欄にユーザー名を指定します。またRPA稼働PCの動作スピードを考慮して「キーストローク前の遅延」と「キーストローク間の遅延」を調節しています。AutoMateはこのような実運用で非常に助かる設定が可能です。
⑤パスワードを入力するため「パスワード」欄への位置移動は④同様キーストロークの送信を用い「キーストローク」欄には「特殊なキーストローク」ボタンから表示されるメニューからTABキーを選択しています。
⑥では④同様にパスワードを「キーストローク」欄に指定します。
⑦ではログインボタンへ移動するため⑤同様に「特殊なキーストローク」ボタンから表示されるメニューからTABキーを選択しました。
⑧では⑦でログインボタンにフォーカスが当たった状態になっていますので「特殊なキーストローク」ボタンから表示されるメニューからEnterキーを選択しています。
⑨はログイン処理が直ぐに終わらない場合を想定してAutoMateの便利なアクションである「Webブラウザ」アクションの「Wait」を用いています。これはブラウザが入力可能になるのを待つアクションです、また念のため「ブラウザが入力可能になってから、追加で以下の秒数を待つ」を指定し、より確実に制御しています。
最後に必須ではりませんが⑩では、表示されたデータインポートウイザード画面を見やすいように最大化しています。
Bインポートするcsvファイルを指定
ここでは冒頭でご説明した下記手順をキーストローク設定をしています
- 「標準オブジェクト」タブから「取引先と取引先責任者」を選択
- 「新規レコードを追加および既存のレコードを更新」を選択
- 「既存の取引先情報を更新」をチエック
- 「csv」ファイルアイコンを選択しインポートするcsvファイルを指定
⑪では「標準オブジェクト」タブから「取引先と取引先責任者」を選択するためTABキーを4回押した後Enterキーを押しているので「キーストローク」の指定は「{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}」としています。
⑫では「新規レコードを追加および既存のレコードを更新」を選択するため「{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}」としています。
⑬では下図のように「既存の取引先情報を更新」にチエック印を付ける必要があります。
チエックを付けるキー操作はスペースキーですので「キーストローク」の指定は「{TAB}{TAB}{TAB}{SPACE}{TAB}{TAB}{TAB}{TAB}{ENTER}」としています。
⑭ではcsvファイルアイコンをクリックし、csvファイルを指定するダイアログを表示したいため「キーストローク」の指定は「{TAB}{ENTER}」としています。
⑮では⑭でアップロードするcsvファイルを指定する「開く」ウインドウの表示が遅い場合を想定して、画面が表示しきるまで待ちを入れています。
⑯では対話機能アクションの「テキストの設定」を用い①で定義したアップロードするcsvファイルの変数名upLoadFileを「開く」ウインドウのファイル名欄に指定しています。
⑰では「開く」ウインドウの「開く」ボタンを押したいため「キーストローク」の指定は「{TAB}{TAB}{ENTER}」しています。
⑱では確実な動作をしたいため2秒の待ちを入れています。
Cインポート開始
データインポートウイザードはインポートするcsvファイル指定後、下図のようにSaleforce取引先とインポートするcsvファイル間での対応付けを指定します。
今回のcsvファイルは対応付け不要でインポート可能としているので、後に別画面で表示される「インポートを開始」ボタンを押すまで⑲~㉖は前記のような数回のTABキーとEnterキーの組合わせで進めています。最後に㉗でブラウザを閉じています。
RPAの弱点
RPAによる画面操作の自動化には、いくつか弱点が存在します。典型的な弱点は、画面の構成が変わると項目の表示位置/順序/要素名が変化しますので、指定した項目が指定した表示位置/順序では無くなる事です。これはAutoMateに限らず、他RPAでも同様な弱点です。
(とは言え、普段慣れ親しんだ操作画面をそのまま使える事は「見た目」で「お手軽」に連携可能とするメリットがあります。)
弱点克服例の一つとして、次回ブログではデータインポートウイザードのような操作画面を経由せずにSalesforceが提供するデータ連携用APIであるBulk API 2.0を用いた直接連携例をご紹介予定です。
関連リンク
お問合せ
https://alpcom.co.jp/contact/
アルファー・コミュニケーションズ公式YouTube
https://www.youtube.com/channel/UCTqwZsRRpAs9NPTUz2yH3ow/videos