This is a multi-part series where we discuss how to integrate SharePoint and Salesforce. There isn’t a one size fits all, I will share a few of the different ways we’ve done it in past projects.
- Best In Class(es): Bringing Salesforce and Office 365 Together. Instead of forcing one platform to do it all, aim to leverage the best of both platforms: Salesforce and Office 365.
- Case management in Salesforce, documents in SharePoint. We created a folder creation process to store case files in SharePoint and giving users the full breadth of document capabilities of SharePoint.
- Uploading files to SharePoint tightly coupled to Salesforce metadata. We created a custom upload form to associate specific metadata from Salesforce to the file in SharePoint, along with providing Salesforce the references to the files.
- Salesforce Files Connect using a SharePoint Library. A basic approach to displaying files from SharePoint in Salesforce.
- THIS POST: Enterprise search across Salesforce and SharePoint. Search and discovery across both platforms is essential for users, in this approach we created a hybrid search center to allow users to perform searches across both Salesforce and SharePoint.
The search experience in Salesforce isn’t the greatest. Users were searching for a lawyer, and would find the contact record, but didn’t find any associated cases. The lawyer name isn’t actually on the case, it’s referenced in the case, but not in a way for search to say “hey, this case has the keyword in it”. Instead, users had to go to the contact record, then view the associated cases.
If you’ve been following along, you’ll know we also had case files in a separate system, over in SharePoint. It’s great to have all of these files stored in SharePoint, but now we have a disjointed search experience.
The client also had piles of files on-premises, within network file shares. These files date back years and years. Of course, we need to include these in search as well.
To address this, we leveraged SharePoint Online’s enterprise search capabilities, with a hybrid environment. We set up a SharePoint 2016 farm, on-prem, and leveraged BA Insight’s Salesforce Connector to crawl Salesforce data. This farm was then configured with the customer’s Office 365 tenant to push their index to the cloud.
If you’re considering a hybrid enterprise search, definitely check out BA Insight. They have connectors for almost any data source, it installs quickly, and their support is fantastic.
We also used the farm to crawl the on-premises file shares.
High-Level Design
Some technical details
- The SharePoint farm was optimized only for search and not build for high availability. Since this farm was only providing search services, being highly available wasn’t a requirement.
- BA Insight’s Salesforce Connector allowed us to combine data across the different data sets, to normalize the look up references to include the lookup data in the referenced records. Now searching for a lawyer would return cases that the lawyer was referenced in.
- On-prem file shares were indexed using the out of the box connector in SharePoint 2016. We ran into some problems with large files, as it defaults to 64MB per file. There are some PowerShell commands to increase the size as needed.
Final notes
There is a limit in Office 365 hybrid search. Your tenant needs 1TB of storage for every 1 million hybrid items in the search index. We hit this limitation as we were indexing near 3 million items across Salesforce and file shares, but their tenant only had 1.2TB. After upgrading to 3TB of storage, search worked as expected.