はじめに
私は約1年前から、Sales Cloudを利用した金融機関向けCRMシステムの構築・エンハンス案件に携わっております。
担当案件に配属される前にTrailheadでSales Cloudの基礎を事前に勉強しましたが、
・Trailheadで勉強して担当案件でも実際に利用している技術
・せっかく勉強したのに担当案件では使ってない技術
がそれぞれありました。
本記事ではそれぞれについて幾つかピックアップして、箇条書き感覚で共有します。
(今後も、随時更新していく予定です。)
もちろん、案件によって利用する技術は違いますが、一つのリアルな案件事例をご紹介して
Salesforce学習時の利用イメージアップに繋がればいいなと思います。
対象読者
以下のような方です。
・Salesforce初心者でTrailhead等で勉強中の方
・Salesforce案件で実際どんな技術を使っているかが気になる方
実際につかった技術要素
①プロファイル、ロール、共有ルール(権限周り)
これはどの案件でも重要かと推察してますが、担当案件でも非常に重要視されています。
CRUD権限の要件を顧客としっかり擦り合せ、プロファイル・ロール・共有ルールでしっかり設定してます。
②レポート、ダッシュボード
担当案件の発足経緯として、Excelで管理してた業務をSalesforceで改善したいという背景がありました。
そのため、これまで利用していたExcelのように表形式でレコード一覧を見たいという要望があります。
レポートの種類としては、表形式・サマリー・マトリックス・結合の4種全部利用してます。
また一部のレポートではvisualforceを利用してレポート画面を作成しました。
③APEXトリガ、バッチ(イベント駆動型処理、バッチ処理)
レコード作成/更新/削除時に駆動する処理としてApexトリガを利用しています。
ApexはSalesforceでのプログラミング言語であり、Javaによく似た言語です。
Javaを書ける人であれば、Apexでのコーディングもすぐにできるようになると思います。
また、Salesforce上のバッチ処理としては、Apexバッチを使ってます。
④Visualforce, Lightning Web Components, Aura Components(画面開発系コーディング)
ホーム画面やレコード詳細画面について、標準で用意されているコンポーネントだけでなく、
各種コーディングによって作成したコンポーネントもがっつり利用しています。
⑤Shield Platform Encryption(暗号化)
Salesforceを利用するということは顧客情報や機密情報をクラウド上に置くことになります。
情報流失時のリスクを懸念した顧客の要求により、Shield Platform Encryption(暗号化)を利用してます。
ただしSOQLクエリにてあいまい検索(LIKE句)が使えないなどの制約があるので注意です。
参考までにShield Platform Encryption利用時制約事項のリファレンスを貼っておきます。
⑥カスタムオブジェクト、カスタム項目
オブジェクト、項目はほぼカスタムで作成しています。
⑦Salesforce API (REST API)
他システムとの日次のデータ連携処理で利用しています。insert/update/upsert/delete全部やってます。
データ連携バッチ処理はSalesforceとは別のシステムで稼働させています。
json形式のデータをAPI連携するバッチ処理をShellとPythonを利用して実装しました。
HTTPリクエストのURI・形式・メソッド等は、以下リンクのページやその配下の各ページを参考にしてました。
使ってない技術要素
①商談・リード
Salesforceでは、取引先オブジェクトや取引先責任者オブジェクトに並ぶメイン級の標準オブジェクトですが、担当案件では全く使ってないです。
担当案件は顧客情報管理(CRM)の側面が強く、営業支援(SFA)の側面が薄いです。
商談/営業における各プロセスをシステム上でリアルタイムに管理したいという要望が無かったのです。
②ワークフロー、プロセスビルダー(イベント駆動型処理)
Salesforceのイベント駆動型処理のノーコードツールとして、ワークフローやプロセスビルダーが提供されていますが、全然使ってないです。
イベント駆動型処理については、先述のApexトリガで実装してます。Apexトリガの方がより自由度が高いです。
ちなみに、ワークフロー、プロセスビルダーとAPEXトリガ処理を併用するのは良くないそうです。レコード作成/更新/削除時に駆動する処理が多くなるためです。
イベント駆動型処理を実装するなら、プロジェクト開始初期にどっちかに統一しましょう。