Custom integrations with Salesforce

I’ve been asked three times in the last six months for suggestions on integrating home-grown, thrid-party tools with Salesforce. These are systems completely separate from the Salesforce ecosystem where you’re going to be building something custom. A few years ago we used this architecture to integrate a third party payment system with Salesforce and it worked very well. To this day I’ll recommend this approach when integrating a third party with Salesforce and Unoffical SF has done us the favor of building out this integration pattern in a more configurable way. Unofficial SF’s Webhook to Flow package takes the same architecture but adds the flexibility of a Flow. At a high level the process looks like this:

  • Create a custom site in your Salesforce – this will be the endpoint your third party will send data to.
  • Create a ‘listener class’ invoked when anything is posted to that site to process the data.
  • Listener class translates the data from the json it arrives as to something workable by Salesforce.
  • Create a staging table (custom object) to store the data coming to this endpoint and processed by your listener class.
  • Use either apex or flows to translate the data from your staging table to other objects in use by your users.

This is a simple mechanism to expose an endpoint, trigger events when data is pushed to that endpoint, then move workable data into your Salesforce for users. I’ve used this mechanism multiple times for moving third party data in to Salesforce and processing into something the business can combine with other data.