At the time of this writing, Office Add-ins are not supported in every deployment of the Office clients. There is full support in the Windows clients and various support for Add-ins in the OS X and iOS clients, but Microsoft is continuing to add support for Add-ins in all the modern versions of the Office clients throughout the remainder of 2015 (and going forward) as the goal is full support in all Office clients.
So what kind of things can developers build using this model? With Outlook, developers have access to an area in the e-mail read/compose pane between the header and body of the e-mail. Developers have access to the contents within the e-mail (provided the user who installs the Office Add-in grants the permissions it requests). For Word and Excel, users can add their Add-ins in the task panes within those applications. Similar to Outlook, developers can access content within the hosting application like in an Excel workbook or Word document, as well as write to selected areas.
These are significant productivity improvements for Office customers because it allows them to work with their data right where they are spending a considerable amount of their time: in Office. Some of the popular Add-ins within the Office Store today are ones that detect shipping tracking codes within an e-mail and show the tracking details right inline without ever leaving the e-mail.
Office 365-enabled Web applications
In addition to SharePoint Add-ins and Office Add-ins, developers have a third option they can take advantage of. I like to refer to these as Office 365-enabled Web Applications. These are regular Web applications authored in any Web technology and on any platform, such as ASP.NET MVC, Node.js, Ruby, Java or PHP. Developers can then leverage data within their company’s Office 365 investments within the application.
Think of all the times you have been tasked to create a Web application that needed to include contacts, e-mail, calendar items or files from your user’s enterprise data. When your company is in Office 365, all this data is accessible to you as a developer using the multiple API options at your disposal.
The many API options with Office 365
As previously mentioned, Microsoft greatly expanded on the CSOM, JSOM and REST APIs for SharePoint in SharePoint 2013. While they have been improving these since release, they have also introduced a significant number of APIs for Office 365.
In late 2014, Microsoft shipped a new set of Office 365 APIs based on the OData 4.0 protocol specification that exposed not only SharePoint Online data, but also data within Exchange Online such as contacts, calendars and e-mail (not to mention files stored in users’ OneDrive for Business deployments). These APIs share a common versioning, permission and authentication model.
Each of these endpoints was treated as a separate endpoint, which meant separate authentication and lookup requests, but Microsoft has improved upon this with the announcement in April of the new Unified API. This single endpoint will be the entry point for all Microsoft APIs. At the time of this writing, the Unified API is available as a Preview API and has coverage for all Office 365 endpoints such as contacts, calendars, messages and files. It includes support for new endpoints that Microsoft has recently introduced, as well including the groups API.
Microsoft also announced both plans and preview APIs for things such as the Office 365 Video Portal, Skype for Business, the Office Graph that powers tool such as Delve, as well as many others.