やりたいこと
Salesforceでグローバル検索を行うと、キーワードに関連するすべてのオブジェクトが表示される。
それ自体は便利なのだが、より検索時間の時短を図るために以下の要件を満たしたい。
- 各オブジェクトの簡易検索結果を好きな列を表示させたい
- 各オブジェクトの簡易検索結果の表示順を作成日に降順(新しい順)にしたい
- 不要なレコードを排除したい。
- このカスタマイズを、自分のみに適用させたい。
前提条件(という名の高き壁)
Salesforceの管理者権限を利用すれば、1. は実現できる。またSalesforceではApexなどのプログラミングベースで画面のカスタマイズも可能であるとのこと。ゆえに2. 3. 4.あたりも実現可能かもしれない。
が、そのような権限は持ち合わせていないものとする。
代替案
代替案① ダッシュボードを利用する
Salesforceではユーザーごとにダッシュボードが用意されており、自由にレポートを表示させることができる。
ただし、任意の検索条件でフィルターを掛けることができない。(3.を満たさない)
固定値での絞り込み自体はできるが、検索条件に設定したいパラメータが様々(営業名や商談名など)であるため、対応不可。
代替案② レポート定期出力機能を利用する
Salesforce内の機能ではないが、データだけ外部に出して、いいかんじに整形しようという手法。
ただし、レポートの出力が最短でも1日1回、手動で出力時間を1時間ずつずらしても、1時間に1回の出力である。
データが頻繁に更新されなければいいかもしれないが、1日に数百件など追加される場合は、最新の情報が拾いきれず厳しい。よって対応不可。
代替案③ Power AutomateのSalesforceコネクタを利用する
Premium版でないと利用できません… よって対応不可…
代替案④ Salesforce REST APIを直接呼び出す
SalesforceではREST APIが用意されており、リクエストを投げることで、レポートの結果を取得することができる。
よってREST API > データ取得 > エクセルに転記 > VBAにてフィルター
技術上は1分単位での更新も可能だと思われるが、頻繁なリクエストによりSalesforceから怒られないか?、json形式で取得したレスポンスをうまく整形できるかの2点が問題になりそうだ。
これが使えるなら、ほかにもケースをSalesforceに登録したりということも出来そうなので要検討。