{"id":10468,"date":"2022-05-25T09:09:27","date_gmt":"2022-05-25T16:09:27","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=10468"},"modified":"2022-05-25T09:09:27","modified_gmt":"2022-05-25T16:09:27","slug":"whats-new-for-office-add-ins-at-build-2022","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/whats-new-for-office-add-ins-at-build-2022\/","title":{"rendered":"What&#8217;s new for Office Add-ins at Build 2022"},"content":{"rendered":"<p>Welcome to Build 2022! We\u2019re 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\u2019s modern hybrid environment.<\/p>\n<h2 aria-level=\"1\">Use Microsoft Access Dataverse connector with Power\u00a0Platform<\/h2>\n<p>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.\u202f We are please to announce the general availability of the Access connector for Dataverse and Power Platform.<\/p>\n<p>Access developers can now:<\/p>\n<ul>\n<li>Create new, front-end app scenarios on mobile devices or with Microsoft Teams.<\/li>\n<li>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.<\/li>\n<li>Manage security and compliance Dataverse cloud storage using Azure Active Directory and role-based security.<\/li>\n<\/ul>\n<p>Access customers on the current channel for Microsoft 365 and Office now can update their Microsoft Access build to\u202f16.0.15128.20248 or later. For more information, see <a href=\"https:\/\/techcommunity.microsoft.com\/t5\/access-blog\/the-access-connector-for-dataverse-and-power-platform-is\/ba-p\/3354250\">Access Connector for Dataverse and Power Platform Is Released for General Availability<\/a>. You can also view one of our sessions at Build:<\/p>\n<ul>\n<li><a href=\"https:\/\/mybuild.microsoft.com\/en-US\/sessions\/1b62e4de-df26-42b5-ba7e-d17e0fec39d1?source=sessions\">Access Connector for Dataverse and Power Platform GA Launch<\/a><\/li>\n<li><a href=\"https:\/\/mybuild.microsoft.com\/en-US\/sessions\/77cd32f2-6de4-4257-a0c0-5df3f59cd03b?source=sessions\">Pro Developer Capabilities of Power Apps and Dataverse for Access Developers<\/a><\/li>\n<\/ul>\n<h3>Data Type APIs for Excel<\/h3>\n<p>We\u2019ve 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.<\/p>\n<h3 aria-level=\"2\">Linked data type support<\/h3>\n<p>You can now both read and write objects of type <a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/excel\/excel.linkedentitycellvalue?view=excel-js-preview\">Linked Entity<\/a>. These are the same data types backed by Geography or Stocks data sources. When you point <a href=\"https:\/\/aka.ms\/dataTypesValuesAsJson\">valuesAsJson<\/a> at a cell containing one of these structures, you get all the information that makes up these entities.<\/p>\n<h3 aria-level=\"2\">Card view additions<\/h3>\n<p>With the first release of the API, most of the views that were rendered for <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/excel\/excel-data-types-entity-card\">entity cards<\/a> were default with little flexibility. We&#8217;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.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/brutixScaled.png\"><img decoding=\"async\" class=\"size-full wp-image-10498 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/brutixScaled.png\" alt=\"Card view in Excel example\" width=\"402\" height=\"385\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/brutixScaled.png 402w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/brutixScaled-300x287.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/brutixScaled-24x24.png 24w\" sizes=\"(max-width: 402px) 100vw, 402px\" \/><\/a><\/p>\n<p>More card view features are shown in the following table. Explore a code sample of these features in the <a href=\"https:\/\/github.com\/OfficeDev\/office-js-snippets\/blob\/main\/samples\/excel\/85-preview-apis\/data-types-entity-values.yaml\">entity value sample<\/a> in the <a href=\"https:\/\/github.com\/OfficeDev\/office-js-snippets\/tree\/main\/samples\/excel\">OfficeDev\/office-js-snippets<\/a> Excel samples repository.<\/p>\n<table style=\"height: 198px; width: 73.6724%; border-collapse: collapse;\" border=\"1\" cellspacing=\"1\" cellpadding=\"12px\">\n<thead>\n<tr style=\"height: 28px; border-style: solid; background-color: #f5f5f5;\">\n<td style=\"width: 17.5638%; height: 28px;\"><strong>Feature<\/strong><\/td>\n<td style=\"width: 19.8761%; height: 28px;\"><strong>Example<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 86px;\">\n<td style=\"width: 17.5638%; height: 86px; vertical-align: top;\"><strong>Sections<\/strong><\/p>\n<p>Sections allow you to create collapsible sections within cards for grouping logical things together.<\/td>\n<td style=\"width: 19.8761%; height: 86px;\"><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/sections.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10499\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/sections.png\" alt=\"Example of sections in an Excel card grouping logical things together\" width=\"400\" height=\"408\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/sections.png 400w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/sections-294x300.png 294w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/sections-24x24.png 24w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/sections-48x48.png 48w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 17.5638%; height: 28px; vertical-align: top;\"><strong>Property layout<\/strong><\/p>\n<p>Outside of the groupable sections you can control the order the properties are laid out in the card.<\/td>\n<td style=\"width: 19.8761%; height: 28px;\"><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/properties.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10500\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/properties.png\" alt=\"Layout of properties in an Excel card\" width=\"400\" height=\"284\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/properties.png 400w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/properties-300x213.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 17.5638%; height: 28px; vertical-align: top;\"><strong>Provider information<\/strong><\/p>\n<p>Provider information allows you to surface an image and an optional hyperlink to give your users confidence in where the data comes from.<\/td>\n<td style=\"width: 19.8761%; height: 28px;\"><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/provider.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10501\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/provider.png\" alt=\"Provider information in an Excel card allows images and links\" width=\"400\" height=\"39\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/provider.png 400w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/provider-300x29.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 17.5638%; height: 28px; vertical-align: top;\"><strong>Main image<\/strong><\/p>\n<p>You can promote an image within the card to the top to give greater context on the associated type.<\/td>\n<td style=\"width: 19.8761%; height: 28px;\"><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/mainImage.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10502\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/mainImage.png\" alt=\"Main image in an Excel card\" width=\"400\" height=\"122\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/mainImage.png 400w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/mainImage-300x92.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4><\/h4>\n<h3 aria-level=\"2\">Control different properties within an entity<\/h3>\n<p>Property metadata allows you to control how different properties within an entity are surfaced inside different Excel components.<\/p>\n<table style=\"height: 355px; width: 61.3374%; border-collapse: collapse;\" border=\"1\" cellspacing=\"1\" cellpadding=\"12\">\n<thead>\n<tr style=\"border-style: solid; background-color: f5f5f5;\">\n<td style=\"width: 2.8481%; height: 52px;\"><strong>Property<\/strong><\/td>\n<td style=\"width: 11.4912%; height: 52px;\"><strong>Definition<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 77px;\">\n<td style=\"width: 2.8481%; height: 77px;\">autoComplete<\/td>\n<td style=\"width: 11.4912%; height: 77px;\">Controls the exposure of the property within the autocomplete dropdown for dot notation in formulas.<\/td>\n<\/tr>\n<tr style=\"height: 50px;\">\n<td style=\"width: 2.8481%; height: 50px;\">cardView<\/td>\n<td style=\"width: 11.4912%; height: 50px;\">Controls the exposure of the property within the card.<\/td>\n<\/tr>\n<tr style=\"height: 76px;\">\n<td style=\"width: 2.8481%; height: 76px;\">calcCompare<\/td>\n<td style=\"width: 11.4912%; height: 76px;\">Controls whether the property is included in comparisons of two entities.\nFor example, =IF(A1=A2, TRUE), where A1, A2 contain entities.<\/td>\n<\/tr>\n<tr style=\"height: 50px;\">\n<td style=\"width: 2.8481%; height: 50px;\">dotNotation<\/td>\n<td style=\"width: 11.4912%; height: 50px;\">Controls the exposure of the property in dot notation.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4><\/h4>\n<h3 aria-level=\"2\">Additional icons<\/h3>\n<p>We&#8217;ve added support for more icons found in the product for the entity. Previously, the double diamond was the only icon available to entities.<\/p>\n<table style=\"height: 113px; width: 22.6766%; border-collapse: collapse; border-style: none;\" cellspacing=\"1\" cellpadding=\"12\">\n<tbody>\n<tr style=\"height: 40px;\">\n<td style=\"width: 14.6074%; height: 40px;\"><strong>Locks old icon<\/strong><\/td>\n<td style=\"width: 25.6553%; height: 40px;\"><strong>Locks new icon<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 73px;\">\n<td style=\"width: 14.6074%; height: 73px;\"><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Locks-icon-old.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10503\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Locks-icon-old.png\" alt=\"Image Locks icon old\" width=\"55\" height=\"49\" \/><\/a><\/td>\n<td style=\"width: 25.6553%; height: 73px;\"><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Locks-icon-new.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-10504\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Locks-icon-new.png\" alt=\"Image Locks icon new\" width=\"55\" height=\"49\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>To learn more about the Excel Data Type APIs and see a demo of new features, watch our Build 2022 on-demand session <a href=\"https:\/\/mybuild.microsoft.com\/en-US\/sessions\/7eba4632-0292-477f-b772-9ba761799192?source=sessions\">Excel add-ins and data types<\/a>.<\/p>\n<h2 aria-level=\"1\">Excel 1.15 JavaScript API requirement set<\/h2>\n<p>The\u00a0<a style=\"font-size: 1rem; color: #006f94; text-decoration-line: underline; outline-width: 0px;\" href=\"https:\/\/docs.microsoft.com\/javascript\/api\/requirement-sets\/excel\/excel-api-1-15-requirement-set\" target=\"_blank\" rel=\"noopener\">Excel API 1.15 requirement set<\/a><span style=\"font-size: 1rem;\">\u00a0<\/span><span style=\"font-size: 1rem;\">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\u2019ve 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.<\/span><\/p>\n<ul>\n<li><strong>Copy chart\/pivot table with data <\/strong>\u2014 The <a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/excel\/excel.chartseries?view=excel-js-preview#excel-excel-chartseries-getdimensiondatasourcestring-member(1)\">ChartSeries.GetDimensionDataSourceString<\/a> API gets the data source of the chart series to support copy or other scenarios for the Chart object. Explore a sample of this API in the <a href=\"https:\/\/github.com\/OfficeDev\/office-js-snippets\/blob\/main\/samples\/excel\/10-chart\/chart-data-source.yaml\">chart data source sample<\/a> in the <a href=\"https:\/\/github.com\/OfficeDev\/office-js-snippets\/tree\/main\/samples\/excel\">OfficeDev\/office-js-snippets<\/a> Excel samples repository.<\/li>\n<li><strong>Get source data of a pivot table <\/strong>\u2014 The <a style=\"font-size: 1rem; color: #006f94; text-decoration-line: underline; outline-width: 0px;\" href=\"https:\/\/docs.microsoft.com\/javascript\/api\/excel\/excel.pivottable?view=excel-js-preview#excel-excel-pivottable-getdatasourcestring-member(1)\">PivotTable.GetDataSourceString<\/a><span style=\"font-size: 1rem;\"> API <\/span><span style=\"font-size: 1rem;\">gets the data source of the PivotTable, which enables copying or further action to a PivotTable. Explore a sample of this API in the <a href=\"https:\/\/github.com\/OfficeDev\/office-js-snippets\/blob\/main\/samples\/excel\/38-pivottable\/pivottable-source-data.yaml\">PivotTable data source sample<\/a>.<\/span><\/li>\n<li><strong>Discover dependency <\/strong>\u2014 The <a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/excel\/excel.range?view=excel-js-preview#excel-excel-range-getdependents-member(1)\">Range.getDependents<\/a> API gets a range\u2019s all dependents across worksheets. Explore a sample of this API in the <a href=\"https:\/\/github.com\/OfficeDev\/office-js-snippets\/blob\/main\/samples\/excel\/42-range\/range-dependents.yaml\">Range dependents sample<\/a>. For more information, see <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/excel\/excel-add-ins-ranges-precedents-dependents\">Get formula precedents and dependents<\/a>.<\/li>\n<li><strong>Auto expand table<\/strong> \u2014 The <a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/excel\/excel.tablerowcollection?view=excel-js-preview#excel-excel-tablerowcollection-add-member(1)\">TableRowCollection.add<\/a> API adds one or more rows to the table. And it now supports an option to use the row below the table as the new added table row instead of inserting a new row. This option means better support for co-authoring. For more information, see <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/excel\/excel-add-ins-tables#add-rows-to-a-table\">Add rows to tables<\/a>.<\/li>\n<\/ul>\n<h2>New JavaScript APIs<\/h2>\n<table style=\"height: 545px; width: 74.1462%; border-collapse: collapse;\" border=\"1\" cellspacing=\"1\" cellpadding=\"12\">\n<thead>\n<tr style=\"border-style: solid; background-color: f5f5f5;\">\n<td style=\"width: 0.851064%; height: 52px;\"><strong>Area<\/strong><\/td>\n<td style=\"width: 1.27629%; height: 52px;\"><strong>API<\/strong><\/td>\n<td style=\"width: 47.4837%; height: 52px;\"><strong>Description<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color: #e4f2f7;\">\n<td style=\"width: 0.851064%; height: 101px;\" rowspan=\"2\">ChartSeries<\/td>\n<td style=\"width: 1.27629%; height: 51px;\">Excel.Chart.ChartSeries.\nGetDimensionDataSourceString<\/td>\n<td style=\"width: 47.4837%; height: 51px;\">Gets the string representation of the source data of the chart series.<\/td>\n<\/tr>\n<tr style=\"background-color: #e4f2f7;\">\n<td style=\"width: 1.27629%; height: 50px;\">Excel.Chart.ChartSeries.\nGetDimensionDataSourceType<\/td>\n<td style=\"width: 47.4837%; height: 50px;\">Gets the source data type of the chart series.<\/td>\n<\/tr>\n<tr style=\"height: 50px;\">\n<td style=\"width: 0.851064%; height: 150px;\" rowspan=\"3\">PivotTable<\/td>\n<td style=\"width: 1.27629%; height: 50px;\">Excel.PivotTableScopedCollection.\nGetFirstOrNullObject<\/td>\n<td style=\"width: 47.4837%; height: 50px;\">Gets the first PivotTable in the collection.<\/td>\n<\/tr>\n<tr style=\"height: 50px;\">\n<td style=\"width: 1.27629%; height: 50px;\">Excel.PivotTable.GetDataSourceString<\/td>\n<td style=\"width: 47.4837%; height: 50px;\">Returns the string representation of the data source for the PivotTable.<\/td>\n<\/tr>\n<tr style=\"height: 50px;\">\n<td style=\"width: 1.27629%; height: 50px;\">Excel.PivotTable.GetDataSourceType<\/td>\n<td style=\"width: 47.4837%; height: 50px;\">Gets the type of the data source for the PivotTable.<\/td>\n<\/tr>\n<tr style=\"height: 76px; background-color: #e4f2f7;\">\n<td style=\"width: 0.851064%; height: 76px;\">Tables<\/td>\n<td style=\"width: 1.27629%; height: 76px;\">Excel.TableRowCollection.add<\/td>\n<td style=\"width: 47.4837%; height: 76px;\">Adds an optional parameter \u201calwaysInsert\u201d to <strong>Excel.TableRowCollection.add<\/strong>, which specifies whether the new rows will be inserted into the table when new rows are added.<\/td>\n<\/tr>\n<tr style=\"height: 76px;\">\n<td style=\"width: 0.851064%; height: 76px;\">Range<\/td>\n<td style=\"width: 1.27629%; height: 76px;\">Excel.Range.GetDependents<\/td>\n<td style=\"width: 47.4837%; height: 76px;\">Returns a <strong>WorkbookRangeAreas<\/strong> object that represents the range containing all the dependent cells of a specified range in the same worksheet or in multiple worksheets.<\/td>\n<\/tr>\n<tr style=\"height: 50px; background-color: #e4f2f7;\">\n<td style=\"width: 0.851064%; height: 50px;\">Shape<\/td>\n<td style=\"width: 1.27629%; height: 50px;\">Excel.Shape.DisplayName<\/td>\n<td style=\"width: 47.4837%; height: 50px;\">Get a shape\u2019s display name.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2 aria-level=\"1\">Word Online 1.1 JavaScript API requirement set<\/h2>\n<p>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 <a href=\"https:\/\/aka.ms\/word-online-requirement-set\">Word JavaScript API online-only requirement set<\/a>.<\/p>\n<p>These APIs extend and enrich the following scenarios:<\/p>\n<ul>\n<li><strong>Comment<\/strong> \u2014 Get basic information from comments and replies, delete comments, or add rich formatting to comments and replies.<\/li>\n<li><strong>Footnotes\/endnotes<\/strong> \u2014 Get contents of footnotes\/endnotes in the Word document.<\/li>\n<li><strong>Track Changes<\/strong> \u2014 Get or set different track change modes, or get the reviewed text based on different modes.<\/li>\n<\/ul>\n<p>The following example shows how to set bold text and add a hyperlink to comments.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Word-API-resized-3.png\"><img decoding=\"async\" class=\"aligncenter wp-image-10678\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Word-API-resized-3-1024x460.png\" alt=\"set bold text and add hyperlinks to comments in Word\" width=\"750\" height=\"337\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Word-API-resized-3-1024x460.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Word-API-resized-3-300x135.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Word-API-resized-3-768x345.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Word-API-resized-3-1536x689.png 1536w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/Word-API-resized-3.png 1600w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>New APIs around Fields are now available in <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/reference\/requirement-sets\/word-preview-apis#web-only-api-list\">Word web-only API list (preview).<\/a> These APIs were highly requested from the community. The additional support for Fields will allow you to deliver better solutions for your customers.<\/p>\n<h2 aria-level=\"1\">PowerPoint Shapes API and Selection APIs<\/h2>\n<p>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.<\/p>\n<p>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 <a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/requirement-sets\/powerpoint\/powerpoint-preview-apis?view=common-js-preview\">PowerPoint JavaScript preview APIs<\/a> documentation.<\/p>\n<table style=\"height: 1425px; width: 100%;\" border=\"1\" cellspacing=\"1\" cellpadding=\"12px\">\n<thead>\n<tr style=\"border-style: solid; background-color: f5f5f5;\">\n<td style=\"height: 34px; width: 9.694%;\" width=\"110\"><strong>Object<\/strong><\/td>\n<td style=\"height: 34px; width: 25.2884%;\" width=\"149\"><strong>Function\/Property<\/strong><\/td>\n<td style=\"height: 34px; width: 43.5685%;\" width=\"365\"><strong>Notes<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 108px;\">\n<td style=\"height: 390px; width: 9.694%;\" rowspan=\"4\" width=\"110\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/javascript\/api\/powerpoint\/powerpoint.presentation?view=powerpoint-js-preview\">Presentation<\/a><\/td>\n<td style=\"height: 108px; width: 25.2884%;\" width=\"149\">SlideScopedCollection getSelectedSlides()<\/td>\n<td style=\"height: 108px; width: 43.5685%;\" width=\"365\">Returns the selected slides in the current view of the presentation. The first object in the collection is the active slide.<\/td>\n<\/tr>\n<tr style=\"height: 108px;\">\n<td style=\"height: 108px; width: 25.2884%;\" width=\"149\">ShapeScopedCollection getSelectedShapes()<\/td>\n<td style=\"height: 108px; width: 43.5685%;\" width=\"365\">Returns the selected shapes in the current view of the presentation. The first object in the collection is the active shape.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/javascript\/api\/powerpoint\/powerpoint.textrange?view=powerpoint-js-preview\">TextRange<\/a> getSelectedTextRange()<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Returns the selected TextRange in the current view.<\/td>\n<\/tr>\n<tr style=\"height: 108px;\">\n<td style=\"height: 108px; width: 25.2884%;\" width=\"149\">void setSelectedSlides( string[] slideIds )<\/td>\n<td style=\"height: 108px; width: 43.5685%;\" width=\"365\">Selects the slides with the given IDs in the current view of the presentation. The\u00a0first object will become the active slide.<\/td>\n<\/tr>\n<tr style=\"height: 149px;\">\n<td style=\"height: 131px; width: 9.694%;\" width=\"110\"><a href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fjavascript%2Fapi%2Fpowerpoint%2Fpowerpoint.slide%3Fview%3Dpowerpoint-js-preview&amp;data=05%7C01%7CCamille.Birch%40microsoft.com%7Cf101c63d19f5449bbc6808da38fc535d%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637884953630785689%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=vfYX3l2F3hU%2BNkmiLqKp7xiUTULchsRqbAJXbOos9HM%3D&amp;reserved=0\">Slide<\/a><\/td>\n<td style=\"height: 131px; width: 25.2884%;\" width=\"149\">void setSelectedShapes( string[] shapeIds)<\/td>\n<td style=\"height: 131px; width: 43.5685%;\" width=\"365\">Selects the shapes with the given IDs in the current view of the presentation. The first shape will be the active shape.<\/p>\n<p>The slide which the function will be called on will become the active and only selected slide.<\/td>\n<\/tr>\n<tr style=\"height: 149px;\">\n<td style=\"height: 290px; width: 9.694%;\" rowspan=\"4\" width=\"110\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/javascript\/api\/powerpoint\/powerpoint.textrange?view=powerpoint-js-preview\">TextRange<\/a><\/td>\n<td style=\"height: 93px; width: 25.2884%;\" width=\"149\">void setSelected()<\/td>\n<td style=\"height: 93px; width: 43.5685%;\" width=\"365\">Selects this TextRange in the current view. The Shape which this TextRange belongs to will become the active shape.<\/p>\n<p>The Slide which has the Shape that was just activated will become the active slide.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\">int start<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">The starting position of the text range in the shape which it belongs to.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 65px; width: 25.2884%;\" width=\"149\">int length<\/td>\n<td style=\"height: 65px; width: 43.5685%;\" width=\"365\">The length of the text range which this object holds.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.textframe?view=powerpoint-js-preview\">TextFrame<\/a> getTextFrame()<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Returns the owner TextFrame of this TextRange.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 9.694%;\" width=\"110\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.textframe?view=powerpoint-js-preview\">TextFrame<\/a><\/td>\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.shape?view=powerpoint-js-preview\">Shape <\/a>getShape()<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Returns the owner Shape of this TextFrame.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 9.694%;\" width=\"110\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.shape?view=powerpoint-js-preview\">Shape <\/a><\/td>\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.slide?view=powerpoint-js-preview\">Slide<\/a> getSlide()<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Returns the owner Slide of this Shape.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 448px; width: 9.694%;\" rowspan=\"6\" width=\"110\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.shapescopedcollection?view=powerpoint-js-preview\">ShapeScopedCollection<\/a><\/td>\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\">int getCount()<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Gets the number of shapes in the collection.<\/td>\n<\/tr>\n<tr style=\"height: 92px;\">\n<td style=\"height: 92px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.shape?view=powerpoint-js-preview\">Shape <\/a> getItemOrNullObject(string id)<\/td>\n<td style=\"height: 92px; width: 43.5685%;\" width=\"365\">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.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.shape?view=powerpoint-js-preview\">Shape <\/a> getItemAt(int index)<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\">int getCount()<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Gets the number of slides in the collection.<\/td>\n<\/tr>\n<tr style=\"height: 92px;\">\n<td style=\"height: 92px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.slide?view=powerpoint-js-preview\">Slide<\/a> getItemOrNullObject(string id)<\/td>\n<td style=\"height: 92px; width: 43.5685%;\" width=\"365\">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.<\/td>\n<\/tr>\n<tr style=\"height: 66px;\">\n<td style=\"height: 66px; width: 25.2884%;\" width=\"149\"><a href=\"https:\/\/docs.microsoft.com\/javascript\/api\/powerpoint\/powerpoint.slide?view=powerpoint-js-preview\">Slide<\/a> getItemAt(int index)<\/td>\n<td style=\"height: 66px; width: 43.5685%;\" width=\"365\">Gets a slide using its zero-based index in the collection. An error is thrown if the index is out of range.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2 aria-level=\"1\">Word, Excel, and PowerPoint Ribbon API update<\/h2>\n<p>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.<\/p>\n<h3 aria-level=\"2\">Ribbon API 1.1 \u2014 Enable\/disable add-in commands<\/h3>\n<p>Announcing the <strong>Preview for Ribbon API 1.1 on PowerPoint and Word<\/strong>. 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 <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/design\/disable-add-in-commands\">Enable and Disable<\/a> Add-in Commands.<\/p>\n<p>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.<\/p>\n<h3 aria-level=\"2\">Ribbon API 1.2 \u2014 Enable\/disable add-in commands<\/h3>\n<p><strong>Ribbon API 1.2 for Excel on Windows, on the web, and on Mac<\/strong> 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 <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/design\/contextual-tabs\">Create custom contextual tabs<\/a> in Office Add-ins.<\/p>\n<p>Ribbon API 1.2 enables developers to add custom contextual tabs to the Office ribbon as shown in the following example.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/8-contextual-tabs.png\"><img decoding=\"async\" class=\"aligncenter wp-image-10491\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/8-contextual-tabs.png\" alt=\"Contextual tabs on the Office ribbon example in Excel\" width=\"700\" height=\"301\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/8-contextual-tabs.png 894w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/8-contextual-tabs-300x129.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/8-contextual-tabs-768x331.png 768w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>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!<\/p>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">Outlook add-ins developer preview for new manifest <\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p>At Build 2022, we announced the general availability of Teams JS SDK v2, which enables you to <a href=\"https:\/\/docs.microsoft.com\/microsoftteams\/platform\/m365-apps\/overview\">extend Teams apps across Microsoft 365<\/a> 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&#8217;ll enable you to include your add-ins in the same single application and distribution model. <span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\">Enhancements to <span class=\"TextRun Highlight SCXW102106803 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW102106803 BCX8\" data-ccp-charstyle=\"normaltextrun\" data-ccp-charstyle-defn=\"{&quot;ObjectId&quot;:&quot;2c01a812-97f3-40ec-abc0-88cdffc292be|65&quot;,&quot;ClassId&quot;:1073872969,&quot;Properties&quot;:[469775450,&quot;normaltextrun&quot;,201340122,&quot;1&quot;,134233614,&quot;true&quot;,469778129,&quot;normaltextrun&quot;,335572020,&quot;1&quot;,469778324,&quot;Default Paragraph Font&quot;]}\">distribution, discovery, and development experiences<\/span><\/span><\/h3>\n<p><span class=\"TextRun Highlight SCXW224290453 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW224290453 BCX8\" data-ccp-charstyle=\"normaltextrun\" data-ccp-charstyle-defn=\"{&quot;ObjectId&quot;:&quot;2c01a812-97f3-40ec-abc0-88cdffc292be|65&quot;,&quot;ClassId&quot;:1073872969,&quot;Properties&quot;:[469775450,&quot;normaltextrun&quot;,201340122,&quot;1&quot;,134233614,&quot;true&quot;,469778129,&quot;normaltextrun&quot;,335572020,&quot;1&quot;,469778324,&quot;Default Paragraph Font&quot;]}\">We are working on several improvements for Outlook add-ins this calendar year.<\/span><\/span><span class=\"TextRun SCXW224290453 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW224290453 BCX8\" data-ccp-charstyle=\"normaltextrun\">\u00a0 <\/span> <\/span><span class=\"EOP CommentStart SCXW224290453 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"Calibri\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Bundle and distribute your add-ins with other Microsoft 365 integrations within a single package and unified manifest format.<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"Calibri\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Improve discovery and acquisition via a new store experience to reach a wide, relevant set of Microsoft 365 end users and admins.<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"Calibri\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Reuse your existing code while experiencing new developer scenarios and tools, including project\/manifest conversion and authoring tools.<\/span><\/li>\n<\/ol>\n<h3 aria-level=\"2\">Build an Outlook add-in with a Teams manifest<\/h3>\n<p><span data-contrast=\"auto\">Starting today, you can use a Teams developer preview manifest to build an add-in for Outlook. <span class=\"TextRun Highlight SCXW245417663 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentHighlightPipeRest SCXW245417663 BCX8\">The new <\/span><span class=\"NormalTextRun CommentStart SCXW245417663 BCX8\">JSON<\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">-based <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">format<\/span> <span class=\"NormalTextRun SCXW245417663 BCX8\">is designed to <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">be fully compatible with <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">the current <\/span><span class=\"NormalTextRun CommentStart SCXW245417663 BCX8\">add-in<\/span> <span class=\"NormalTextRun SCXW245417663 BCX8\">platform\u2019s <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">web <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">apps and <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">content<\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">. You can <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">reuse your knowledge and <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">code <\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">as you experiment<\/span><span class=\"NormalTextRun SCXW245417663 BCX8\"> with the new forma<\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">t<\/span><span class=\"NormalTextRun SCXW245417663 BCX8\">.<\/span><\/span><span class=\"TextRun SCXW245417663 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW245417663 BCX8\">\u00a0\u00a0<\/span><\/span><\/span><\/p>\n<ul>\n<li><span data-contrast=\"auto\">To get started, see <\/span><a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/quickstarts\/outlook-quickstart-json-manifest\"><span data-contrast=\"none\">Build an Outlook add-in with a Teams manifest (preview)<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">For a conceptual overview of the new format, see <\/span><a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/develop\/json-manifest-overview\"><span data-contrast=\"none\">JSON manifest overview<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span class=\"TextRun SCXW128618163 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW128618163 BCX8\">As we release these improvements<\/span><span class=\"NormalTextRun CommentStart SCXW128618163 BCX8\">, <\/span><\/span><span class=\"TextRun Highlight SCXW128618163 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW128618163 BCX8\">the new format will continue to <\/span><span class=\"NormalTextRun SCXW128618163 BCX8\">be fully<\/span> <span class=\"NormalTextRun SCXW128618163 BCX8\">compatible<\/span><span class=\"NormalTextRun SCXW128618163 BCX8\"> and <\/span><span class=\"NormalTextRun SCXW128618163 BCX8\">support <\/span><span class=\"NormalTextRun SCXW128618163 BCX8\">reuse with your existing add-in code. Additionally, a<\/span><span class=\"NormalTextRun SCXW128618163 BCX8\">dd-ins developed using the new format will <\/span><span class=\"NormalTextRun SCXW128618163 BCX8\">have <\/span><span class=\"NormalTextRun SCXW128618163 BCX8\">built-in backward compatibility and e<\/span><\/span><span class=\"TextRun SCXW128618163 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW128618163 BCX8\">xisting add-<\/span><span class=\"NormalTextRun SCXW128618163 BCX8\">ins will continue to work<\/span> <span class=\"NormalTextRun SCXW128618163 BCX8\">with full production support.<\/span><\/span><span class=\"EOP SCXW128618163 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"1\">More Outlook add-in updates<\/h2>\n<p>In addition to the excitement of the new manifest items, the Outlook add-ins team is also pleased to announce the following:<\/p>\n<h3 aria-level=\"2\">Hybrid collaboration in Outlook<\/h3>\n<p>We\u2019re 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\u2019s now available in Outlook on the web, on Mac, and on mobile. In the coming months, Outlook on Windows will also enable this capability.<\/p>\n<h3 aria-level=\"2\">Smart Alerts preview<\/h3>\n<p>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\u2019re 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 <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/outlook\/smart-alerts-onmessagesend-walkthrough\">Use Smart Alerts and the OnMessageSend event in your Outlook add-in (preview)<\/a>.<\/p>\n<h2 aria-level=\"1\">Review and respond to Office Store reviews in Partner Center<\/h2>\n<p><a href=\"https:\/\/docs.microsoft.com\/office\/dev\/store\/ratings-reviews\">Ratings and review insights dashboard in Partner Center for Office add-ins<\/a> 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\u2019ve 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.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/9-Office-Store-Ratings.png\"><img decoding=\"async\" class=\"size-full wp-image-10492 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/9-Office-Store-Ratings.png\" alt=\"Office store ratings and reviews as seen in Partner Center\" width=\"634\" height=\"341\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/9-Office-Store-Ratings.png 634w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/05\/9-Office-Store-Ratings-300x161.png 300w\" sizes=\"(max-width: 634px) 100vw, 634px\" \/><\/a><\/p>\n<p>The new dashboard improvements allow you to interact with the widgets in the following ways:<\/p>\n<ul>\n<li><strong>Analyze<\/strong> \u2013 Select an offer to view its average ratings, total ratings, ratings breakdown, and ratings with reviews.<\/li>\n<li><strong>Respond<\/strong> \u2013 Promptly reply to customer feedback of their Office store apps.<\/li>\n<li><strong>Connect<\/strong> \u2013 View contact emails and connect with customers who provided consent to email about feedback.<\/li>\n<li><strong>Discuss<\/strong> \u2013 Make edits, delete, and reply in threaded discussions for deeper customer engagement.<\/li>\n<\/ul>\n<h2>Resources<\/h2>\n<p>We hope you are as excited about these new features as we are. Take a moment to learn more and engage with us!<\/p>\n<ul>\n<li>Learn with docs at <a href=\"https:\/\/aka.ms\/office-add-ins-docs\">Office Add-ins<\/a> and <a href=\"https:\/\/aka.ms\/getscriptlab\">Script Lab<\/a>.<\/li>\n<li>Ask questions on <a href=\"https:\/\/stackoverflow.com\/\">Stack Overflow<\/a> using the <strong>office-js<\/strong> or <strong>outlook-web-addins\u00a0<\/strong>or on <a href=\"https:\/\/github.com\/OfficeDev\/office-js\">GitHub<\/a>.<\/li>\n<li>Share your feedback on Office Add-ins at <a href=\"https:\/\/aka.ms\/m365dev-suggestions\">Microsoft 365 Developer Platform Ideas<\/a> forum.<\/li>\n<li>Join us at our <a href=\"https:\/\/aka.ms\/officeaddinscommunitycall\">monthly community calls,<\/a> the second Wednesday of each month at 8:00AM Pacific Time.<\/li>\n<li>Join the <a href=\"https:\/\/aka.ms\/m365devprogram\">Microsoft 365 developer program<\/a> to get the access and resources you need to develop your Office Add-in.<\/li>\n<li>Discover resources for Office Add-ins on the <a href=\"https:\/\/developer.microsoft.com\/office\">Office Dev Center<\/a>.<\/li>\n<\/ul>\n<p>Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Get all the new Office Add-ins announcements from Build 2022. These new features will help you create solutions to increase productivity in today\u2019s modern hybrid environment.<\/p>\n","protected":false},"author":69076,"featured_media":10686,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[11],"tags":[85,125,18,28,12,46,47],"class_list":["post-10468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-office-add-ins","tag-access","tag-dataverse","tag-excel","tag-office-add-ins","tag-outlook","tag-powerpoint","tag-word"],"acf":[],"blog_post_summary":"<p>Get all the new Office Add-ins announcements from Build 2022. These new features will help you create solutions to increase productivity in today\u2019s modern hybrid environment.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/10468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/69076"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=10468"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/10468\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/10686"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=10468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=10468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=10468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}