Eric Bowden has over 19 years of software development experience around enterprise and departmental business productivity applications.
For the second consecuitive year, Salesforce and Microsoft have both been named as leaders in Gartner’s aPaas Magic Quadrant for Enterprise Application Platform as a Service with their respective offerings, Force.com and Office 365. Lately, the options for integrating data between the leaders has been growing, including out of the box features, developer tooling, and third party products.
Do you need to integrate Salesforce with Office 365?
Below, I’ve collected a top ten list of what you should know about how to integrate Salesforce with Office 365.
1. Consider Off the Shelf Offerings
Salesforce ISV partners market applications on the App Exchange. Salesforce administrators and users who have been assigned the “Download AppExchange packages” can install apps from the App Exchange. Apps can be installed and evaluated in test, sandbox, or developer environments and deployed into production. The easiest way to start is to access the AppExchange and search for Office 365. You’ll find a number of apps like Trove (for file sharing), integrations with Outlook, document process automation and others.
Microsoft ISV’s market applications in the Office store. Site Owners can install apps in sites or request an app install by the Office 365 administrator. Apps require permissions, and the user installing the app must have sufficient permissions to grant access to the app, thus an Office 365 administrator may be required to install certain apps. Searching for Salesforce in the Office store is the best place to start. SharePoint apps include integrations for workflow and list/library connections.
Also, look beyond the app store for companies that create product connectors and developer tooling [e.g. MuleSoft)]
Next, I recommend that you learn about the integration features that are provided as part of the platform, Salesforce and Office 365.
2. Learn About Files Connect in Salesforce (for File Based Integration Requirements)
Files Connect allows you to browse and share files from a SharePoint site into your Chatter feed. Files Connect can be configured to share files from SharePoint either as a link or as a copy. A built-in viewer in Salesforce allows users to view files that have been shared as a copy, directly in the Salesforce UI. Further, Files Connect allows users to find documents, searching for a keyword within the document title.
3. Learn about External Objects in Salesforce (for Records Based Integration Requirements)
While Files Connect is for displaying SharePoint files in Salesforce, use External Data Objects to display list data in Salesforce. External Objects can be added as a tab or added as a related list to existing objects.
External Objects and Files Connect are both read-only. Also, additional charges may apply.
4. Learn about Named Credentials (for Custom Integrations Created in Salesforce)
Named Credentials in Salesforce function as a service layer for API calls into SharePoint in Office 365, isolating the developer from the pain of OAuth authentication. Named Credentials use the same authentication providers that are used by Files Connect and External Objects, mentioned above. The Salesforce administrator can configure access into SharePoint to use a single service principal, or allow users to authenticate on their own.
Authentication can also be accomplished as custom app dev for integration projects for those that have unique authentication requirements that are not supported by Named Credentials.
Trove is an example of a Salesforce hosted application which uses custom code for authenticating API calls into SharePoint in Office 365. The most recent version of Trove supports application principal authentication into SharePoint in Office 365. This feature requires that authentication is coded as a custom feature.
5. Consider Synchronization of Data as Part of a Scheduled Task
Consider out-of-the-box or custom built applications which can be used to synchronize data between Salesforce and Office 365. Copying data can have benefits such as allowing for full fidelity of the platform experience. For example, although External Objects are not supported by Salesforce reports, reporting can be achieved by copying data from SharePoint in Office 365 into custom objects in Salesforce.
6. Review the Integration Options for SharePoint in Office 365
Business Connectivity Services for SharePoint in Office 365 provides a list based, read/write experience for external data. However, because BCS for SharePoint in Office 365 does not support OAuth authentication, you will need to build custom, middle-tier web services to support a BCS connection. There are also products which can be used as the middle tier between SharePoint and Office 365.
7. Learn about Power BI
Power BI is another option to consider for integrating Salesforce data with SharePoint in Office 365. The Salesfore Connector for Power BI includes two predefined dashboards, and you can create your own.
8. Learn about Provider Hosted Apps for SharePoint
Provider Hosted apps are ASP.net web applications, typically hosted in Azure, which render as part of the SharePoint user interface. Developers can exercise full control over authentication, retrieving and rendering data. Using Visual Studio 2015 and the Salesforce Services extension, developers can configure a connection to Salesforce, including the OAuth configuration.
The Chatter integration that ThreeWill built for a prospective customer is one example of a Provider Hosted app that integrates with Salesforce. This application uses a certificate based OAuth flow, providing a single sign-on experience for users. The user interface and all data access are accomplished through the custom application, hosted in Azure.
9. Plan for Authentication
Authentication questions you should ask include:
- Does the integration require user authentication or impersonation for security trimming and audit trails?
- Will the integration always have an interactive user, and will that interactive user have credentials required to authenticate an API connection?
- Does the integration support storing of “secrets,” such as those used for several aspects of OAuth authentication?
- Does the integration support certificate signed credentials?
The answers to these questions will help determine which authentication flow you choose and thus the experience for end users. The authentication options and out-of-the-box features vary between SharePoint and Salesforce, and as a result, some of the requirements and design decisions may influence how much of the integration is built in Salesforce, SharePoint in Office 365, or in a middle tier service such as Azure.
10. Find Effective Online Training for a Deeper Dive
Online webinars and training courses can be a very efficient method to ramp-up on the technologies described above.
- Pluralsight includes resources for app dev across both Salesforce and Office 365, including technologies which apply equally to both platforms such as OAuth.
- The Microsoft Virtual Training Academy is a great source for free online training.
- Learn more about Salesforce with Trailhead
- Learn about external data sources in Salesforce Introduction to Lightning Connect.
- Learn about how Power BI and the integration with Salesforce.
- Learn about building ASP.net web applications using Salesforce Connected Services in Visual Studio.
- Learn about building Provider Hosted apps for SharePoint 2013
- Determine if your data integration needs require data in real-time, or if the data can be delivered as a part of a scheduled task.
- Consider if your integration needs can be met by third party or out-of-the-box features.
- Consider custom app dev options in both Salesforce and Office 365.
- Evaluate the licensing costs for third party solutions and balance these against the costs for a custom built solution.
- Find effective training and learn more.