Salesforce is the most popular customer relationship management (CRM) tool on the web which is widely used to manage and facilitate sales and customer interactions, aimed at leading the shift to a social enterprise. Most businesses have a need to integrate with other client applications to achieve operational consistency and efficiency. The integration may have to cater to different layers of security, business logic and presentation, depending on the requirement.
Salesforce offers a variety of pre-built integrations and applications through AppExchange that greatly reduce financial resources needed for hand coding. Here, we will discuss about various Salesforce integration scenarios for business use cases.
Business Logic Integration
It is useful for the situations where business logic is spread across multiple applications for the implementation of complete business scenario. Data Integration typically handles data synchronization for the applications like Accounts using SOAP and REST APIs that require no coding in Salesforce. It helps extend the business logic present in Force.com with outside platforms, Apex Web Services is used for inbound logic integration to write logic and express it as a web service with external applications. It provides the developers ability to apply project specific business logic and flexibility to add custom logic. Knowledge of Apex is required to expose web services for invoking by client applications.
Data Integration
Salesforce integration is crucial to extract business value from the enterprise data living in cloud silos. However, integration solutions must connect with other software-as-a-service (SaaS) applications and on-premise legacy systems. Though hand-coding is possible for integration with developers writing custom connectors with Salesforce APIs for specific use cases, the drawback of this approach is that besides time consuming, it contributes to system volatility and doesn’t scale well. Third party integration tools have several disadvantages.
Real-time synchronization of data between systems using SOAP APIs can help in maintaining consistency in application data that need to be synced. SOAP API provides for two web services description languages (WSDLs) to choose from, which are:
1. Enterprises Web Services WSDL
It is strongly typed, meaning this WSDL contains objects and fields with specific data types that can be used to build client applications.
2. Partner Web Services WSDL
This loosely typed representation of Salesforce data model is used to build client applications for multiple organizations. It works by the name value pair of field names instead of specific data types and need to be consumed once per version of the API.
Go with business logic integration Apex Callouts or Apex Web Services if you need to have some logic before or after the data is committed to Salesforce. Apex Callouts come in two flavors:
- Web services callouts to SOAP web services that make use of XML and usually require a WSDL document for code generation.
- HTTP callouts to services typically make use of REST with JSON.
If you need to choose between HTTP and JSON, choose HTTP service as it requires less code and is easier to interact with. JSON services are often used for enterprise applications. SOAP is mostly used for integration with legacy applications or transactions requiring a stateful operation or a formal exchange format.
Data integration options like SOAP API would be a feasible and better option for you if you need to have a straightforward data exchange between Salesforce and a client application.
User Interface Integration
It provides the users a single point of entry into multiple applications. Facebook uses UI integration to surface various applications inside Salesforce that appear on Facebook Instance, however the content is actually served from different application vendors.
Integrating Salesforce with everyday applications
Salesforce Implementation can be made even better by integrating with everyday apps. It can be used to augment the capabilities of various applications for the following purposes:
- G Suite: To streamline the team’s workflow and increasing productivity
- Quickbooks: To generate accurate financial data and increase sales
- Linkedin: For targeting and engaging the right buyers
- Mailchimp: For easy management of email lists and contacts
- Slack: To increase team collaboration and productivity
Salesforce Platform for business success
Salesforce Platform can bring together disparate systems and data living in external ERP, supply chain or on-premise software like Oracle and SAP to build a unified view of the customers. Salesforce uses industry standard open APIs for integration with external endpoints that can connect through standard data protocols such as OData. Its event-driven architecture allows for streamlined integration and subscribe to event streams that can be embedded into workflows.