Hoping someone can point me in the right direction!

We have an integration stack/replication batch (Informatica) that copies all of our data from SFDC. The change data capture process is based off of SFDC's LastModifiedDate and SystemModStamp.

Our problem: Formula fields only generate their values at run-time/query-time, and in addition, do not change SFDC LastModifiedDate/SystemModStamp. In that case, our change data capture process does not know the record changed and will not pick it up in it's daily batch for refresh.

There are millions of records in the system, so a full refresh each day is not possible. Anyone know any workarounds with this or experience the same issue?

Regards, J Ramirez

  • What do you mean by "all of our data from SFDC"? Is that from single object or multiple objects? – Vignex Dec 16 '14 at 6:06
  • As formula fields can vary in value based on time or changes in values of fields in related objects, this is a hard problem in general – cropredy Dec 16 '14 at 18:04

Have you found your solution yet? Workato may be able to solve your integration problem entirely.

This SFDC solution picks up changes in data and you can state how far back in time you'd like the changes to be picked up, and doesn't allow for duplicate data.

Here's an example: https://www.workato.com/recipes/11960-updated-closed-won-opportunity-in-salesforce-creates-xero-invoice

In this recipe, if you expand the line in the trigger (Opportunity is updated in Salesforce ), you can select how far back in time you'd like to poll for data, and you can choose from an hour, yesterday, last week, last month or even no limits.

Workato's solution is free and community based, so you can simply clone the recipe and try it for yourself. Here's their Salesforce solution. Hope this helps!


I don't think the suggested solution using Workato can actually help. The problem as described is getting the updated value of the formula field. Sadly though formula fields are not stored as data in Salesforce and generated at runtime.

The 'trigger' as described in Workato recipes is fired when the record is updated. In this case however, even though the value of the formula field is being captured at Runtime, the record never gets updated. Hence there's no change to the LastModified or the SystemModified stamps.

The easiest and possibly the lamest way I can think around is storing the formula field values some custom field. I'll look out for a better solution though.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.