+ Start a Discussion
Jacob W LandisJacob W Landis 

how salesforce get communicated with external system?


We have a salesforce app need to be integrated with an external system. We need be able to

either when a field in a salesforc custom object get changed, update the external system as well, (I guess I could use trigger do a httprequest for this?)

Or the external system get the data directly from salesforce.

I have no idea which way is better and how to implement it. Any suggestion appreciated.

Daniel BallingerDaniel Ballinger
You can certainly use:
  • a trigger with an asynchronous callout to an external web service to achieve this.
  • Or the trigger could create a sync queue record that gets picked up for bulk sync on a schedule to the external system. 
  • Or use outbound messaging to send the updates to an external web service.
  • Or have the external system poll the Salesforce APIs for new data - See Polling for Changes (https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/polling_for_changes.htm).
  • Then there is also the Streaming API to send updates to subcribers.

Choosing a solution will depend on a few things:
  • How reliable do you need it to be? Do the systems need to be exactly in sync?
  • How quickly do you need them to be in sync? Can it wait minutes, hours, days?
  • How many records will you need to sync? 
  • How many user licenses does the Org have? This will affect your API call limits.