What makes the integration best practices an important discussion in the technology space? Well, you can’t ignore the compelling need to connect data from multiple sources to support scalability, security, data consistency and maintainability of an organization’s technology stack. The success of an integration project is largely measured across these four areas.
With businesses focusing more and more on a data-driven approach in decision making, integrating multiple systems becomes an integral part of any Salesforce implementation. Whether the project is a legacy CRM migration to Salesforce or a new CRM implementation, integration of the Salesforce CRM with the ERP, finance, and other business critical systems, is an important strategy to consider. Let’s take a closer look.
What Are the Best Practices?
A good integration strategy results in a robust technology stack that reduces or even nullifies technology debts, while a poorly implemented integration project multiplies an organisation’s technology debt. Adhering to the best practices is vital when it comes to an integration project. These are:
- Start with a clear understanding of the business strategy and roadmap.
- Decide on the integration pattern and approach.
- Collaborate with relevant stakeholders.
- Whiteboard/brainstorm all possible business scenarios.
- Choose the right implementation team.
- Determine the integration type (Pull/Push).
- Select the integration platform/tool that supports both current and future business requirements.
- Make use of relevant Salesforce features in conjunction with the integration tools for better performance.
- Make an informed decision on data storage/security/sync frequency.
- Assess the scalability and maintainability of the integration solution.
- Create a data and process integrity checklist.
- Review and refine the project plan, timeline and cost.
Start With the Business Strategy and Roadmap
Every project involves investment and effort, and it is important to map the business goals and ROI for a project outcome. Interviews and survey feedback should be used as a tool to understand different perspectives of the stakeholders on their definition of success of a Salesforce integration project.
A crucial question to answer is: Where does this project fit in the overall business, technology strategy and roadmap of the organization? This largely influences the project’s definition of ‘done’.
A gap analysis exercise should be carried out to study the current state vs the future state of the system and process as part of any Salesforce integration project plan. This gap analysis should be the input element in the requirement gathering phase.
Decide the Integration Pattern and Approach
Salesforce integration projects are generally categorised into three different patterns, and careful consideration of the pattern and approach is essential at the planning stage of the project. More than one pattern can be used in a project based on business requirements and use case. The choice of pattern also influences the integration platform and tool to be used.
A quick summary of the three categories:
- Data Integration: This category addresses the integration of data between the external systems and Salesforce. This approach needs to be aligned with the organization’s data strategy, master data management, and data governance framework.
- Process Integration: This pattern of integration requires Salesforce to interact with an external system to complete a task or the external system needs input from Salesforce to execute a process. It’s important to determine the trigger that initiates the event or interaction, the exception handling mechanisms, and also manage the process state of systems.
- Virtual Integration: This approach enables real time access of data from multiple systems that are integrated without the need to locally store the external system’s data. This level of integration requires careful planning around data access and security.
Prepare an approach matrix mapping the pattern with the business use case:
|Integration Pattern||Use Case||Tool/Technique|
|Data Integration||Product catalogue changes in ERP|
|Process Integration||Sales order processing|
|Virtual Integration||Shipment tracking|
Collaborate With All Relevant Stakeholders
The success of a project relies heavily on collaboration and coordination with relevant stakeholders to address a problem statement. Here are some practical steps that you can follow:
- Bring the relevant stakeholders together in the planning phase of the project.
- Discuss the project purpose, problem statement and the solution.
- Sketch out the proposed solution to show all the systems involved in the project and list out the changes required.
- Prepare a detailed impact analysis and risk management strategy.
- Publish the outcome and secure the approval of all the stakeholders.
- Secure the budget.
- Publish the project plan, timelines, project management, steering, governance and gating framework.
- Involve the relevant stakeholders in User Acceptance Testing (UAT) and Training.
Whiteboard and Brainstorm All Possible Business Scenarios
A common mistake that derails integration projects is when business requirements and use case scenarios are missed or overlooked while architecting the integration solution.
The importance of collaborating with relevant stakeholders has already been highlighted. It is vital to brainstorm all use case scenarios, business requirements, and processes across all departments impacted by the implementation of the project. However small the use case is, it has to be discussed, analyzed and included in the solutioning. Sketching the UML (unified mark-up language) diagrams outlining the systems involved and their interoperability helps identify gaps and mitigate the risks early.
Choose the Right Implementation Team
Irrespective of the size and scale of an integration project, it is prudent for an organization to identify the right set of skill sets to be part of the team. It is recommended to list the roles and responsibilities of the team members by building the RASCI matrix. It is equally important to assess the team’s attitude to support the right cultural fit.
The recipe of success for any Salesforce project also involves having the right Salesforce partner to support the project. A mix of internal and partner resources is essential in building a well-balanced project team.
Determining the Integration Type (Pull/Push)
Another major consideration during the planning phase of an integration project is the type of integration architecture. Consider if Salesforce will be pulling or pushing data to or from external systems and similarly, if the external systems will pull or push data to or from Salesforce.
This influences the methodologies, triggering events, and sync frequency. Carefully consider the type of integration, its pros and cons, and determine the solution best fits the business use case in the integration matrix.
For example, bulk update of data in Salesforce at a defined interval can be achieved by bulk jobs pulling the data from an external system.
|Integration Pattern||Use Case||Type||Tool/Technique||Sync Frequency|
|Data Integration||Product catalogue changes in ERP||Pull|
|Process Integration||Sales order processing||Push|
|Virtual Integration||Shipment tracking||Pull|
The Salesforce governance and API limits should also be considered while determining the integration type.
Select the Right Integration Platform/Tool
Why consider a middleware integration platform/tool when a point-to-point integration is possible in Salesforce? This is a common question in any Salesforce integration project.
A simple integration between two systems with a one-way exchange of little data should be considered as an option for point-to-point integration. It’s always prudent to ensure the coding can support the switch to a middleware in case the complexity of integration requirements increases in the future.
The use of middleware in an integration architecture is recommended:
- When there are a number of systems involved: If there are more than two systems involved, using a middleware eases maintainability, improves synchronization frequency, and secures atomicity of data.
- When there is a large data volume exchange between the systems: This requirement is well supported through use of a middleware.
- When there is a requirement for data transformation: This can be well managed by the use of a middleware to avoid overloading Salesforce or other external systems with complex calculations on a large volume of data.
- When there is a need to manage data ownership between the multiple systems: Managing data integrity and atomicity can be offloaded to the middleware in an integration architecture.
There is an extensive list of middleware platforms and tools that support Salesforce integration with multiple systems. Some factors to be considered include, the availability of the required skill set, ease of use, maintainability, features supported, connectivity supported and cost.
Prepare an assessment matrix and select the middleware that best fits your requirement:
Finally, an assessment on available AppExchange packages is an important step in the process of finalizing the best tool to be used in the integration architecture.
Make Use of Native Salesforce Features AND Integration Tools
Assess the native features in Salesforce (listed below) and the other features that can support you in solutioning a robust integration architecture.
- External ID: A unique record identifier for external records.
- External Objects: External objects are associated with an external data source definition in your Salesforce organization.
- Salesforce Connect: Salesforce Connect provides seamless integration of data across system boundaries by letting your users view, search, and modify data that’s stored outside of Salesforce.
- Connected App: A connected app is a framework that enables an external application to integrate with Salesforce using APIs and standard protocols.
- Integration User: A Salesforce integration user is a full license, API-only user that enables connecting to the systems that are integrated to Salesforce.
- Federation ID: A unique ID in Salesforce used for SSO configurations.
- Named Credentials: A named credential specifies the URL of a callout endpoint and its required authentication parameters in one definition.
- Remote Site Setting: This enables external website resources to be accessed from within a Salesforce application in the org.
- Custom Metadata: Custom metadata is customizable, deployable, packageable, and upgradeable application metadata.
- Batch Jobs: Processing that involves a large volume of data and no user interactions are defined as batch jobs in Salesforce. These jobs are executed in manageable smaller chunks.
Consider Data Storage, Date Security, and Sync Frequency
The data ownership is another critical consideration of the integration architecture. Here are some of the questions to consider:
- Is this integration putting the organisation’s data at risk?
- Is all or a portion of the data owned by multiple systems?
- Where is the data stored?
- Is it stored centrally or replicated across the respective system owners?
- What is the sync frequency?
- What is the real-time data requirement?
- What is the volume of data transferred across systems?
- How is data access controlled?
The middleware or integration platforms and tools should be assessed to support data encryption, data masking, and data tokenization during the transfer of data between two systems. These techniques prevent data breaches and corruption.
If the data is made available in multiple systems, access to the data should also be managed systematically using any Identity Access Management (IAM) methodologies.
A well-defined integration architecture should facilitate both real-time and batch processing data access. The middleware should be configured to support data integrity and duplicate management when the data is added and updated by multiple systems.
Assess the Scalability and Maintainability of the Integration Solution
There are integration projects that are solutioned in an ad-hoc manner to support the need of the hour. These decisions result in non-scalable and high maintenance technology stack and other downstream challenges.
So what is scalability? Scalability of a solution can be measured in terms of the adaptability of the resulting technology stack to the changing needs of the business and the technology space. Ideally, the solution should be usable and reusable with minimum or no changes in view of new technology trends, changes in business requirements, and volume of data.
Maintainability is addressing both business-as-usual and expansion requirements. This needs an assessment on the skill set and training requirement which should be budgeted.
Create a Data/Process Integrity Checklist
Integration projects need to include extensive QA, SIT (System Integration Test), and UAT process before the system is made available in production for the end users. It is important to prepare a checklist to validate data integrity and continuity of business processes during the solution phase.
|Process Description||Data Input & System||Data Output & System||Validation Check Outcome||Audited By|
|Sales order process||Salesforce: Opportunity & Product line item||SAP: Sales Order Confirmation||Passed|
Consider all the processes impacted by the integration solution across every department while preparing the checklist. Involve the relevant stakeholders in auditing the solution to confirm data and process integrity.
This checklist can feed into the UAT test cases and SIT scenarios. This step will help identify gaps to be addressed at the earliest.
Review and Refine the Project Plan
The key to the success of every Salesforce project is planning. Developing a plan for an integration project should follow an iterative approach.
The draft project plan should be revisited and changed based on the feedback from stakeholder, changes to scope, project assumptions and risks. The timeline and cost should be recalibrated and published after every iteration.
This process requires good governance as the iteration phase cannot go on forever. The scope needs to be reconsidered in a phased approach based on the complexity of the solution. It is a best practice to devise a roadmap strategy and consider an MVP in the first phase and deploy the roadmap over time in the subsequent phases. This ensures a successful implementation.
Once everything looks good, you’re ready to go.
And there you have it: a full overview of Salesforce integration best practices. Integrating anything with Salesforce can often seem like a long and daunting process, and although it’s vital not to skip important steps like planning and user acceptance testing, once you’ve gotten used to the process, it should be fairly smooth sailing.