Salesforceへの自動化事例とRPA開発ポイント

はじめに

クラウド型のCRM/SFAシステムで世界的なシェアを誇るSalesforceは、豊富な機能と導入先の業務形態に合わせた自由度の高いカスタマイズが可能として、大企業を中心に導入されている事例が多数見受けられます。

しかしSalesforceのようなクラウド型のシステムでは、ベンダー主導のシステムバージョンアップが行われることがほとんどで、RPAでクラウド型システムの画面操作を行っている場合、予期せぬ箇所でRPAが停止してしまうリスクが少なからず存在します。

当コラムでは、弊社でのSalesforceとRPAを組み合わせた導入事例と、SalesforceにRPAを導入する際に安定的な稼働となるような開発のコツをご紹介します。

 

Salesforce×RPAの導入事例

まず、弊社で行っているSalesforceへのRPA導入事例を紹介します。

事例概要

業界金融業界
業務内容顧客より申込された内容の精査、および、貸付可能か審査を行う
RPAツールBizRobo!
特徴1業務に対してRPAとユーザが分業・協働して処理を行っている

 

業務手順

 ①ユーザ: ⇒顧客からの申込内容をSalesforce上に登録する

 ②RPA(ロボットA): ⇒SalesforceのレポートAに表示された申込情報に対して、Salesforce上に登録された顧客情報などの必要な情報の紐づけを行う

 ③ユーザ: ⇒RPAが処理した内容を確認し、必要項目を手動で更新する

 ④RPA(ロボットB): ⇒SalesforceのレポートBに表示された申込情報に対して、専用サイト(外部サイト)より必要な情報を取得し申込内容に追記する

 ⑤ユーザ: ⇒RPAが処理した内容を確認し、貸付可否を判断する

業務フロー図

 

開発/導入時の工夫、課題、注意点

上記で紹介した導入事例において、開発や導入の際に気を付けたポイントをいくつか厳選して挙げます。

  • 画面項目の位置指定方法

入力項目などの画面項目の位置については、id(自動採番)など項目に依存する属性を使用せず、正規表現等を用いる、項目名に基準となるタグを貼りその横の位置を指定するなど、相対的な位置を取るように開発しています。

  • エラーハンドリング(自動再実行処理)

ネットワークが不安定など、接続不良によって画面遷移が失敗した際のエラーの場合は、回数の上限を定めたうえで自動再実行処理を入れています。

  • ログイン時の画面読込処理

Salesforceのログイン画面は右側半分が画像になっており、右側の画像の読み込みを待たずに後続処理(ユーザ名やパスワード入力処理)を行うよう、フィルターを利用して処理時間を短縮できるよう工夫しています。

Salesforcesログイン画面

  • ロボユーザの権限設定

Salesforceはユーザに付与されている権限によって、画面レイアウト/オブジェクト(データベーステーブル)/データ項目等を細かく制御することが可能です。そのため、Salesforceを操作するRPA用のユーザの権限が不足していると、処理に必要な画面やデータ項目が表示されず後続処理でエラーとなることがあるので注意が必要です。

  • 処理対象データの絞り込み方法(レポート機能を利用)

RPAが処理を行う対象のデータをSalesforceのレポート機能を用いて絞り込み、RPAには極力データを絞り込む条件を持たせないようにしています。これにより、例えば申込内容の申込日の条件を1か月前までから2か月前に変更するなど、対象データ抽出の条件が変更になったときに、Salesforceの画面上でレポートの条件を修正するだけで対応が可能となります。

  • Salesforce開発ルール

当事例で取り上げているクライアントでは、Salesforceの開発を、弊社以外の開発会社でも行っています。画面項目の追加やレイアウトの修正など、Salesforceの開発をそれぞれで勝手に行うとRPAの処理に大きな影響を及ぼしかねないので、本番環境/検証環境へリリースの際には事前に変更箇所の連携を行うなど、開発時における細かいルールを定めて開発を行っています。

 

Salesforceのレポート

Salesforce上のあらゆるデータにして、指定した形式・条件で抽出、集計、分析できるレコードのリストのことを「レポート」と言い、SQLのような抽出条件を、専用のレポート作成・編集ページにてドラックアンドドロップで視覚的に作成することが可能です。

また、よりデータを視覚的・直感的に捉えられるよう、抽出したレポートに対してグラフを追加することもできます。

Salesforcesレポート画面

 

Salesforce×RPAの開発Tips ~連携オプションを利用する~

SalesforceへRPAを導入する際には、システムベンダー同士が連携して公開/配布されているオプションをうまく利用するのも1つの手です。

以下代表的なRPAツールにおけるSalesforce関連のオプションを紹介します。

UiPath

https://www.uipath.com/ja/newsroom/2019-01-25

「Connector for Salesforce Automation」の主に可能な操作として以下を挙げます。

・基本的なCRUD操作

・ファイルのアップロード/ダウンロード

・SOQLコマンド実行

UiPath StudioのSalesforces操作アクティビティ

 

Blue Prism

https://www.blueprism.com/japan/resources/blog/intelligent-automation-for-Salesforce/

 Blue Prism DX(Digital Exchange)よりダウンロード、インポートして使用する部品群で、Salesforceに関するものは以下の5つになります。

  • General Skill for Salesforce.com                 →基本的なCRUD操作関連
  • AuthN Skill for Salesforce.com                   →ログイン関連
  • Password Skill for Salesforce.com              →パスワード管理関連
  • Approvals Skill for Salesforce.com             →承認フロー処理関連
  • SObject Skill for Salesforce.com                 →Apexのデータ型(sObject)操作関連

Blue PrismのSalesforces開発例

 

AutomationAnywhere

Salesforceに関連するBotは現在32個公開されており、基本的なCRUD操作のほか、ExcelからSalesforceにデータを登録する処理等があります。

https://botstore.automationanywhere.com/jp/applications/Salesforce/

 

BizRobo!

https://rpa-technologies.com/news/information/1473/

ツールベンダーが他社と連携して運営している BizRobo!マーケット にて、ロボパーツの公開・配布を行われています。Salesforceに関連するものは現在27個あり、条件を満たすデータの対象者にメールを送信する処理やSalesforceのデータをExcelに抽出する処理などが用意されています。

 

Salesforceからの呼び出し

RPAツールベンダーだけでなく、Salesforceにおいても、上記で紹介したUiPath、Blue Prism、AutomationAnywhereの3ツールをSalesforceから呼び出して実行できるアプリがあり、より安定して開発・運用ができるようベンダー同士による連携が進められています。

https://appexchange.Salesforce.com/mktcollections/curated/bots

 

全体

どのツールもREST APIを使用してSalesforceへ接続し操作することで、UIに依存しない、安定性の高いRPAを開発することが可能となります。また、バックグラウンドで実行されるため、画面遷移等によるエラーを軽減することも可能です。

 

おわりに

Salesforceに限らずシステムの主流となりつつあるクラウド型のシステムへ、RPAをどのように組み合わせるとよいのか、どのRPAを組み合わせるとよいのか、当コラムが検討の際の参考になると幸いです。

弊社ではRPAだけでなくSalesforceの開発も手掛けているので、課題やお悩みがあれば以下から気兼ねなくお問い合わせください。

▼ https://rpa.bigtreetc.com/contact/ ▼

 

関連記事

もっと知りたい方はこちら

ページトップ