Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

メール-to-ケースで作成されたケースの ContactId は設定されているが、before insert トリガーで AccountId 項目が予期せず null になる

公開日: Aug 20, 2025
説明

メール-to-ケース を介してケース を作成すると、ContactId 項目が正しく設定されていても、before insert トリガーのコンテキストでは AccountId 項目が null になる現象が発生します。

 

再現手順:

  1. Salesforce 組織でメール-to-ケースフローを設定します。
  2. ケースのメールアドレスに取引先責任者レコードが関連付けられていることを確認します
  3. ケースオブジェクトに before insert トリガーを作成します。
    例:
    trigger DebugCaseValues on Case (before insert) {\
      for (Case c : Trigger.new) {
        System.debug('##### Case values: ' + c);
      }
    }
  4. メール-to-ケースアドレスにメールを送信してケースを作成します
  5. トリガーの実行に関するデバッグログをチェックします。
  6. 観測結果デバッグログでは、before insert コンテキストで AccountId 項目が null であることが示されます。
    ##### Case values: Case:{Id=null, ..., ContactId=003..., AccountId=null, ...}
解決策

この挙動は設計通りの動作です。

 

Salesforce は、ケースを関連付けられた取引先責任者取引先に正しく関連付けるために、内部的な事後処理を実行します。この処理は、レコードがデータベースにコミットされた後(つまり、after insert)に発生します 。プラットフォームがケース 取引先責任者 取引先間のリレーションを最終決定 していないため、before insert トリガーの間は AccountId を利用できません。

ナレッジ記事番号

005132457

 
読み込み中
Salesforce Help | Article