


There are many ways to transact data between Salesforce and an external system. This post considers the questions you need to ask, the leading options, and the concessions you will need to make.
Before choosing a transaction approach first understand your data and capabilities:
System constraints are an important part of your decision-making process so always consider worst-case scenarios e.g. your system should not fail when social media campaign goes viral.
The following is a summary of the leading technologies used to transact Salesforce data.
An event in Salesforce pushes data to an external system.
An outbound message uses a POST call to send a SOAP message (XML) from Salesforce to an external endpoint. Messages can contain up to 100 notifications each containing an object ID and a reference to the associated sObject data. The endpoint processes the message and returns an acknowledgment saying that the entire message was processed correctly.
An event in Salesforce pushes data to (or pulls data from) the external system.
A Salesforce callout uses Apex code to execute an HTTP request method (GET, POST, etc.) to send and retrieve data. The data packet is typically in the XML or JSON format. Unlike outbound messages which are can only be secured by SSL, callouts support more options like Basic Authentication and OAuth.
The callout constraints can make it difficult to process data in volume.
A feature in Salesforce that pushes data to an external file system.
Salesforce has two inbuilt features that support the manual transaction of CSV files manually or by a schedule. The Data Export Wizard is accessible in Salesforce and supports for weekly and monthly exports.
An external application that pushes data to Salesforce.
The Data Loader is an application that runs via a UI or from the command line. The Data Loader can also be used to import data from CSV files.
An event in an external system pushes data to (or pulls data from) Salesforce.
Salesforce APIs expose data to an external system via a web service. An event in the external system (client) initiates the data transaction with Salesforce. The REST API is a simple and powerful web service ideal for use in web and mobile applications.
Using APIs is often the easiest approach as the enforced constraints are well understood, and can be mitigated with relative ease. In general, APIs require little or no Salesforce development but it is likely custom code will be required on the external client.
An event in an external system pushes data to (or pulls data from) Salesforce.
The Composite API overcomes the constraints of the REST API by executing multiple REST API requests in a single call. The output of one request can become the input of another. This orchestration enables the collective requests to be returned in a single response and counted as a single API call.
An event in an external system pushes data to (or pulls data from) Salesforce.
This API is similar to the REST API but uses a different transaction protocol.
An event in an external system pushes data to (or pulls data from) Salesforce.
The Bulk API makes it simple to process data from a few thousand to millions of records. Bulk API queries like inserts, updates, and deletes, all run asynchronously in the background.
The Bulk API has understandable limits and is widely used for transacting data where timeliness is not a factor.
It seems Salesforce has an API for every occasion but you will need to understand how their constraints will impact what you wish to achieve. The challenge is to find any gotchas before going live.
The options above are native to Salesforce. Many third parties offer integrations like those on the AppExchange, others like DBAmp, and if you use Sitecore, our own S4S integration.
If you have questions about accessing Salesforce data please contact us. It is, after all, what we do!
Has this triggered any questions, and want to keep the conversation flowing? We'd love to talk.



By clicking 'Accept all', you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.