--------------------------------------------------
■目次
外部IDとは?
外部IDを使う利点
外部IDの設定方法
まとめ
--------------------------------------------------
Salesforceを利用する上で避けては通れない、データ識別の仕組み。
基本的には「レコードID」という、レコード作成時に自動で付加される文字列で識別を行います。
参照関係で紐づくレコードを「レコードID」で特定しているなど、とてもとても重要な項目です。
ですが、この「レコードID」、データが作られるまではどのような文字列が割り当てられるか予測ができず、割り当てられた後もURLからコピペしたりレポートでエクスポートしたりと、確認するのが大変。
外部システムからのデータ移行、データ追加の際の既存・新規の判別や参照レコードの指定などで苦労された記憶がある人も多いのでは。
今回の記事では、そんな苦労の救世主にもなる、Salesforceの「外部ID」について、基本的な概念から設定方法、活用事例まで解説します!
外部IDとは?
「外部ID」とは、「レコードID」と同じようにレコードの識別に使うことができる項目ですが、任意の値を指定できる点が大きく異なり、外部システムが持つ一意の値を外部IDとして利用したり、インポートするデータに外部IDを追加して参照先として指定したりといった利用が可能です。
外部IDを使う利点
外部IDを利用することで、以下のような利点があります。
- データの一意性を確保
Salesforceの標準IDとは別に、一意の外部IDを持つことで、異なるシステム間でのレコードの重複や誤ったマッチングを防げます。
- データ連携の効率化
外部IDを使用すると、データローダーやAPI経由の更新時にSalesforceのレコードIDを取得する必要がなくなり、簡単にデータを更新できます。
- アップサート機能の活用
外部IDを使用することで、Salesforceのアップサート(Upsert)機能を活用でき、新規作成と更新を同時に実行可能になります。
外部IDの設定方法
レコードIDを使わずに、外部IDによる参照関係の紐付けを実践してみましょう!
カスタム項目の作成
- オブジェクトマネージャーから対象のオブジェクトを開きます。
- [項目とリレーション]を選択し、[新規]をクリックします。
- フィールドタイプとして「テキスト」「数値」「メール」のいずれかを選択。
(「自動採番」も選択可能ですが、今回は任意の値を設定したいので選択しません) - 「外部ID」と「ユニーク」のチェックボックスをオンにします。

- 項目レベルセキュリティや表示するページレイアウトを選択して保存。
取引先のレコード詳細ページに新しい項目が準備できました!

データのインポートや更新
- インポートを行うサンプルの「取引先」CSVファイルに外部IDの列を追加し、任意の値を記載します。(一意の値である必要があります)

- 商談のサンプルCSVファイルの「取引先」項目に先程の取引先で作成した外部IDから任意の値を入力します。

データローダーを開く
- まずは取引先をインポートします。取引先オブジェクトに先程作成した項目と外部IDを対応付けましょう。ここではデータローダーの設定は「Insert」で問題ありません。
- 続いて商談をインポートします。
商談をインポートする際は、データローダーの設定は「Upsert」を指定しましょう!外部IDを使った対応付はUpsertでのみ有効です。
マッチング用の項目として、取引先に作成した外部IDの項目を指定して、項目の対応付を行います。
インポートを行い、商談と取引先が紐づいていれば成功です!

まとめ
普通なら、取引先をインポートした後でレコードIDを取得するためにレポートを作成し、エクスポートを行い、
さらにVLOOKUP関数を使って突き合わせの上でインポートを実行していた手間がかなり軽減されました。
是非とも今回の記事を参考に快適なインポートライフを実現してください!


