September 13 2018

Integration Patterns:

Salesforce is one of the most integration-friendly products available that supports real-time, asynchronous or even batch processing. This blog discusses the various options we have for integrate with salesforce rather than how each of these to be implemented.

Outbound (Integrate Salesforce to Remote Systems):

Real Time:

Integration platforms can expose a web service using the WSDL generated by Salesforce which means integration should implement salesforce interfaces. MuleSoft does provide all the tools needed for the integration.


In the test use case I choose, the implementation looks like the following


Near Real Time:

MuleSoft provided Connector can be scheduled to bring in data which makes it near real-time depending on the scheduler settings. Connector can be used to Query the Salesforce objects very much like SQL queries.

Event Driven:

Internal to Salesforce, we can define to trigger an event with defined criteria. When the action happens triggering the event, the data can be sent to integration using the integration URL. In addition to sending data to URL, Salesforce has the capability to store the data in Queue before sending it out to remote systems. This gives a much-needed reliability for the data. Queues can be configured to retry x number of times with x interval. Depending on the use case Queue can be set up for reliability either in Salesforce or an integration layer.

Inbound  (Integrate Remote Systems to Salesforce):

Real Time:

MuleSoft does provide a very robust Connector for the Salesforce to integrate which can be used for real-time updates to Salesforce.

Salesforce Connector

Bulk Data Transfer:

The connector in itself provides features for the bulk data transfers. However, with bulk operations, there are chances that integration could overload Salesforce. All the bulk data transfer use case should be thoroughly tested for resource utilization.

Salesforce Connector Confiuragion

There is no silver bullet on the pattern to be used, it all depends on the use case.

About the Author


Karthik Dega is Consultant of AVIO and focuses his time on client relationships, solution architecture and advisory roles for AVIO. Prior to joining AVIO, Karthik worked in technologies like GXS, WebMethods, Oracle SOA Suite and currently working on MuleSoft Anypoint Platform. Specializes in thought leadership, digital transformation and business process. Believes in  test driven development and fail fast methodology. Drawn towards challenges and learned to admit failures.

Join the Conversation

Enter your first name. It will only be used to display with your comment.
Enter your email. This will be used to validate you as a real user but will NOT be displayed with the comment.