コラム詳細

Salesforceの外部IDとは?追加方法や関連レコードとの紐付け方法を解説

2024年03月06日

  • Salesforce
  • 使い方
  • 設定・管理

はじめに
Salesforceでは、識別子としてSalesforce ID以外に「外部ID」の使用が可能です。外部IDは利用者側で任意の文字列を設定できるため便利ですが、「外部IDの使い方がいまいち理解できない」という方も多いのではないでしょうか。本記事では、Salesforceの外部IDの概要と利用するメリット、外部IDの追加手順などを解説します。

 

Salesforceの外部IDとは?

外部IDの使い方を把握するには、まずSalesforceで使用できる外部IDとは何なのかを理解する必要があります。外部IDの定義とSalesforce IDとの違いをそれぞれ解説します。

 

外部IDの定義

Salesforceで用いる外部IDとは、Salesforce以外のシステムで使用しているIDをそのままSalesforce内でも利用できるようにしたものです。外部システムからSalesforceにデータの移行や更新を行う際、Salesforce IDの代わりに元のシステムで使っていたIDを使い続けられます。

 

Salesforce IDとの違い

外部IDが他のシステムで使用しているIDであるのに対して、Salesforce IDはSalesforceが自動で付与する15桁もしくは18桁の一意のIDです。レコードを識別するために一意のIDが自動で生成されるため、利用者側で任意の文字列を指定することはできません。一方、外部IDは重複さえしなければ任意の文字列を設定できます。

 

外部IDを利用するメリット

外部IDを利用するメリットとして、取り込んだ外部データを他のオブジェクトと紐付ける際の手間が省けるという点が挙げられます。

 

オブジェクト間の紐付けにSalesforce IDを用いる場合、自動で生成されるため、IDを事前に把握しておくことはできません。外部データを他オブジェクトと紐付けるには、一度データを取り込んでSalesforce IDを生成させてから紐付けする必要があります。

 

一方、外部IDは事前に利用者側で任意の値を決められるため、データの取り込みと同時にオブジェクト間の紐付けが可能です。

 

外部IDを追加する方法

実際に外部IDを追加する方法を見ていきましょう。まず、外部IDを設定したいオブジェクトにカスタム項目を追加し、レコードに外部IDを設定する必要があります。以下で、オブジェクトに外部IDを追加する手順を解説します。

 

カスタム項目の新規作成

はじめに右上の歯車マークをクリックして「設定」を選択し、オブジェクトマネージャを開きます。オブジェクトの一覧が表示されるので、その中から外部IDを追加したいオブジェクトを開きましょう。

 


<オブジェクトマネージャの画面>

 

オブジェクトを選択して表示された「項目とリレーション」の画面で「新規」をクリックすると、カスタム項目の新規作成画面が開きます。

 


<項目とリレーションの画面>

 

データ型の選択

カスタム項目の新規作成は4つのステップに分かれていて、最初のステップは「データ型の選択」です。カスタム項目に設定できるデータ型の一覧が表示されるので、希望のデータ型を選択して「次へ」をクリックします。外部IDとして使えるデータ型はメール・テキスト・数値・自動採番のみのため、この4種類の中から選択します。

 


<データ型の選択画面>

 

詳細を入力

ステップ2の「詳細を入力」で外部IDの詳細設定を行います。まず、項目の表示ラベル・文字数・項目名に希望の内容を入力しましょう。続いて、「ユニーク:値の重複を許可しない」と「外部ID:外部システムの一意のレコード識別子として設定する」の2箇所にチェックを入れます。その他、必要に応じた詳細情報を入力したら「次へ」をクリックします。

 


<詳細入力の画面>

 

項目レベルセキュリティの設定

ステップ3の「項目レベルセキュリティの設定」では、外部IDの項目を表示するユーザの範囲を設定できます。

 

Salesforceのレコードには多くの項目を設定が可能ですが、項目の内容によっては全ユーザにアクセスさせる必要のないものもあるでしょう。項目レベルセキュリティを設定しておくと、特定の項目を参照・編集できるユーザを制限できます。

 

外部IDへのアクセスを制限したい場合は、この「項目レベルセキュリティ」で設定が可能です。アクセス権を付与したいプロファイルにチェックを入れて「次へ」をクリックします。

 


<アクセス権を付与したいプロファイルにチェック>

 

ページレイアウトへの追加

最後のステップは「ページレイアウトへの追加」です。ページレイアウト名の一覧が表示されるので、外部IDの項目を表示したいページレイアウトにチェックを入れます。ここでチェックを入れなかったページレイアウトには、外部IDの項目が表示されません。

 

必要なページレイアウト名にチェックを入れたら、「保存」をクリックします。

 


<必要なページレイアウト名にチェックを入れて保存>

 

外部IDの付与された新規レコードを作成する方法

オブジェクトに外部IDの項目追加が完了したら、外部IDを含むレコードを作成できるようになります。ここからは、外部IDを含むデータをSalesforceに取り込んで、レコードを新規作成する方法を見ていきましょう。

 

CSVファイルの作成

まず、Salesforceに取り込むCSVファイルを作成します。レコードを新規作成したいオブジェクトの情報をまとめたCSVファイルを作成し、外部IDの列を追加しましょう。外部IDの列名には、カスタム項目作成の「詳細を入力」で設定した項目名を設定します。

 

外部IDの列を作成したら、レコードごとに設定したい外部IDを入力しましょう。

 


<CSVファイルの作成>

 

データローダでのCSVファイルのアップロード

CSVファイルのアップロードには、データローダを使います。データローダを起動して「Insert」をクリックし、データを取り込みたいSalesforce組織にログインしましょう。

 

次に、レコードを追加したいオブジェクトを選択し、作成したCSVファイルを選んで「Next」をクリックします。取り込むレコードの件数が表示されるので、問題なければ「OK」をクリックしましょう。

 

<データローダの画面>

 

項目のマッピング

次に「Create or Edit a Map」をクリックして「Auto-Match Fields to Columns」を選択すると、取り込み先のオブジェクトとCSVファイルの項目名のマッピングが確認できます。外部IDが適切にマッピングされているか確認しましょう。

 

マッピングに問題なければ「OK」をクリックします。マッピングが正しくない場合は、項目をドラッグすると修正が可能です。マッピングの確認が完了したら、「Next」をクリックします。

 

<項目名のマッピングの画面>

 

ログファイルレポートの保存先の指定

最後に、ログファイルレポートの保存先を指定します。「Directory」で保存先を指定して「Finish」をクリックし、「Warning」のポップアップが表示されたら「はい」をクリックしましょう。処理が完了すると「Operation Finished」のポップアップが表示されるので、「OK」をクリックします。

 

<ログファイルレポートの保存先指定画面>

 

外部IDの付与された新規レコードの作成は完了です。

 

外部IDを使って関連レコードを紐付けながら登録する方法

登録した外部IDは、関連レコード同士の紐付けにも使用できます。ここでは、データローダで外部IDを使って関連レコードを紐付けする手順を見ていきましょう。レコードの紐付けが必要な際の参考にご活用ください。

 

CSVファイルの作成

まず取り込みたい情報をまとめたCSVファイルを用意し、レコードの新規作成手順と同様に外部IDの列を追加しましょう。

 

外部ID用の列を追加したら、レコードごとに紐付けたい親レコードの外部IDを入力します。Salesforce IDで紐付ける場合はデータを一度エクスポートする必要がありますが、任意のIDを付与できる外部IDならエクスポートの作業は不要です。

 


<CSVファイルの作成>

 

データローダでのCSVファイルのアップロード

CSVファイルを作成したら、データローダを使ってアップロードします。ここでは、既存レコードの更新とレコードの新規作成が同時に行える「Upsert」をクリックしましょう。

 

データを取り込みたいオブジェクトを選び、アップロードするCSVファイルを選択して「Next」をクリックします。表示された登録レコードの件数に問題がなければ、「OK」をクリックします。

 

関連レコードとの紐付け

関連レコードと紐付けるために、同一のレコードであると判断する「マッチング」を行います。まず、「Step 2a:Choose your field to use for matching」で「Id」を選択し、「Next」をクリックしましょう。

 

次の「Step 2b Choose your related objects」で、紐付けたいオブジェクトの外部IDに設定された項目名を選択し「Next」をクリックします。

 

項目のマッピング

次に「Create or Edit a Map」→「Auto-Match Fields to Columns」の順でクリックすると、項目をマッピングする画面が表示されます。画面上部に表示されている外部ID項目を、画面下部の外部ID項目にドラッグして「OK」をクリックしましょう。マッピングの内容に問題なければ、「Next」をクリックします。

 

ログファイルレポートの保存先の指定

最後のログファイルレポートの保存先を指定する手順は、新規レコード作成の際と同様です。「Directory」で保存先を指定して「Finish」をクリックし、「Warning」のポップアップが表示されたら「はい」をクリックしましょう。処理が完了すると「Operation Finished」のポップアップが表示されるので、「OK」をクリックします。

 

これで外部IDによる関連レコードの紐付けは完了です。

 

まとめ

Salesforceの外部IDは、任意の文字列をSalesforce IDの代わりに一意の識別子として利用可能です。これにより関連レコードを紐づけるデータ取り込みの手間が省けます。ただSalesforceは外部IDによるレコード紐づけのほか、さまざまな機能があるため「すべての機能を十分に使いこなせていない」とお悩みの方もいるのではないでしょうか。このような場合は、ぜひ当社にご相談ください。当社には300名(23年5月時点)を超える専門コンサルタントが在籍し、お客様側の視点からSalesforceのサポートサービスを行っています。効率的なSalesforceの活用を、当社のカスタマーサクセスチームがサポートいたします。

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください

  • TOP
  • コラム一覧
  • Salesforceの外部IDとは?追加方法や関連レコードとの紐付け方法を解説

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください