Salesforceの外部IDとは?メリットと使用例、実際の操作手順を解説
- hinoue2826
- 7月7日
- 読了時間: 7分
更新日:7月7日

目次
はじめに
Salesforceの外部IDは、外部システムとの連携やデータ統合において重要な役割を果たします。
しかし、その仕組みや設定方法について詳しく知らない方も多いのではないでしょうか。この記事では、Salesforceの外部IDとは何かを解説していきます。
Salesforceの外部IDとは?
外部IDとは、外部システムで使用されているIDをSalesforce内で一意の識別子として利用するための機能です。
異なるシステム間でデータをやり取りする際に、どの情報が同じものを指しているのかを特定し、整理するために使う目印のようなものです。
SalesforceIDとの違い
SalesforceIDと外部IDは、どちらもSalesforce内のレコードを識別するためのIDですが、その役割と性質には明確な違いがあります。
ID種別 | 概要 | 特徴 | 主な使用場面 |
SalesforceID | Salesforceシステムによって自動的に生成される一意のID。 | Salesforce内の全てのレコードに割り当てられる。15桁または18桁の英数字で構成される。 | 主にSalesforce内部でのレコード識別に使用される。 |
外部ID | 外部システムで使用されているIDをSalesforce内で一意の識別子として利用するためのID。 | ユーザーが任意の値を設定できる。 | 主に外部システムとの連携やデータ移行時に使用される。 |
まとめるとSalesforceIDはシステムが自動で付与するIDであり、外部IDはユーザーが自由に設定できるIDになります。
あなたのやりたいことを、ノーコード・ローコードで実現します!
テラスカイ・テクノロジーズのエンジニア派遣の資料ダウンロードはこちら
外部IDの使用例とメリット
★ケース:基幹システムとの連携で顧客情報を一元管理
では、この外部IDを使うとどのようなメリットがあるのでしょうか。 外部IDの使用例を見ながら解説していきます。
とある企業では、基幹システムとSalesforceを連携し、顧客情報を一元管理することを目指していました。しかし、それぞれのシステムで顧客を識別するIDが異なっており、単純なデータ連携ではレコードの紐付けが難しいという課題がありました。
そこで利用できるのが 「外部ID」 です。
基幹システム側の顧客IDを、Salesforceの取引先オブジェクトのカスタム項目(データ型:テキスト、外部ID属性:あり)として定義しました。
外部IDを用いたデータ連携方法
1.Salesforce側の設定 取引先オブジェクトに「基幹システム顧客ID__c」のようなカスタム項目を作成し、「外部ID」のチェックボックスをオンにします。
2.データ連携
基幹システムからSalesforceへ顧客データを連携する際、「顧客ID」をキーに連携をします。
※Salesforceでの操作手順は、次の章で詳しく解説します
外部IDを用いたデータ連携のメリット
Salesforce側で基幹システムの顧客IDをキーとしてレコードを検索・更新できるため、正確なデータ連携が可能になります。
基幹システムとSalesforceの両方で同じ顧客IDを参照できるため、担当者間のコミュニケーションも円滑になります。
データ連携の際に、既存のレコードを外部IDで特定できるため、重複データの作成を防ぐことができます。
外部IDを「キー」とすることで、基幹システムとSalesforce双方の連携が容易になります。

外部IDの設定方法
それでは、実際に外部IDを設定してみましょう。今回は、取引先責任者オブジェクトに外部IDを設定していきます。
1.「歯車アイコン」>「設定」>「オブジェクトマネージャー」>「取引先責任者」オブジェクトを開きます。

2. 「 項目とリレーション」 > 「新規」をクリックします。

3.「ステップ 1. データ型の選択」でデータ型(今回は数値型)を選択し、「次へ」をクリックします。※外部IDで使用できるデータ型は、メール、テキスト、数値、自動採番になります。

4.「ステップ2.詳細を入力」
「外部 ID」と「ユニーク」にチェックをいれます。上記にチェックを入れると、そのカスタム項目が外部IDとして作成されます。 ※「ユニーク」項目は必須ではありません。ただし、Upsert時にはデータ照合精度を高めるため、ユニークにすることを推奨します。
他、必須の項目などは必要に応じて入力していきます。
入力が完了後、「次へ」をクリックします。

5.「ステップ3.項目レベルセキュリティの設定」
必要に応じて項目の権限を設定します。
入力完了後、「次へ」をクリックします。

6.「ステップ4. ページレイアウトへの追加」
こちらも必要に応じて、項目を配置するページレイアウトを設定します。
入力完了後、「保存」をクリックします。

以上で外部IDの作成が完了です。
レコード詳細画面を見ると、今回作成された項目が配置されていることが確認できます。
今回は、表示ラベル「外部ID」API名「EXTERNALID__C」という名称のカスタム項目を作成しています。

外部IDを利用したレコードの更新
外部IDを使用するイメージについては、使用例を見ていただいたことで少しイメージが付いたと思います。
さっそく、作成した外部IDを利用して、レコードを更新してみたいと思います。
事前に取引先責任者に以下のようなレコードを作成しました。
外部ID(API:EXTERNALID__C) | 姓(API名:LastName) | 取引先(API名:Account) |
1001 | 佐藤 | 取引先A |
2002 | 鈴木 | 取引先B |
3003 | 高橋 | 取引先C |
各取引先責任者の電話番号をデータローダーを使用して更新していきたいと思います。
データローダーのインストール方法や使用方法については、以下のブログで紹介しています。Salesforceデータローダーの基本:インストール方法から実際の使い方まで解説
データローダーの使用方法が分かる方は、さっそくレコードを更新してみましょう。
1.更新用のcsvファイルを作成します。
今回は取引先責任者の電話番号を更新してみたいと思います。

2.データローダーを開き、「Upsert」をクリックします。
※データローダーで外部IDを使用した更新は「Upsert」のみ利用可能です。

3.Step 2: Select Salesforce object
①…取引先責任者を選択します。
②…作成したcsvを選択します。
③…①、②が完了した後に「Next」をクリックします。
④…「OK」をクリックします。


4.Step 2a : Choose your field to use for matching
①…作成した外部IDのAPI名を選択します。
②…選択した後に、「Next」をクリックします。

5.Step 2b : ( Optional ) relate using lookup field
①…何も選択せず、「Next」をクリックします。

※補足 外部IDを使用することで、親レコードと紐づけをしながらレコードを作成することも可能です。 取引先と取引先責任者を例にした場合、通常は取引先を作成したあと、SalesforceIDを取得し、それをキーに取引先責任者を作成します。 ですが、外部IDがある場合は外部IDをキーに取引先責任者を作成することで、親の取引先と紐づけた状態で取引先責任者を作成することが可能です。 |
5.Step 3: Mapping
①「Create or Edit Map」をクリックします。
②「Auto-Match Fields Columns」をクリックします。
csvファイルのAPI名と一致する項目が自動でマッピングされます。
③「OK」をクリックします。

6.マッピング内容の確認
①各項目がマッピングされていることを確認します。
②「Next」をクリックします。

7.Step 4: Finish
①…実行結果の保存先を選択します。
②…「Finish」をクリックします。

8.実行
①…「はい」をクリックします。
②…エラーがでていなかったら成功です。


9.実行結果の確認
取引先責任者のリストビューを確認すると、電話項目に値が入っていることが確認できます。

このように、外部IDでもレコードを更新することができます。
各レコードのSalesforceIDを事前に調べずとも、データの連携ができて便利ですね。
まとめ
いかがでしたか?
外部IDは、Salesforceを他のシステムと連携させる際の「架け橋」となる重要な識別子です。Salesforce IDの代わりに外部システム由来のIDを使ってレコードを特定できるようにすることで、データ連携・移行・同期を効率化することができます。
簡単ですが、Salesforceの外部IDについてご紹介しました。
是非、他の記事にも足を運んでみてください!
あなたのやりたいことを、ノーコード・ローコードで実現します!
テラスカイ・テクノロジーズのエンジニア派遣の資料ダウンロードはこちら