I'm using OData v4.0 and the External Object is set in Salesforce, which is connected with Heroku Connect. However, the Change Data Capture feature does not work, and the following error occurs.

"Error: Can't schedule the next polling request for data changes. The OData producer doesn't support change tracking. The Preference-Applied header for odata.track-changes is missing in the response."

Please look a moment this issue. Thank you so much.

enter image description here

1 Answer 1


As per OData doc - http://docs.oasis-open.org/odata/odata/v4.0/cs01/part1-protocol/odata-v4.0-cs01-part1-protocol.html#_Toc365046251

In a response to a request that specifies a Prefer header, a service MAY include a Preference-Applied header, as defined in [HTTP-Prefer], specifying how individual preferences within the request were handled.

The value of the Preference-Applied header is a comma-separated list of preferences applied in the response.

Salesforce typically checks that the prefer header should be sent back as Preference-Applied to make sure that the service understood the request and is able to track changes. Not all OData 4 providers are capable and if not, they may ignore the header and not track changes.

AFAIK, Heroku DB does not implement data change tracking (yet) - I believe it is on their roadmap.

  • Thank you for your kind reply with this issue!
    – Chris Jang
    Commented Jul 23, 2020 at 6:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .