Salesforce - CSVファイルからレコードを一括アップサートするアクション

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

このアクションは、CSVファイルと主キーを使用してSalesforceレコードを一括アップサートします。 一致するレコードが更新され、一致するレコードが見つからない場合は新しいレコードが作成されます。

ポーリング動作

ポーリングを伴うアクションを含むレシピは、非同期ポーリングが想定どおりに機能するよう、実行中の状態である必要があります。

バルク操作の詳細については、Salesforceバルク操作ガイドを参照してください。

APIバージョン

このアクションは、API v1.0とAPI v2.0の両方のバージョンに存在します。 Workatoでは、最適なパフォーマンスを得るためにBulk API v2.0の使用をお勧めします。 このバージョンでは、レコードをより効率的にバッチ処理することで、Salesforce API制限への影響を軽減します。

失敗したレコードの再試行

失敗したレコードを新しい一括ジョブとしてSalesforceに再送信するには、CSVファイルから失敗したレコードの一括ジョブを再試行アクションを使用できます。

入力

入力項目説明
アップサートするSalesforceオブジェクトアップサートする標準またはカスタムオブジェクトタイプを選択します。
リレーション項目任意です。 CSVデータ列をSalesforceオブジェクト項目にマッピングする方法を選択します。 ポリモーフィック列にはリレーション項目が必要です。 このフィールドの詳細についてはリレーションシップフィールドセクションを、ポリモーフィックフィールドの詳細についてはSalesforce APIドキュメントを参照してください。
主キー主キーとして使用する外部IDを選択します。 または、ドロップダウンメニューを使用してこのフィールドを主キーを入力に切り替え、インデックス付きフィールドのAPI名を入力できます。 指定された主キーに複数のレコードが一致した場合、アクションはエラーをスローします。 詳細については、主キーセクションを参照してください。
CSVファイル入力Salesforceバルクロードデータを含むCSVファイルのスキーマを定義します。 例については、CSVファイルセクションを参照してください。
ファイル内容(CSVファイル入力)ファイルの内容を入力します。 Download fileアクションからファイルデータピルを取得できます。
列区切り文字(CSVファイル入力)使用する列区切り文字をドロップダウンメニューから選択します。 たとえば、カンマ(,)またはパイプ(|)です。
ヘッダー行を含むか? (CSVファイル入力)CSVファイルの内容にヘッダー行が含まれるかどうかを選択します。 これにより、Workatoは最初の行をデータとして処理しないようにスキップするかどうかを判断します。
列名(CSVファイル入力)CSVファイルのデータ列に関する情報を入力します。
CSV列名をSalesforceフィールド名として使用CSV列をSalesforceオブジェクトフィールドに自動的にマッピングするかどうかを選択します。 このオプションには、Salesforceオブジェクトフィールドと一致する列名を含むヘッダーが必要です。
CSVからSalesforceオブジェクトフィールドへのマッピングCSV列名と、一括アップサートするSalesforceオブジェクトを入力します。

主キー

このアクションでは、各Salesforceレコードを一意に識別するために主キーを指定する必要があります。 Salesforce Bulk APIは、主キーとしてExternal IDフィールドと、内部Record IDなどのインデックス付きフィールドの両方をサポートしています。

External IDフィールドは、External ID属性を持つカスタムフィールドです。 Salesforce外部のシステムから取得した一意のレコード識別子が含まれています。 外部IDフィールドは、カスタムのテキスト、数値、またはメールフィールドである必要があります。

ドロップダウンメニューを使用して主キーフィールドを主キーを入力に切り替え、主キーとして使用するインデックス付きフィールドのAPI名を入力します。

外部IDおよびその他のインデックス付きフィールドを使用する場合のアクションの動作は、次のように異なります:

入力値外部IDインデックス付きフィールド
一致が見つかった場合レコードを更新レコードを更新
一致が見つからない場合レコードを作成MALFORMED_ID:Id in upsert is not validエラー
値なしMISSING_ARGUMENT:External_ID__c not specifiedエラーレコードを作成

複数のSalesforceレコードが指定された主キーと一致する場合、このアクションはエラーをスローします。

複数の主キー

1つの操作で複数の主キーを使用することはできません。 複数のフィールドでレコードを識別するシナリオを処理するには、まずいずれかのキーを使用して検索アクションを実行します。 次に、条件アクションを追加して、結果の数が1より大きいかどうかを確認します。

2つのフィールド(例:Full NameAccount)を使用して検索する必要がある場合は、両方のフィールドをフィルターとして含む検索アクションを使用します。 次に、結果を取得し、レコードを更新または作成する前に、条件チェックを使用して一致するレコード数を検証します。

Salesforceでの主キーの作成

主キーとして使用するExternal ID項目を作成するには、次の手順を実行します。

1

Salesforceの設定メニューに移動し、オブジェクトマネージャータブを選択します。

2

カスタム項目を追加する予定のオブジェクトを選択します。 たとえば、取引先責任者です。

3

項目とリレーションタブに移動し、新規を選択します。

4

カスタム項目のデータ型を選択します。 この例ではテキストを使用します。

5

次へをクリックします。

6

次のフィールドを設定します。

  • 項目の表示ラベル

  • 表示、ページレイアウト、レポート、リストビューに使用するラベルを入力します。 この例ではTest idを使用します。

  • 長さ

  • 項目の最大長を入力します。 この例では25を使用します。

  • フィールド名

  • 項目名は、カスタムリンク、カスタムs-controls、APIなどのインテグレーション目的で使用される内部参照です。 項目名を変更すると、既存のインテグレーションに影響する可能性があります。 項目名には英数字のみを使用できます。 先頭は英字である必要があり、アンダースコアで終わることはできず、連続する2つのアンダースコア文字を含めることはできません。また、すべてのContact項目間で一意である必要があります。

  • 一意

  • 一意チェックボックスを選択して、重複する値を許可しないようにします。

  • 外部ID

  • 外部 IDチェックボックスを選択して、外部システムからの一意の識別子として項目を設定します。

7

次へをクリックします。

8

項目レベルセキュリティを通じてこの項目への編集アクセス権を付与するプロファイルを選択します。 どのプロファイルにも割り当てない場合、この項目はすべてのユーザーに対して非表示になります。

9

次へをクリックします。

10

この項目を含めるページレイアウトを選択します。 Salesforceは、選択した各レイアウトの最初の2列セクションの末尾に項目を追加します。 レイアウトを選択しない場合、この項目はどのページにも表示されません。

ページレイアウトをカスタマイズして、ページ上のこの項目の場所を変更できます。

11

保存をクリックします。 取引先責任者オブジェクトのカスタム項目は、Workatoレシピエディターの主キードロップダウンメニューにオプションとして表示されます。

12

Workatoに戻り、主キー項目を使用して新しいカスタム項目を選択します。

主キー主キー

リレーション項目

Salesforceでは、リレーションおよびリレーション項目を使用して、2つのオブジェクト間のデータを関連付けます。 たとえば、AccountオブジェクトとContactオブジェクトには、各取引先責任者が1つの取引先への参照を保存し、各取引先が多くの取引先責任者にリンクできるリレーションがあります。 アカウントに関連付けられているすべての取引先責任者を、アカウントレコードから直接表示できます。 一部のオブジェクトには、同じタイプの他のオブジェクトとのリレーションがあります。 たとえば、取引先責任者のReports To項目は、別の取引先責任者への参照です。

リレーション項目では、ポリモーフィックな列マッピングも可能です。 Workatoはこのマッピングを自動的に推測できないため、手動で指定する必要があります。 リレーション項目入力を設定しない場合、Salesforceにデータはマッピングされません。

この項目を設定するには、Salesforceに書き込む予定の各項目について、CSVファイルのどの列からデータを取得するかを選択します。 このアクションでは、CSVファイルデータをSalesforceに直接ストリーミングするため、データピルまたはFormulaモードを使用したデータ変換は許可されません。 オブジェクトリレーションの詳細については、Salesforceオブジェクトリレーションガイドを参照してください。また、CSVヘッダー内のリレーション項目については、SalesforceのCSV項目ヘッダードキュメントを参照してください。

Salesforce一括アップサートアクション - 設定済み項目マッピングセクションSalesforce一括アップサートアクション - 項目マッピングセクション

CSVファイル

次の例は、CSVのCSVファイル入力の形式を示しています:

external_id,last_name,value
"a0K1h000003fXSS","Minnes","54"
"a0K1h000003fehx","Lecompte","12"
"a0K1h000003fjnv","Fester","28"

Salesforce一括アクションの設定済みCSVファイル入力セクションSalesforce一括アクションの設定済みCSVファイル入力セクション

出力

出力フィールド説明
すべてのレコードは正常に処理されましたかSalesforceバルクジョブ全体ですべてのCSV行が正常に処理されたかどうかを示します。
成功したレコード数Salesforceで正常に処理されたCSV行の合計数。
処理失敗レコード数Salesforceで問題が発生し、処理されなかったCSV行の合計数。
再試行されたレコード数Salesforceで処理が再試行されたCSV行の合計数。 このフィールドは、CSVファイルからSalesforceでオブジェクトのバルクジョブを再試行アクションに関連します。
処理済みレコード数ヘッダー行を除く、Salesforceで処理されたCSV行の合計数。
失敗したレコードを含むCSVコンテンツ問題が発生し、処理されなかったCSV行を含むCSVファイルコンテンツ。 このCSVファイルには、sf__Errorsf__Idの2つの列が追加されます。 詳細についてはSalesforceドキュメントを参照してください。
成功したレコードを含むCSVコンテンツSalesforceで正常に処理されたCSV行を含むCSVファイルコンテンツ。 このCSVファイルには、sf__Createdsf__Idの2つの列が追加されます。 詳細についてはSalesforceドキュメントを参照してください。
失敗したレコードのレポートヘッダー失敗したレコードレポートのヘッダー情報。
成功したレコードのレポートヘッダー成功したレコードレポートのヘッダー情報。
Salesforce一括ジョブ各Salesforce一括ジョブに関する情報を含むオブジェクト。 詳細についてはSalesforce一括ジョブセクションを参照してください。

Salesforceバルクジョブ

Workatoは、大きなCSVファイルをチャンクに分割し、Salesforce APIのサイズ制限に準拠するために、それらを個別のSalesforceバルクジョブとして処理します。 バルク操作は、処理された各チャンクに関する情報を含むSalesforce bulk jobsデータツリーを出力します。

Salesforce一括操作の出力データツリー - バルクジョブのリストSalesforce一括操作の出力データツリー - バルクジョブのリスト

Workatoは、すべてのバルクジョブの集計結果を、出力の最上部にあるSalesforce bulk jobsデータツリーの外側に含めます。

Salesforce一括操作の出力データツリー - バルクジョブ全体の集計結果Salesforce一括操作の出力データツリー - バルクジョブ全体の集計結果

Last updated: