Troubleshoot Access to External Objects with New and Updated Debug Event Types

If you’ve encountered issues accessing Salesforce Connect external objects, perhaps you struggled to find out where things went wrong. Now debug logs include details about requests and responses that occur when the platform or a user accesses external objects via the cross-org or OData adapters for Salesforce Connect. You can quickly tell whether a problem is on the external system or your Salesforce setup. You can scrutinize the requests that your org sends to the external system and the responses and errors that the external system returns. This change applies to both Lightning Experience and Salesforce Classic.

User Permissions Needed
To view, retain, and delete debug logs: Manage Users

OR

View All Data

To use the Developer Console: API Enabled

AND

View All Data

We added these debug event types for the cross-org and OData adapters for Salesforce Connect. These events capture information about accessing external object records. The events don’t include callouts that access the external system’s schema, specifically when an admin clicks Validate and Sync or Sync from an external data source in Setup.
Event Name Fields or Information Logged with the Event Category Logged Level Logged
XDS_RESPONSE External data source, external object, request details, number of returned records, and system usage Callout INFO and above
XDS_RESPONSE_DETAIL Truncated response from the external system, including returned records Callout FINER and above
XDS_RESPONSE_ERROR Error message Callout ERROR and above
These debug event types are now available for the cross-org adapter for Salesforce Connect. Previously, they were available only for OData adapters. The events also now include callouts that access the external system’s schema. Previously, they only included access to external object records.
Event Name Fields or Information Logged with the Event Category Logged Level Logged
CALLOUT_REQUEST External endpoint and method Callout INFO and above
CALLOUT_RESPONSE Status and status code Callout INFO and above
Note

Note

  • Debug logs can capture sensitive or personal data. For example, a user-entered search string is captured in the request details of the XDS_RESPONSE event. If the external system returns records that contain sensitive data, that data is captured in the XDS_RESPONSE_DETAIL event.

    Debug logs are retained for 7 days. You can delete them from the Debug Logs page in Setup or via Tooling API. If users want to opt out of having their external object access captured in debug logs, delete the trace flags for those users.

  • The debugging improvements in Spring ’18 don’t apply to Salesforce Connect custom adapters that you create with the Apex Connector Framework. To troubleshoot external object access via custom adapters, use your preferred methods for Apex debugging.

Access debug logs from the Logs tab in the Developer Console. Or from Setup, enter Debug Logs in the Quick Find box.

If a user has problems accessing the data of an external object via the cross-org adapter or an OData adapter for Salesforce Connect:

  1. Add a trace flag for the user with the following debug level and filters.
    • Set Callouts to FINEST.
    • Set all other categories to NONE.
  2. Have the user attempt to access the external object data between the start and expiration date of the trace flag.
  3. View the debug logs and troubleshoot.