0

I'm pretty new to sales force and have a question in reference to data sync.

I have a prime contact that is related to many several table and contains fields that are not available on contact.

These data are stored in a different database and my team require real-time data on salesforce. I have 2 option in this case , create a data-loader that syncs that data [ but this needs automation and need to be done every-time a user logins to ensure latest data] or I create external objects that load data from an API and thus removing the hastle of the auto sync.

Which approach is healthier when dealing with salesforce

  • Create external objects. – Pragati Jain Oct 16 '18 at 13:41
  • These data are stored in a different database and my team require real-time data on salesforce -- how often/frequent does the associated Contact data in External Systems change? – Jayant Das Oct 16 '18 at 15:50
  • @JayantDas it depends on our application users , it's in on going operation and all transactions are saved in the external database.[ with 300 + application users and its projected to increase] So the Salesforce user should always get the latest updates the application users has done. – Dana Y Oct 17 '18 at 7:04
0

Based on the following details:

I have a prime contact that is related to many several table and contains fields that are not available on contact.

These data are stored in a different database and my team require real-time data on salesforce.

and from the comment:

it depends on our application users , it's in on going operation and all transactions are saved in the external database.[ with 300 + application users and its projected to increase] So the Salesforce user should always get the latest updates the application users has done.

You like a more robust integration mechanism here instead of having external objects. You should likely create fields as required from external object, either on Contact itself or on a custom object, and you just related that to Contact.

Here's my recommendation how you can approach this. Hope this helps.

1. External Systems updates Salesforce (Near Real Time) -- Recommended

Because your external application is more dynamic and that you are sourcing data from that application, a more robust approach to get updates from that system is to update Salesforce as soon as data gets updated in there. So how do you do that? Expose an API from Salesforce which accepts the data from external applications and let the External Application call it by passing all the elements those got updated there, and then you update your Contact record in Salesforce.

This approach is a recommended approach as you expect lots of changes in external application and that you want changes near real-time in Salesforce.

2. Pull data from External System as batch (Asynchronous)

This is an asynchronous approach and is recommended if you don't have the capability of allowing External applications to push data in Salesforce. Why batch? Because you cannot really build a continuous polling mechanism in Salesforce, as you will need to deal with platform limitations and that it still won't be as real time as the above option.

With this approach, you kind of schedule a nightly batch to pull updated records from external application and then update Contacts in Salesforce.

  • Thank you alot for your elaborate explanations , however , i have few questions. If i go with approach 1, wouldn't this be alot of work to maintain the data at 2 places ,and having to do data updates on every data change , which will happen very frequently and on the long run with more users its will be even bigger data , so i will be exhausting my server with x2 functionality each time. As for option 2 , its not convenient in my scenario as SF user need on time data, refreshing the data should fetch the updates with an instance , so nightly updates wont work – Dana Y Oct 18 '18 at 6:49
  • For #1, I think you mentioned that you need updated data from external systems in SF. Because even if you say load data from external system, how will you ensure that the updates on that application will flow back into SF? Wasn't this your requirement? And that when you further add about #2 that it won't work because you need updated data. These are standard integration mechanism and will not be a complicated implementation as long as it suffices your use case. Hope this helps. – Jayant Das Oct 18 '18 at 12:46

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.