ADVERTISEMENT

【Power Automate】Salesforceレコード作成が失敗する時の項目確認

【Power Automate】Salesforceレコード作成が失敗する時の項目確認
🛡️ 超解決

Power Automateを使ってSalesforceにレコードを作成するフローが突然エラーで止まってしまうことがあります。特に「レコードの作成」アクションで失敗する場合、原因はSalesforce側の項目設定やPower Automate側のマッピングミスに起因することが多いです。エラーメッセージだけではどこを直せば良いか分かりにくいため、項目単位で確認すべきポイントを整理しておく必要があります。この記事では、実際の失敗パターンを挙げながら、原因の切り分け方と具体的な修正手順を解説します。

【要点】この記事で確認すること

  • 最初に見る場所: Salesforceのオブジェクト詳細ページで必須項目・データ型・参照関係を確認する。Power Automateのアクション設定で各項目に正しい値がマッピングされているか確認する。
  • 切り分けの軸: Salesforce側の問題(必須項目不足、重複ルール、権限不足)とPower Automate側の問題(コネクタ認証、データ型変換ミス、動的コンテンツの誤り)に分けて調査する。
  • 注意点: Salesforceの管理者権限が必要な確認項目(カスタム項目のAPI名、参照整合性、バリデーションルール)は自分で判断せず、必ず管理者に相談すること。Power Automateで強制的に値を追加すると、データ品質が低下する恐れがある。

ADVERTISEMENT

レコード作成失敗の主な原因

Power AutomateからSalesforceにレコードを作成する際、失敗する原因は大きく分けて5つあります。それぞれの原因を理解することで、エラーメッセージから適切な対処ができるようになります。

必須項目が欠けている

Salesforceのオブジェクトには、システムで必須となっている項目(例:取引先の「取引先名」、リードの「姓」と「会社名」)があります。Power Automateでこれらの項目をマッピングしていなかったり、空の変数やnullを渡したりすると「REQUIRED_FIELD_MISSING」エラーになります。特に、自動採番される項目やデフォルト値がある項目は誤って必須と認識されないことがあるため、Salesforceの項目一覧で「必須」チェックが入っているかを必ず確認してください。

データ型が不一致

日付項目に文字列型の「2025-03-21」を渡す、数値項目にカンマ付き文字列を渡す、選択リスト(ピックリスト)の値が有効な選択肢と一致しない、などが典型的な事例です。Power Automateの動的コンテンツは自動的にデータ型を変換しようとしますが、完全には対応できません。特に数値項目では「小数点の桁数」や「通貨のシンボル」が混入していないか注意が必要です。

参照関係(ルックアップ)が不正

取引先責任者を作成する際に親の取引先レコードIDを指定する必要があるなど、参照項目には有効なSalesforceレコードのIDを渡さなければなりません。Power Automaceで事前にレコードを取得(Get record)してIDを変数に格納する手順が抜けると「INVALID_CROSS_REFERENCE_KEY」エラーになります。また、参照先レコードが削除されている場合も同様のエラーが発生します。

重複ルールやバリデーションルールに抵触

Salesforceの組織で重複ルールが有効になっていると、同一条件のレコードが既に存在する場合に作成がブロックされます。また、バリデーションルールで特定の条件が満たされない場合(例:金額が0以下の場合はエラー)にも「FIELD_CUSTOM_VALIDATION_EXCEPTION」が発生します。Power Automateのフロー内でこれらのルールを回避することはできませんので、フローが実行される前にデータのクレンジング処理を入れる必要があります。

権限・共有設定が不十分

Power Automateで使用している接続アカウント(通常はシステム管理者やAPI専用ユーザー)に、対象オブジェクトに対する作成権限(Fls、オブジェクト権限)がない場合も失敗します。特に、カスタムオブジェクトや特定のレコードタイプに依存するオブジェクトでは、プロファイルまたは権限セットが適切に設定されているかを確認してください。

失敗パターン別の確認手順

ここでは実際によくある失敗シナリオを5つ取り上げ、具体的な確認手順をステップごとに説明します。フローがどのアクションでエラーになったかが分かっていることを前提とします。

シナリオ1:必須項目「取引先名」をマッピングしていない

  1. Salesforceの設定画面で「取引先」オブジェクトの項目一覧を開き、「取引先名」に必須マークがあることを確認する。
  2. Power Automateのフロー編集画面で「レコードの作成」アクションを選択し、項目リストを展開する。
  3. 「取引先名」がマッピングされているか確認する。空欄の場合は、先にデータソース(例えばフォームからの入力やCSVの列)から値を渡すよう動的コンテンツを選択する。
  4. もしデータソースに取引先名がない場合は、フロー内で「Compose」アクションを使って仮の値を設定し、後で更新するか、フローの前提条件を変更する。
  5. フローを再テストし、エラーが解消されたことを確認する。

シナリオ2:日付項目に文字列を渡している

  1. エラーメッセージに「FIELD_INTEGRITY_EXCEPTION」や「INVALID_DATE_FORMAT」が含まれているかを確認する。
  2. Power Automateで日付項目の動的コンテンツがどのようなデータ型か確認する(文字列として渡していないか)。値が「2025/03/21」のようなスラッシュ区切りになっているとSalesforceに受け入れられない場合がある。
  3. Power Automateの「日付変換」アクションや「formatDateTime」関数を使い、yyyy-MM-dd形式(例:2025-03-21)に変換する。
  4. 変換後の値をSalesforceアクションに直接マッピングするか、変数に格納してからマッピングする。
  5. テストを実行し、Salesforce側にレコードが作成されるか確認する。

シナリオ3:参照項目にIDではなく名称を渡している

  1. エラー「INVALID_CROSS_REFERENCE_KEY」を確認する。
  2. Power Automateのフローで、参照元レコードを取得するための「レコードの取得(Salesforce)」アクションを追加する(例:取引先名で取引先を検索)。
  3. 取得したレコードのID(Id)を変数に保存する。
  4. 「レコードの作成」アクションで、参照項目にそのID変数をマッピングする。
  5. 重複する可能性がある場合には、一意なID(外部IDなど)を使うか、最初に一致するレコードを1件だけ取得するようにフィルター条件を設定する。

シナリオ4:重複ルールで弾かれる

  1. エラーに「DUPLICATES_DETECTED」または「DUPLICATE_VALUE」が含まれているか確認する。
  2. Salesforce設定で重複ルールの定義を開き、どのオブジェクトにどの条件で重複判定されているか把握する。
  3. Power Automateのフローで、レコード作成前に既存レコードを検索(Get records)し、同一条件のレコードが存在する場合は作成をスキップする分岐を追加する。
  4. 代替案として、既存レコードがある場合は更新(Upsert)に切り替えるか、強制作成を許可するよう管理者と調整する。
  5. テストで重複データを2回投入し、正しく処理されることを確認する。

シナリオ5:権限不足で作成できない

  1. エラー「INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY」や「INSUFFICIENT_ACCESS_OR_READONLY」を確認する。
  2. Power Automateで使用している接続のユーザー(通常は自動化アカウント)のプロファイルをSalesforce管理者に確認してもらう。
  3. 対象オブジェクトに対する「作成」「読み取り」権限、項目レベルのセキュリティ(Fls)が正しく設定されているかを確認する。
  4. 特に参照元のオブジェクトに対する権限も必要であることに注意する(例:取引先責任者を作るには取引先の読み取り権限が必要)。
  5. 権限を修正した後、再度フローを実行してエラーが解消するかテストする。

Power Automate側の設定確認ポイント

Salesforce側の項目に問題がない場合、Power Automateフロー自体の設定に原因があることも多いです。以下のポイントを順にチェックすることで、見落としを防げます。

コネクタの認証状態

Power AutomateのSalesforceコネクタが期限切れや権限変更で再認証が必要になっていないか確認します。フロー詳細から「接続の編集」を開き、認証情報が有効であることを確認してください。また、多要素認証が有効なアカウントでは、セッショントークンが切れやすいため、定期的なテストが必要です。

動的コンテンツの選択ミス

特に複数のトリガーやアクションがあるフローでは、動的コンテンツピッカーで間違ったアクションの出力を選択している場合があります。例えば、トリガーの出力(HTTP要求のパラメーター)を選ぶべきところを、直前の「レコードの更新」アクションの出力を選んでしまっていないか確認します。フローを上から順に読んで、各マッピングが正しいアクションから来ているかを目視で検証してください。

並列処理とラン制限

管理者へ確認する情報:

  • Power Automateの同時実行制限(既定で50)に達していないか。
  • SalesforceのAPI制限(1日あたりの呼び出し数)が不足していないか。
  • 特に大量データ処理のフローでは、バッチサイズやコンカレンシーに注意が必要です。

状況別比較表

症状 可能性のある原因 確認すべきSalesforce項目 初手の対処
エラー: REQUIRED_FIELD_MISSING 必須項目がマッピングされていない 該当オブジェクトの「必須」項目一覧 Salesforceのオブジェクト詳細で必須項目を洗い出し、Power Automateのマッピングに追加する
エラー: INVALID_DATE_FORMAT 日付/時刻の形式不一致 日付項目のデータ型(Date/DateTime) Power AutomateでformatDateTime関数を使いyyyy-MM-dd形式に変換する
エラー: DUPLICATES_DETECTED 重複ルールに抵触 重複ルールの条件と該当項目 フロー内で重複チェックを行い、存在する場合は更新またはスキップする
エラー: INSUFFICIENT_ACCESS 権限不足 プロファイルのオブジェクト権限とFls Salesforce管理者に接続ユーザーの権限を拡張してもらう
エラー: INVALID_CROSS_REFERENCE_KEY 参照IDが不正 ルックアップ項目の参照先オブジェクト 事前に参照先レコードを取得してIDをマッピングする

よくある質問

現場で実際に寄せられる質問をQ&A形式でまとめました。

Q1: エラーメッセージに具体的な項目名が出ない場合はどうすれば良いですか?

Power Automateのエラー出力が不十分な場合、Salesforceのデバッグログも確認できません。最も確実な方法は、フロー内で「Salesforce – 作成」アクションの前に「Compose」アクションを挿入し、マッピングする値をすべてJSONで出力して、人間が目視チェックすることです。また、Power Automateの「エラー処理」を構成して、エラー時に実行履歴の詳細を保存するようにしておくと解析が容易になります。

Q2: カスタム項目に値が渡っているのにエラーになります。なぜでしょうか?

カスタム項目のAPI名が正しいかどうかを再確認してください。Power Automateでは項目の表示名ではなくAPI名(末尾に__cが付く)を使用します。また、項目のデータ型が「ロングテキストエリア」などの場合、文字数制限を超えていないかも確認します。

Q3: バリデーションルールを一時的に無効にすることは可能ですか?

Power Automateの接続ユーザーでもバリデーションルールは常に適用されます。回避するには、ルール自体を無効にするようSalesforce管理者に依頼するか、フローの中でルール条件を満たすようにデータを加工する必要があります。例えば、必須条件を満たすデフォルト値を設定しておくなどが考えられます。

Q4: 数値項目に小数点以下があるとエラーが出ます。

Salesforceの数値項目の精度(小数点以下の桁数)に合わせて値を丸めてください。Power Automateで「数値の四捨五入」アクションを使用するか、formatNumber関数を使って小数点以下をトリミングします。また、文字列型の値として渡すと、数値として解釈されずにエラーになることもありますので、数値型の変数に変換してからマッピングしてください。

Q5: 同一フローで複数のSalesforceオブジェクトを作成するとき、依存関係のある順番は守るべきですか?

その通りです。例えば、取引先を作成してから取引先責任者を作成する場合、取引先作成アクションの後にその出力(Id)を取引先責任者のルックアップに渡す必要があります。Power Automateはアクションを上から順に実行しますが、非同期処理を意図的にしている場合は、結果が返ってくるまで待つように設定(並列処理のオフなど)してください。

まとめ

Power AutomateでSalesforceレコード作成が失敗する原因のほとんどは、Salesforce側の項目定義とPower Automate側のマッピングの不一致にあります。失敗したら、まずエラーメッセージの種類を分類し、必須項目・データ型・参照関係・重複ルール・権限の5つの観点で確認しましょう。Power Automateの動的コンテンツやデータ型変換機能を過信せず、実際に渡される値をComposeアクションで検証することが最短の解決策です。最後に、管理者権限が必要な設定変更は必ずSalesforce管理者と相談しながら進めてください。こうした手順を習慣化することで、フローの安定稼働を実現できます。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT