When we speak about integration, we are referring to one between Salesforce and third-party applications used by the same customer, for example, ERP, production, or invoicing.
Why is this integration important?
When a company generates quotes or orders directly in Salesforce and the opportunity is won, the information about this opportunity and related quote should be sent to some, let’s say, accounting system so that the account is created and the quote is stored resulting in the possibility of creating an invoice by this system. Or in the opposite way, the users could have the information about other data which is not created or stored in Salesforce in the first place, like whether the invoices are paid on time or what is the status of the order production.
That’s why we need to integrate Salesforce with different systems so that the SF user has all data in one place and does not have to switch between various applications. It is crucial that the users use one source of information or let’s say one-stop-shop where they can find all they need.
What are the possibilities of the integration?
There are some quite simple possibilities for the integration, which are cost-effective and inexpensive. In the same way, there are some complex data exchange applications which are mostly used by large companies and which are more expensive. Both options have pros and cons to them.
So let’s start with the simple solutions.
Salesforce has a free application called Data Loader which ensures data exchange (in CSV format), data extraction from Salesforce, and data input into Salesforce. It could also be set up programmatically.
It has some cons of course. For example, when you need to have a more complex way of integration, i.e.multiple data to be imported or exported to or from Salesforce, the usage of a simple solution like Data Loader is not possible. So for the most part, this solution fits small companies that don’t need sophisticated integration processes to be involved.
Another solution with a low level of complexity is a 3rd party application called Jitterbit Data Loader (not native to Salesforce). It has pretty much the same functionality as the Data Loader from Salesforce but has a better and more sophisticated user interface. It’s easier to set up, you don’t need to write code to run scheduled jobs and in the most simple version, it is quite sufficient for small companies. One more added benefit is that it is free.
You can find more information about this solution here.
Another product that is a level higher, is MuleSoft. It is cloud-based and quite a sophisticated solution, easy to set up, and no coding is required. It could be a good option for small and medium-sized businesses and sometimes for large enterprises too but only if they don’t need something very specific.
And finally, the highest level of integration is web services. Here, we talk about the program that fits into the Salesforce environment and you need to have a developer to create these web services. Within this program, any kind of action with data integration is possible because you create it according to your needs, and you have your own code, which means you have the highest level of integration starting from processes set up and ending with some error alerts.
One more method of integration which is worth mentioning here becomes handy when the 3rd party service works as a customer, meaning it either sends data into Salesforce or asks for data from it. In such a case, you don’t need to create any code in Salesforce, because it has an open API that enables access to salesforce.org directly. So no programmatic work needs to be done on the Salesforce side but by the 3rd party service.
Coming back to the open API, there is also a special feature in Salesforce called outbound messages. It’s essential when a 3rd party service needs to have information from Salesforce that some data has changed and should be transferred to this 3rd party. If this occurs, the outbound message sends the information outside Salesforce and then it accesses Salesforce and downloads this data. For example, when a new opportunity is won and a 3rd party system needs to know about it to download this information, then this data is sent outside of Salesforce to a certain email address. The system gets notified about it, accesses Salesforce, and downloads the data about this opportunity.
The best way to know which type of integration a company should choose is to reach out to a consulting company, such as ourselves. We will evaluate the scale of operational processes and provide the best integration options including pros and cons for each mentioned option.