Export (0) Print
Expand All

Office Add-ins platform overview

Office Add-ins

You can use the apps for Office platform to create engaging new consumer and enterprise experiences for Office client applications. Using the power of the web and standard web technologies like HTML5, XML, CSS3, JavaScript, and REST APIs, you can create apps that interact with Office documents, email messages, meeting requests, and appointments.

Last modified: July 16, 2015

Applies to: Access apps for SharePoint | apps for Office | Excel | Office Add-ins | Outlook | PowerPoint | Project | Word

Learn more about supported hosts and other requirements.

Note Note

The name "apps for Office" is changing to "Office Add-ins". During the transition, the documentation and the UI of some Office host applications and Visual Studio tools might still use the term "apps for Office". For details, see New name for apps for Office and SharePoint.

In this article
Anatomy of an app for Office
Development basics
Types of apps for Office
Office applications that support apps for Office
What can an app for Office do?
Understanding the runtime
Publishing basics
Additional resources

An app for Office is a web application hosted in a web browser control or iframe running in the context of an Office host application that can interact with a user's documents or mail items. You can use apps for Office to extend and interact with:

  • Documents or data - Word documents, Excel spreadsheets, PowerPoint presentations, Access browser-based databases, and Project schedules and views.

  • Outlook mailbox items - Email messages, meeting requests, or appointments.

Apps can run in multiple environments, including Office desktop applications, Office Online in both desktop and mobile browsers, and a growing number of Office tablet and phone apps. When you publish your apps to the Office Store or to an on-premises app catalog, your apps will be available to consumers from their Office applications.

To try out some apps, you can install the following apps from the Office Store.

Office product



Bing Maps


Package Tracker


Khan Content from Microsoft



To check out some code, download the apps for Office sample pack for Visual Studio.

This article provides a quick overview of the apps for Office platform and how an app works with an Office application. To find out how to start developing apps right away, see Development basics.

The basic components of an app for Office are an XML manifest file and the default webpage of your app. The manifest defines various settings including the URL of the webpage that implements the app's UI and custom logic. When your app is ready for your customers, you upload your app's manifest to an on-premises app catalog or submit it to the Office Store. The webpage (and any .js or other files required by its implementation) needs to be hosted on a web server, or web hosting service, such as Microsoft Azure.

Manifest + webpage = an app for Office

Manifest plus webpage equals app for Office

The manifest specifies settings and capabilities of the app, such as the following:

  • The URL of the webpage that implements the app's UI and programming logic.

  • The app's display name, description, ID, version, and default locale.

  • How the app activates and displays:

    • For apps that interact with documents: as a task pane, or in line with document content.

    • For apps that interact with mail items (messages or appointments): when reading or composing the item.

  • The permission level and data access requirements for the app.

For more information about apps for Office manifests, see Office Add-ins XML manifest and Create a manifest for a mail add-in to activate in a read or compose form in Outlook (schema v1.1).

To create apps for Office, you can use any application that can save a file as text. But, you can create an app for Office more easily with the "Napa" Office 365 Development Tools web-based development environment, or in Visual Studio 2012 or later with its project templates, development environment, and debugging tools.

Basic components of an app for Office

To create an app for Office, at minimum, a developer must create an HTML webpage and a manifest file. The HTML page can be published to any web server, or web hosting service, such as Microsoft Azure. The manifest file must point to the location of the webpage and be published to any of the following locations: the public Office Store, an internal SharePoint list, or a shared network location.

The most basic app for Office consists of a static HTML page that is hosted inside an Office application, but doesn't interact with either the Office document or any other Internet resource.

Components of a Hello World app for Office

Components of a Hello World app

Creating an app for Office with Napa Office 365 Development Tools

Perhaps the quickest way to build an app for Office is directly out of a browser. You can do this by using Napa. Napa is web-based development environment that lets you create projects, write code, and run your apps all within the browser. There is no need to install any other tools such as Visual Studio. To learn more, see Create apps for Office and SharePoint by using Napa Office 365 Development Tools. To get started developing right away, see these topics:

Also, if you begin developing apps for Office with Napa, you can develop these projects further in Visual Studio to leverage its more powerful features such as advanced debugging or the ability to use a web project as part of your app.

Creating an app for Office with Visual Studio

The most powerful way to build an app for Office is to use the App for Office project template in Visual Studio. Visual Studio creates a complete solution that contains all of the files that you need to begin testing your app in Office immediately. Visual Studio provides a full range of features to make it easy for you to develop and test apps for Office. To learn more, see Creating an app for Office with Visual Studio. To get started developing right away, see these topics:

Creating an app for Office with a text editor

If want to use your favorite text editor to create an app for Office, see these topics for information about how to get started:

JavaScript API for Office

The JavaScript API for Office contains objects and members for building apps and interacting with Office content and web services.

For more information about the JavaScript API for Office:

This section provides a quick look at the three types of apps for Office: task pane, content, and mail.

Task pane apps

Task pane apps work side-by-side with an Office document, and let you supply contextual information and functionality to enhance the document viewing and authoring experience. For example, a task pane app can look up and retrieve product information from a web service based on the product name or part number selected in the document.

Task pane app

Task Pane app

To try out a task pane app in Excel 2013, Excel Online, or Word 2013, install the Wikipedia app.

Content apps

Content apps integrate web-based features as content that shown in line with the body of a document. Content apps let you integrate rich, web-based data visualizations, embedded media (such as a YouTube video player or a picture gallery), as well as other external content.

Content app

In content app

To try out a content app in Excel 2013 or Excel Online, install the Bing Maps app.

Mail apps

Mail apps display next to an Outlook item when you're viewing or composing it. They can work with an email message, meeting request, meeting response, meeting cancellation, or appointment in a read scenario – the user viewing a received item – or in a compose scenario – the user replying or creating a new item. Mail apps can access contextual information from the item, such as address or tracking ID, and then use that data to access additional information on the server and from web services to create compelling user experiences. In most cases, a mail app runs without modification on the various supporting host applications, including Outlook, Outlook for Mac, Outlook Web App and OWA for Devices, to provide a seamless experience on the desktop, web, and tablet and mobile devices.

Note Note

Mail apps require a minimum version of Exchange 2013 or Exchange Online to host the user’s mailbox. POP and IMAP email accounts aren't supported.

Mail app in a read scenario

Contextual app

To try out a mail app in Outlook , Outlook for Mac, or Outlook Web App, install the Package Tracker app.

Apps for Office are supported on a growing number of Office host applications running on the desktop, tablets, mobile devices, and in Office Online in the browser. In many cases, this means you can develop a single app that runs on different operating systems and Office host applications. And, your customers will have a consistent experience using your app across the desktop, their devices, or web browsers.

For task pane apps, this means you can develop a single app that runs with Excel, PowerPoint, and Word on the Windows desktop, or with Excel Online, PowerPoint Online, Word Online running in a web browser. For mail apps, this means you can develop a single app that runs with Outlook and Outlook for Mac on the desktop, with OWA for Devices on tablet and mobile devices, or with Outlook Web App in a web browser.

This table shows the Office host applications (including desktop, tablet, mobile, and web clients) that can run apps for Office, and the types of apps supported by each host.

Supported app types

Office application

Content apps

Mail apps

Task pane apps

Access web apps

Check symbol

Excel 2013 or later

Check symbol

Check symbol

Excel Online

Check symbol

Check symbol

Outlook 2013 or later

Check symbol

Outlook for Mac

Check symbol

Outlook Web App

Check symbol

OWA for Devices

Check symbol

PowerPoint 2013 or later

Check symbol

Check symbol

PowerPoint Online

Check symbol

Check symbol

Project 2013 or later

Check symbol

Word 2013 or later

Check symbol

Word Online

Check symbol

For more details, see Requirements for running Office Add-ins.

An app for Office can do pretty much anything a webpage can do inside the browser, such as the following:

  • Provide an interactive UI and custom logic through JavaScript.

  • Use JavaScript frameworks such as jQuery.

  • Connect to REST endpoints and web services via HTTP and AJAX.

  • Run server-side code or logic, if the page is implemented using a server-side scripting language such as ASP or PHP.

And, like webpages, apps for Office are subject to the same restrictions imposed by browsers, such as the same-origin policy for domain isolation, and security zones.

In addition to the regular capabilities of a webpage, apps for Office can interact with the Office application and an app user's content through a JavaScript library that the apps for Office infrastructure provides. How your apps can interact with Office and content depends on the type of app:

  • For task pane and content apps, the API lets your app read and write to documents, as well as handle key application and user events, such as when the active selection changes. For a summary of the features available to task pane and content apps, see Overview of task pane and content add-ins.

  • For mail apps, the API lets your app access email message, meeting request, and appointment item properties, and user profile information. The API also provides access to some Exchange Web Services operations. For more information about mail apps, see Mail add-ins for Outlook. For a summary of top features of mail apps, see Overview of mail add-ins for Outlook.

Apps for Office are secured by an app runtime environment, a multiple-tier permissions model, and performance governors. This framework protects the user's experience in the following ways:

  • Access to the host application's UI frame is managed.

  • Only indirect access to the host application's UI thread is allowed.

  • Modal interactions are not allowed, for example JavaScript alerts aren't allowed.

Further, the runtime framework provides the following benefits to ensure that an app for Office can't damage an app user's environment:

  • Isolates the process the app runs in.

  • Doesn't require .dll or .exe replacement or ActiveX components.

  • Makes apps easy to install and uninstall.

Also, the runtime framework governs the use of memory, CPU, and network resources by apps for Office to ensure that good performance and reliability are maintained. See these articles for details about the default values of the rules that govern app resource use and how to override those values, if necessary.

For more information about the apps for Office privacy and security model, see Privacy and security for Office Add-ins.

You can publish apps for Office to four distribution end-points:

  • Office Store—This is a public marketplace that Microsoft hosts and regulates on Office.com. In the Office Store, developers around the world can publish and sell their custom Office solutions, and then end users and IT professionals can download them for personal or corporate use.

    When a developer uploads an app to the Office Store, Microsoft validates the code. For example, it verifies that the app manifest markup is valid and complete. If the code is valid, Microsoft digitally signs the app package. The Office Store then takes care of the consumer download experience from discovery to purchase, upgrades, and updates.

  • Apps for Office catalog on SharePoint—For task pane and content apps, IT departments can deploy private app catalogs to provide the same app acquisition experience that the Office Store provides. This new catalog and development platform enables IT departments to use a streamlined method to distribute apps for Office and SharePoint to managed users from a central location.

    App catalogs are available to all SharePoint 2013 customers (including Office 365 and SharePoint on-premise). An app catalog enables publishing and management of both internally created apps as well as apps that are available in the Office Store and licensed for corporate use.

  • Exchange catalog—This is a private catalog for mail apps that is available to users of the Exchange server on which it resides. It enables publishing and management of corporate mail apps, including internally created apps as well as apps that are available in the Office Store and licensed for corporate use.

  • Network shared folder app catalog—IT departments and developers can also deploy task pane and content apps to a central network shared folder, where the manifest files will be stored and managed. Users can then acquire apps by specifying this shared folder as a trusted catalog, or IT departments can configure this shared folder as a trusted catalog by using a registry setting.

For more information, see Publish apps for Office.

The following scenarios show that apps for Office are targeted, quick-hit apps that can be used to solve complex, time-consuming problems.

These scenarios suggest ways in which you can, for example, surface line-of-business data and drive adoption of structured business processes in the familiar Office UI across multiple devices. They suggest how you could use an expense-managing app that connects Office, SharePoint, and SAP, or create an app that combines sales data with maps from the Bing Maps web service to create more effective sales reports. They show how you can unlock the return on your existing investments, such as enterprise resource planning (ERP) and customer relationship management (CRM) applications, by spending less time navigating to and from these applications from an Office client.

Scenarios include:

  • Translation wizard—A Word task pane app that automatically translates selected text from the document language to another language selected from a drop-down list.

  • Chart creation—An Excel content app that builds a chart automatically from selected data.

  • Third-party service integration—A Word or Excel task pane app that automatically displays the Wikipedia page that corresponds to selected text.

  • Rich mash-ups—A Bing map content app in Excel that plots the offshore equipment and resource locations for a petroleum company, including getting this information in real time from the company resource-management system.

  • Spec validation—A section or paragraph of a design specification for an aircraft component is flagged as outdated, because a Word task pane app that communicates with a business system to validate the contents against the latest spec.

  • Kicking off workflows—A mail app can assist creating a message or meeting request based on templates, inserting meeting location details or user’s choice of a signature, and attaching related documents.

  • Order details surfaced in context—A mail app that detects a purchase order number or customer number embedded in an email message can present details of the order or customer in the message. This could include an action to take, such as approval.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft