In today’s growing economy, every business needs to connect to customers more frequently than ever; establishing processes which actively support ongoing customer relationship management is no longer a luxury, it’s a necessity. Being the industry’s leading CRM platform, Salesforce can help businesses enhance their customer loyalty, elevate and step-up sales operations, extend marketing capabilities, and even integrate flawlessly with upstream and downstream partner and vendor organizations.
Through integration, you can use Salesforce’s capabilities to their full potential and connect your CRM pipeline to other critical business applications, enhancing value by sharing data throughout the organization.
By using a cloud-native low-code integration platform like Boomi, businesses can connect Salesforce with other enterprise applications and API resources in order to enable workflow automation and data management, making Salesforce even more valuable to employees throughout the organization.
Here at XTIVIA, we have compiled a list of best practices and insights that will smooth the process of integrating Salesforce data and workflows with your other business processes using the Boomi platform, ultimately setting your organization up for success.
1) Leverage the Boomi Salesforce connector
The Boomi Salesforce connector is designed to use Salesforce APIs to allow the customer to easily set up data integration processes with Salesforce and synchronize data between Salesforce and other business applications. Boomi application connectors are developed, maintained, certified, and supported by Boomi, and are actively updated on an ongoing basis to provide additional integration functionality and enhance existing connector integration capabilities. By using the Salesforce connector, integration developers can simplify the integration process and save time and money, and reduce overall maintenance and development efforts required to provide future enhancements and upgrades.
The following is an example of a configured salesforce connector.
2) Limit your return result sets
A Salesforce application connector operation executes a specific action against a Salesforce object or record type. An operation can be configured to limit the number of results returned, which is very useful during the development process for ad-hoc validation and unit testing. The connector also allows you to configure the input fields that you are using as part of the action as well as the output values to return.
The best practice is to only select the fields that you will be using as part of the operation since application endpoints and/or the backing salesforce object structure can always change. If the Boomi connector issues a query that refers to a field which does not exist in Salesforce, this will result in an error.
Here is an image of the salesforce query operation.
3) Optimize Salesforce fields usage
Salesforce connectors allow you to verify the fields used in the Salesforce get operation. By using the “show SOQL” button to look at the query details generated by the process, you can validate the following:
- The fields used in the query
- The filter criteria used in where clause
- Any sorting options that you would have used
A SOQL query can also be tested by running it in the Salesforce developer console to avoid any SOQL failures or to examine the data returned by the SOQL and determine any sorting options that might be needed. This is a very useful feature, allowing you to analyze the performance of a query in order to avoid long running queries and processes.
Here is how a sample SOQL query looks in the Boomi salesforce connector.
4) Use SOQL features to debug queries
Another tip for optimizing efficiency during development is to use the Salesforce Object Query Language (SOQL) to lookup data within your Salesforce organization to help debug and tune queries. The Salesforce connector provided by Boomi can be configured to execute a custom SOQL query on a Salesforce organization’s data; this feature allows Boomi developers to create complex and advanced SOQL queries. Developers can use this functionality to create and extend their queries by using operations like COUNT or LIKE to reduce the overhead of integration processes and increase overall performance.
To enable the custom SOQL feature on Salesforce operation in the connector, note the configuration in the picture below
Once the custom feature is enabled on the Salesforce operation you will see the Action displayed as “Query by Custom SOQL”, as shown below.
Now you can pass the custom SOQL to Salesforce connector’s Get operation as an input document by using the message shape. Here is an example of custom SOQL being passed using message shape.
Since custom SOQL queries do not support bulk operations, you must use multiple SOQL queries as multiple documents to fetch the records from Salesforce.
For more information on SOQL please check out Salesforce SOQL and SOSL reference document.
5) Optimize your salesforce queries prior to go-live
Before deploying your salesforce Boomi integration process, it is highly advisable to analyze all Salesforce connector queries and fields. Queries used in Salesforce operations, whether used in a Boomi Start Shape or in a Boomi Map, fetch a record or set of records for transformation in the Boomi Process. Both of these types of queries can be optimized by examining and tweaking the fields that will be returned by Salesforce. The benefits that are realized by doing so include the following:
- It minimizes the risk of changes to fields or endpoints used by an API affecting your Boomi integration; optimizing for both of these will result in your process only having hard dependencies on data that is absolutely necessary for the integration.
- It avoids the potential pitfall of development or test environment field definitions being promoted to production, where those fields might not exist.
- Boomi metadata, which stores a static copy of the record, can go out of date; reducing the number of fields used in queries makes the query less vulnerable to failure due to changes and deletions in Salesforce metadata, objects, and fields.
6) Batch your processes to improve performance
Another Boomi feature that you can leverage to improve overall system performance is its capacity for batch integration. Batch integration offers capabilities to easily manage large batched data updates or complex schedules which improve the performance of the data synchronization process, streamlining operations and improving data consistency across applications. Using batch integrations, Salesforce updates can be periodically synchronized into other applications, or data changes from other applications can be ingested into salesforce en masse. Batch process integrations are data transfers that occur on a cadence; that cadence can be hourly, daily, weekly, monthly or using some other time interval. At some predefined interval, the batch integration process checks to see if something has changed in the source system; if it has changed, the integration process executes an action, such as copying data into or out of Salesforce.
Consider these options when designing and scheduling a batch process integration:
- Use Salesforce custom fields to identify whether the specific data has been updated in Salesforce. Custom fields like DateTime fields or a custom flag can be set by the Salesforce platform when data has been updated in Salesforce and these custom fields can be checked to perform the sync.
- The schedule of the integration process should be defined after analyzing the frequency of data updates. For example, if the data is likely to change only once or twice a week, set the schedule to run semiweekly rather than on a daily or hourly basis.
7) When needed, execute real-time integration with Salesforce platform events
In addition to batch and scheduled integration capabilities, Salesforce now supports real-time integration via event-based triggers for business use cases where business velocity requirements force a more active integration policy.
The new event-driven architecture focuses on events and record changes rather than on full record processing; for real-time or mission-critical updates, Salesforce can be configured to call an API whenever a specific event occurs or a change happens at the record level in your Salesforce organization. To take advantage of this, Boomi’s API Mediate and Management feature allows Boomi customers to expose a series of secured APIs or web-services which can be consumed by Salesforce platform events to perform real-time integration. Real-time integration can be very useful for use cases such as creating a complete 360-degree customer experience, creating bi-directional workflows, capturing and acting upon streaming or IoT events, or delivering real-time actions based on internal or external events.
Follow these guidelines to set your Boomi project on the path to success! If you have questions on how you can best leverage Boomi and/or need help with your Boomi implementation, please engage with us via comments on this blog post, or reach out to us at https://www.xtivia.com/contact/ or [email protected].