What’s new for Office Add-ins at Build 2022

Office Add-ins team

Welcome to Build 2022! We’re excited to share the latest Office Add-in JavaScript API updates and other announcements with our developer community. These new features will help you create solutions to increase productivity in today’s modern hybrid environment.

Use Microsoft Access Dataverse connector with Power Platform

Microsoft Access customers told us they need more hybrid solutions that keep the value and ease of use of Access but have the security and flexibility of cloud-based storage and development platforms.  We are please to announce the general availability of the Access connector for Dataverse and Power Platform.

Access developers can now:

  • Create new, front-end app scenarios on mobile devices or with Microsoft Teams.
  • Share and edit Access data in real time using cloud-based data stores and front-end apps created in Access, Power Apps Mobile, and Microsoft Teams.
  • Manage security and compliance Dataverse cloud storage using Azure Active Directory and role-based security.

Access customers on the current channel for Microsoft 365 and Office now can update their Microsoft Access build to 16.0.15128.20248 or later. For more information, see Access Connector for Dataverse and Power Platform Is Released for General Availability. You can also view one of our sessions at Build:

Data Type APIs for Excel

We’ve added support for additional features in the Excel Data Type APIs, including more customizability to the pre-existing structures and reinforced support for read and write.

Linked data type support

You can now both read and write objects of type Linked Entity. These are the same data types backed by Geography or Stocks data sources. When you point valuesAsJson at a cell containing one of these structures, you get all the information that makes up these entities.

Card view additions

With the first release of the API, most of the views that were rendered for entity cards were default with little flexibility. We’ve added additional support to allow you to control how the data is displayed to your customers. The following image is an example of a card view in Excel.

Card view in Excel example

More card view features are shown in the following table. Explore a code sample of these features in the entity value sample in the OfficeDev/office-js-snippets Excel samples repository.

Feature Example
Sections

Sections allow you to create collapsible sections within cards for grouping logical things together.

Example of sections in an Excel card grouping logical things together
Property layout

Outside of the groupable sections you can control the order the properties are laid out in the card.

Layout of properties in an Excel card
Provider information

Provider information allows you to surface an image and an optional hyperlink to give your users confidence in where the data comes from.

Provider information in an Excel card allows images and links
Main image

You can promote an image within the card to the top to give greater context on the associated type.

Main image in an Excel card

Control different properties within an entity

Property metadata allows you to control how different properties within an entity are surfaced inside different Excel components.

Property Definition
autoComplete Controls the exposure of the property within the autocomplete dropdown for dot notation in formulas.
cardView Controls the exposure of the property within the card.
calcCompare Controls whether the property is included in comparisons of two entities. For example, =IF(A1=A2, TRUE), where A1, A2 contain entities.
dotNotation Controls the exposure of the property in dot notation.

Additional icons

We’ve added support for more icons found in the product for the entity. Previously, the double diamond was the only icon available to entities.

Locks old icon Locks new icon
Image Locks icon old Image Locks icon new

 

To learn more about the Excel Data Type APIs and see a demo of new features, watch our Build 2022 on-demand session Excel add-ins and data types.

Excel 1.15 JavaScript API requirement set

The Excel API 1.15 requirement set has a new batch of APIs that adds to our over 2000+ cross-platform JavaScript APIs that work across Excel on Windows, on the web, and Mac. With this requirement set, we’ve added more APIs to optimize your developer experience and help you deliver new and useful experiences to your customers with a few lines of code.

New JavaScript APIs

Area API Description
ChartSeries Excel.Chart.ChartSeries. GetDimensionDataSourceString Gets the string representation of the source data of the chart series.
Excel.Chart.ChartSeries. GetDimensionDataSourceType Gets the source data type of the chart series.
PivotTable Excel.PivotTableScopedCollection. GetFirstOrNullObject Gets the first PivotTable in the collection.
Excel.PivotTable.GetDataSourceString Returns the string representation of the data source for the PivotTable.
Excel.PivotTable.GetDataSourceType Gets the type of the data source for the PivotTable.
Tables Excel.TableRowCollection.add Adds an optional parameter “alwaysInsert” to Excel.TableRowCollection.add, which specifies whether the new rows will be inserted into the table when new rows are added.
Range Excel.Range.GetDependents Returns a WorkbookRangeAreas object that represents the range containing all the dependent cells of a specified range in the same worksheet or in multiple worksheets.
Shape Excel.Shape.DisplayName Get a shape’s display name.

 

Word Online 1.1 JavaScript API requirement set

The Word Online 1.1 JavaScript API requirement set is rolling out to production! These new APIs streamline important scenarios and provide performance improvements within Word compared to the features available using the OOXML APIs. For more information, see Word JavaScript API online-only requirement set.

These APIs extend and enrich the following scenarios:

  • Comment — Get basic information from comments and replies, delete comments, or add rich formatting to comments and replies.
  • Footnotes/endnotes — Get contents of footnotes/endnotes in the Word document.
  • Track Changes — Get or set different track change modes, or get the reviewed text based on different modes.

The following example shows how to set bold text and add a hyperlink to comments.

set bold text and add hyperlinks to comments in Word

New APIs around Fields are now available in Word web-only API list (preview). These APIs were highly requested from the community. The additional support for Fields will allow you to deliver better solutions for your customers.

PowerPoint Shapes API and Selection APIs

The PowerPoint 1.4 JavaScript API requirement set will roll out to production in June 2022. This requirement set includes new Shape APIs, which will empower developers to build add-ins with complex shape-related capabilities.

Selection APIs for slides, shapes, and text ranges are now available for preview. These APIs enable developers to achieve core editing and content manipulation scenarios in PowerPoint. For more information, see the PowerPoint JavaScript preview APIs documentation.

Object Function/Property Notes
Presentation SlideScopedCollection getSelectedSlides() Returns the selected slides in the current view of the presentation. The first object in the collection is the active slide.
ShapeScopedCollection getSelectedShapes() Returns the selected shapes in the current view of the presentation. The first object in the collection is the active shape.
TextRange getSelectedTextRange() Returns the selected TextRange in the current view.
void setSelectedSlides( string[] slideIds ) Selects the slides with the given IDs in the current view of the presentation. The first object will become the active slide.
Slide void setSelectedShapes( string[] shapeIds) Selects the shapes with the given IDs in the current view of the presentation. The first shape will be the active shape.

The slide which the function will be called on will become the active and only selected slide.

TextRange void setSelected() Selects this TextRange in the current view. The Shape which this TextRange belongs to will become the active shape.

The Slide which has the Shape that was just activated will become the active slide.

int start The starting position of the text range in the shape which it belongs to.
int length The length of the text range which this object holds.
TextFrame getTextFrame() Returns the owner TextFrame of this TextRange.
TextFrame Shape getShape() Returns the owner Shape of this TextFrame.
Shape Slide getSlide() Returns the owner Slide of this Shape.
ShapeScopedCollection int getCount() Gets the number of shapes in the collection.
Shape getItemOrNullObject(string id) Gets a shape using its unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned.
Shape getItemAt(int index) Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range.
int getCount() Gets the number of slides in the collection.
Slide getItemOrNullObject(string id) Gets a slide using its unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned.
Slide getItemAt(int index) Gets a slide using its zero-based index in the collection. An error is thrown if the index is out of range.

 

Word, Excel, and PowerPoint Ribbon API update

We continue to make great progress evolving our Ribbon APIs for Word, Excel, and PowerPoint. These APIs enable developers to create custom contextual experiences for Office Add-in users! At Build 2022, we are announcing additional support for both Ribbon API 1.1 and Ribbon API 1.2.

Ribbon API 1.1 — Enable/disable add-in commands

Announcing the Preview for Ribbon API 1.1 on PowerPoint and Word. This preview functionality has only been available on Windows and Mac. We encourage you to try the feature and provide feedback so we can improve the experience before GA. For more information, see Enable and Disable Add-in Commands.

Ribbon API 1.1 brings the capability to contextually enable and disable add-in commands. When some functionality in your add-in should only be available in certain contexts, you can programmatically enable or disable your custom add-in commands. For example, an add-in command that changes the header of a table should only be enabled when the cursor is in a table.

Ribbon API 1.2 — Enable/disable add-in commands

Ribbon API 1.2 for Excel on Windows, on the web, and on Mac is now generally available! We have received great feedback from our partners and have added support for Mac. We encourage you to let us know if you have requirements for Ribbon API 1.2 on other applications such as Word and PowerPoint. For more information, see Create custom contextual tabs in Office Add-ins.

Ribbon API 1.2 enables developers to add custom contextual tabs to the Office ribbon as shown in the following example.

Contextual tabs on the Office ribbon example in Excel

A notable example of native contextual tabs can be found in the previous example. Now, when users click on a table, Excel shows the Table Design tab. With Ribbon API 1.2, add-in developers can create similar experiences for add-in scenarios in Excel!

Outlook add-ins developer preview for new manifest  

At Build 2022, we announced the general availability of Teams JS SDK v2, which enables you to extend Teams apps across Microsoft 365 with personal tabs and search-based message extensions into Outlook using a single application and distribution model. These new capabilities complement the deep integration into mail and calendar enabled by Outlook add-ins. Together, they further expand your toolbox for integrating with Outlook and Microsoft 365. As we continue to enhance the add-in platform, we’ll enable you to include your add-ins in the same single application and distribution model.  

Enhancements to distribution, discovery, and development experiences

We are working on several improvements for Outlook add-ins this calendar year.   

  1. Bundle and distribute your add-ins with other Microsoft 365 integrations within a single package and unified manifest format.
  2. Improve discovery and acquisition via a new store experience to reach a wide, relevant set of Microsoft 365 end users and admins.
  3. Reuse your existing code while experiencing new developer scenarios and tools, including project/manifest conversion and authoring tools.

Build an Outlook add-in with a Teams manifest

Starting today, you can use a Teams developer preview manifest to build an add-in for Outlook. The new JSON-based format is designed to be fully compatible with the current add-in platform’s web apps and content. You can reuse your knowledge and code as you experiment with the new format.  

As we release these improvements, the new format will continue to be fully compatible and support reuse with your existing add-in code. Additionally, add-ins developed using the new format will have built-in backward compatibility and existing add-ins will continue to work with full production support. 

More Outlook add-in updates

In addition to the excitement of the new manifest items, the Outlook add-ins team is also pleased to announce the following:

Hybrid collaboration in Outlook

We’re in the process of releasing Every Meeting Online for third-party online meeting providers, a feature that enables users to provide a link to an online meeting on all appointments. It’s now available in Outlook on the web, on Mac, and on mobile. In the coming months, Outlook on Windows will also enable this capability.

Smart Alerts preview

This is a follow-up to Ignite last November where we shared this exciting feature to help employees stay engaged as they face unfamiliar, unpredictable distractions in the hybrid workplace. Smart Alerts help your users to send better emails by enabling add-ins to run upon sending an email, analyze content, and provide recommendations or mandatory updates on emails. The feature has been in preview for a few months in Outlook on Windows. And, we’re finalizing implementation in Outlook on the web and on Mac so we can move to GA in the coming months. For more information on Smart Alerts, see Use Smart Alerts and the OnMessageSend event in your Outlook add-in (preview).

Review and respond to Office Store reviews in Partner Center

Ratings and review insights dashboard in Partner Center for Office add-ins is now in General Availability. Customers leave over 100 reviews on Microsoft 365 offers in AppSource every month. Customers use reviews to express delight, share feedback, and raise issues with the apps they’ve acquired. Now, Office Add-in publishers can directly connect with their customers through reviews, respond the feedback, increase customer success, and improve the ratings of their offers.

Office store ratings and reviews as seen in Partner Center

The new dashboard improvements allow you to interact with the widgets in the following ways:

  • Analyze – Select an offer to view its average ratings, total ratings, ratings breakdown, and ratings with reviews.
  • Respond – Promptly reply to customer feedback of their Office store apps.
  • Connect – View contact emails and connect with customers who provided consent to email about feedback.
  • Discuss – Make edits, delete, and reply in threaded discussions for deeper customer engagement.

Resources

We hope you are as excited about these new features as we are. Take a moment to learn more and engage with us!

Happy coding!