To integrate both solutions we have multiple options but ultimately the decision comes down to build vs buy. Based on the task at hand any of the option can be suitable. Following is a brief description of possibilities to integrate both solutions.

1- Build

a. Integrate Salesforce into Office365

Every day, millions of people use Office 365 to collaborate on documents and projects, communicate over email, track contacts, store files, and more. Now, the new Office 365 APIs enable you to provide access to your customer’s Office 365 data, including the things they care about most–their mail, calendars, contacts, users and groups, files, and folders–all right from within your app itself.

You can access the Office 365 APIs from solutions across all mobile, web, and desktop platforms. No matter your development platform or tools. So whether you’re building web applications using .NET, PHP, Java, Python, or Ruby on Rails, or creating apps for Windows Universal Apps, iOS, Android, or on another device platform, it’s your choice. [1]

Office365 Rest API

Office365 provides API’s for all the solutions. API’s for the following office 365 solution are available and can be used to access data using simple HTTP protocol.

  • Mail
  • Contacts
  • Calendar
  • Discovery Service
  • Files
  • Sharepoint

Details about the API’s can be found at the following link. It lists all the API’s and different methods to interact with the API.

https://msdn.microsoft.com/en-us/office/office365/api/api-catalog

Microsoft also provides a nice sandbox solution to play with the API’s online without any installations. https://apisandbox.msdn.microsoft.com/

Microsoft virtual academy provides some nice jump start tutorials into office 365 app development. http://www.microsoftvirtualacademy.com/training-courses/deep-dive-integrate-office-365-apis-in-your-web-apps

These API’s can be used to integrate with Salesforce to build custom solutions. API’s can be called directly from the Salesforce app using its programming language APEX over standard HTTP protocol.

 

b. Integrate Office365 into Salesforce

As Microsoft exposes its office365 data in the form of API’s, Saleforce also has similar options. It actually gives more options to access the data from salesforce platform. The Salesforce prebuilt applications provide powerful CRM functionality. In addition, Salesforce provides the ability to customize the prebuilt applications to fit your organization. However, your organization may have complex business processes that are unsupported by the existing functionality. When this is the case, the Force.com platform includes a number of ways for advanced administrators and developers to implement custom functionality. These include the SOAP API, Apex, and Visualforce.[2]

List of all the API’s and their documentation can be found at https://developer.salesforce.com/page/Salesforce_APIs

SOAP API

Use SOAP API to create, retrieve, update or delete records, such as accounts, leads, and custom objects. With more than 20 different calls, SOAP API also allows you to maintain passwords, perform searches, and much more. Use SOAP API in any language that supports Web services.

REST API

REST API provides a powerful, convenient, and simple REST-based Web services interface for interacting with Salesforce. Its advantages include ease of integration and development, and it’s an excellent choice of technology for use with mobile applications and Web projects. However, if you have a large number of records to process, you may wish to use Bulk API, which is based on REST principles and optimized for large sets of data.

BULK API

Bulk API is based on REST principles and is optimized for loading or deleting large sets of data. You can use it to query, insert, update, upsert, or delete a large number of records asynchronously by submitting batches which are processed in the background by Salesforce. SOAP API, in contrast, is optimized for real-time client applications that update small numbers of records at a time. Although SOAP API can also be used for processing large numbers of records, when the data sets contain hundreds of thousands of records, it becomes less practical. Bulk API is designed to make it simple to process data from a few thousand to millions of records.

MetaData API

Use Metadata API to retrieve, deploy, create, update, or delete customizations for your organization. The most common use is to migrate changes from a sandbox or testing organization to your production environment. Metadata API is intended for managing customizations and for building tools that can manage the metadata model, not the data itself. [2]

If you are not sure that which API’s should be used then the following chart can help in the decision making process. https://help.salesforce.com/HTViewHelpDocid=integrate_what_is_api.htm

 

2- BUY

Other than building up custom integration solutions we have the option to buy solutions that fit our need. Following are a few apps that can be used to integrate office and salesforce.

Salesforce integration with Outlook

App Name Cost per user per month Rating on appexchange Description Links
LinkPoint $5 ~400 reviews (~4.5 rating) Plugin installed in Outlook. Option to manipulate salesforce data directly from outlook.  Link
Riva Multiple packages. Lite $9.95  ~51 reviews (~4.5 rating)  No installation required. Riva cloud/on-Premise service can be used. Contacts/Calendar/Tasks/Custom Data can be synched. Emails can also be tracked. Link
MatchMyEmail $14.95 74 (5 rating) Integrates with office 365 and automatically shows all the emails in Salesforce.  Link
Cirrus Insight $19 N/A Directly from Outlook web app we can manipulate salesforce data. Create leads/contacts. Use salesforce templates in office.  Link
PodBox $25 N/A Can be used to sync office and salesforce data.  Link

 

References:

[1] – https://msdn.microsoft.com/en-us/office/office365/howto/platform-development-overview

[2] – https://www.salesforce.com/developer/docs/api/