Export (0) Print
Expand All

Overview of apps for Office

apps for Office

Learn how to extend Office client applications with apps for Office that you can build with web technologies like HTML, CSS, JavaScript, REST, OData, and OAuth. Use apps for Office to provide new experiences in Office applications using JavaScript, web technologies, and cloud services to interact with Office documents, email messages, meeting requests, and appointments.

Last modified: October 20, 2014

Applies to: Access app for SharePoint | Excel 2013 | Excel 2013 RT | Excel 2013 SP1 | Excel Online | Exchange Online | Exchange Server 2013 | Exchange Server 2013 SP1 | Outlook 2013 | Outlook 2013 RT | Outlook 2013 SP1 | Outlook Web App | OWA for Devices | PowerPoint 2013 | PowerPoint 2013 RT | PowerPoint 2013 SP1 | PowerPoint Online | Project 2013 SP1 | Project Professional 2013 | Word 2013 | Word 2013 RT | Word 2013 SP1

   Office.js: v1.0, v1.1

   Apps for Office manifests schema: v1.0, v1.1

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

The apps for Office platform lets you create engaging new consumer and enterprise experiences that run within supported Office applications using the power of the web and standard web technologies like HTML5, XML, CSS3, JavaScript, and REST APIs. Use your existing knowledge of these web technologies to quickly build your apps.

An app for Office is a web application hosted in a web browser control or iframe that runs in the context of an Office host application, which can interact with a user's documents or mail items. 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.

  • Exchange mailbox items opened in Outlook - email messages, meeting requests, or appointments.

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

To try out some apps, download the apps for Office sample pack for Visual Studio, or try out some apps from the Office Store in Word, Excel, Outlook, PowerPoint, or Project.

This article provides a quick overview of the apps for Office platform, how an app works with an Office application, and how you publish an app to the Office Store or to an onsite catalog for consumers to use. 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 (message, meeting request, or appointment): when reading the item, or when composing the item

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

For more information about apps for Office manifests, see Understanding the apps for Office XML manifest and Creating a manifest for a mail app to activate in a read or compose form in Outlook (schema v1.1).

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 Outlook, Outlook RT, 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 2013 or Outlook Web App, install the Package Tracker app.

Office applications that support apps for Office

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, on a Windows RT PC, or with Excel Online and PowerPoint Online running in a web browser. For mail apps, this means you can develop a single app that runs with Outlook and Outlook Web App on the desktop, and with Outlook RT, Outlook Web App and OWA for Devices on tablet and mobile devices.

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

(Access 2013 SP1 or later)

Check symbol

Excel 2013 or later

Excel Online

Excel RT

Check symbol

Check symbol

Outlook 2013 or later

Outlook RT

Outlook Web App

OWA for Devices

Check symbol

PowerPoint 2013 or later

PowerPoint Online

PowerPoint RT

Check symbol

Check symbol

Project 2013 or later

Check symbol

Word 2013 or later

Word RT

Check symbol

For more details, see Software and device requirements.

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 Start with fundamental concepts for task pane and content apps.

  • 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 apps for Outlook. For a summary of top features of mail apps, see Start with fundamental concepts for mail apps in 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 apps for Office.

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 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:

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" Office 365 Development Tools. "Napa" Office 365 Development Tools 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" Office 365 Development Tools, 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:

JavaScript API for Office

The JavaScript API for Office consists of members of the Microsoft.Office.WebExtension namespace (which is accessed using the Office object in code) contains objects and members for building apps and interacting with Office content and web services.

For more information about the JavaScript API for Office:

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.

Show:
© 2014 Microsoft