{"id":6365,"date":"2021-05-26T08:27:26","date_gmt":"2021-05-26T15:27:26","guid":{"rendered":"https:\/\/officedevblogs.wpengine.com\/?p=6365"},"modified":"2022-05-31T09:10:29","modified_gmt":"2022-05-31T16:10:29","slug":"whats-new-in-office-platform-at-build-2021","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/whats-new-in-office-platform-at-build-2021\/","title":{"rendered":"What&#8217;s new in Office Platform at Build 2021"},"content":{"rendered":"<p><span class=\"normaltextrun\">Welcome to Build 2021! The Office Platform team is excited to share six new Outlook and Excel announcements. We think that this is particularly exciting for our Office developer community! These new features will help bring your business solutions more seamlessly into Office. For more detail, please see the <\/span><a href=\"https:\/\/aka.ms\/OD505\" target=\"_blank\" rel=\"noopener noreferrer\">Outlook<\/a><span class=\"normaltextrun\"> and <\/span><a href=\"https:\/\/aka.ms\/OD553\" target=\"_blank\" rel=\"noopener noreferrer\">Excel<\/a><span class=\"normaltextrun\"> on-demand sessions at Build. <\/span><\/p>\n<h2><span class=\"normaltextrun\">New event-based add-ins for Outlook<\/span><\/h2>\n<p class=\"Blog-Normal\"><span class=\"normaltextrun\">Event-based add-ins enable developers to surface their add-in capabilities based on user actions within Outlook. <\/span>For this first release of events, you can launch add-ins automatically when composing messages or appointments using the on compose events. This combined with the release of the Mailbox 1.10 APIs unlocks the long-awaited Signature Scenario where add-ins can add custom signatures to a newly created message or appointment without the user needing to take any action. <a href=\"https:\/\/aka.ms\/LearnEventBasedAddIns\" target=\"_blank\" rel=\"noopener noreferrer\">Try these out today<\/a>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-6439 size-full\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/build-Office_GIF-1.gif\" alt=\"An event-based add-in adds a recipient upon creation of an e-mail.\" width=\"800\" height=\"450\" \/><\/p>\n<p>To showcase the amazing scenarios being enabled, we partnered with three ISVs specializing on e-mail signature solutions who are using both the on compose events and the Mailbox 1.10 signature APIs at the core of their functionality. Please visit <a href=\"https:\/\/www.letsignit.io\/addin-office-365\/\" target=\"_blank\" rel=\"noopener noreferrer\">LetSignIt<\/a>, <a href=\"https:\/\/www.codetwo.com\/blog\/worlds-first-multiplatform-signature-add-in\/\" target=\"_blank\" rel=\"noopener noreferrer\">CodeTwo<\/a> and <a href=\"https:\/\/blog.exclaimer.com\/new-exclaimer-cloud-outlook-add-in-from-the-most-secure-email-signature-solution-provider\/#:~:text=Working%20directly%20with%20Microsoft's%20latest,wherever%20an%20employee%20is%20based\" target=\"_blank\" rel=\"noopener noreferrer\">Exclaimer<\/a> to learn more about their solutions.<\/p>\n<p>As part of our investment towards event-based add-is, we are also releasing additional events to preview (install beta build 16.0.14026.20000) which you can try on Outlook Web and Windows. The events included in this preview are:<\/p>\n<ul>\n<li><span class=\"lang: decode:true crayon-inline\">OnRecipientsChanged<\/span><\/li>\n<li><span class=\"lang: decode:true crayon-inline\">OnAttachmentsChanged<\/span><\/li>\n<li><span class=\"lang: decode:true crayon-inline\">OnAppointmentTimeChanged<\/span><\/li>\n<li><span class=\"lang: decode:true crayon-inline\">OnAppointmentRecurrenceChanged<\/span><\/li>\n<li><span class=\"lang: decode:true crayon-inline\">OnInfoBarDismiss<\/span><\/li>\n<\/ul>\n<p class=\"Blog-Normal\">Imagine all the possible scenarios you can implement using these events! Below are just two examples of how your add-in can utilize these new events.<\/p>\n<p class=\"Blog-Normal\">Using the <span class=\"lang: decode:true crayon-inline\">OnRecipientsChanged<\/span> event, your add-in can insert custom signatures based on whether the recipient is external or internal.<\/p>\n<p class=\"Blog-Normal\"><img decoding=\"async\" class=\"aligncenter wp-image-6440 size-full\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/build-Office_GIF-2.gif\" alt=\"An event-based add-in using the OnRecipientsChanged event identifies external recipients and adds the right signature.\" width=\"800\" height=\"545\" \/><\/p>\n<p class=\"Blog-Normal\">Enable more efficient communication by suggesting links to large files instead of sharing a large attachment using the <span class=\"lang: decode:true crayon-inline\">OnAttachmentsChanged<\/span> event.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-6441 size-full\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/build-Office_GIF-3.gif\" alt=\"An event-based add-in identifies a large attachment and suggests uploading it to the cloud. \" width=\"800\" height=\"635\" \/><\/p>\n<h2>Mailbox 1.8 is now supported in Outlook for Mac<\/h2>\n<p class=\"Blog-Normal\">With this release, add-in support in the Outlook for Mac comes to parity with the classic Mac Outlook, so that Mac users can now leverage these flows. Mailbox 1.8 includes the APIs needed for both the OnSend events and the delegates scenario. This requirement set also enables additional features that can assist with the migration of code injection plugins to Web add-ins. As a reminder, code injection will be <a href=\"https:\/\/aka.ms\/injectionplugins\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-size: 12.0pt;\">deprecated going forward<\/span><\/a>. To assist the migration of such add-ins, we are now supporting the \u201cEquivalentAddins\u201d entry in the Outlook add-in manifest. Use it to enable your Web Add-in in Outlook for Mac and Online, but keep the COM\/VSTO equivalent in Win32, see more details <a href=\"https:\/\/aka.ms\/Com2Web\"><span style=\"font-size: 12.0pt;\">here<\/span><\/a>.<\/p>\n<h2><span class=\"normaltextrun\">Keyboard Shortcut APIs for Excel<\/span><\/h2>\n<p class=\"Blog-Normal\"><span class=\"normaltextrun\">One of the ways we have made it easier for users to access your Excel add-in and get more done is through the support for keyboard shortcut APIs. <\/span><span style=\"color: #2f2f2f;\">Office has hundreds of native keyboard shortcuts that enable power users to work more efficiently. Keyboard shortcuts are also critical for users with mobility or vision disabilities because they provide an alternative to using a mouse. This is especially powerful in Excel where you may need to repeat the same action several times during a single workflow. We have now made it possible for <span style=\"background: white;\">developers to configure custom keyboard shortcuts for Office Add-ins in Excel that can invoke any add-in related functionality. <\/span><\/span><\/p>\n<p class=\"Blog-Normal\"><span style=\"color: #2f2f2f; background: white;\">\u00a0<\/span><span style=\"color: #2f2f2f; background: white;\">Here is one example of how you can utilize keyboard shortcuts in your add-in experience. In the following video, we use\u00a0<strong><span style=\"font-family: 'Segoe UI',sans-serif;\">Ctrl+Shift+Up<\/span><\/strong>\u00a0and\u00a0<strong><span style=\"font-family: 'Segoe UI',sans-serif;\">Ctrl+Shift+Down<\/span><\/strong>\u00a0to show and hide the task pane. This enables users to work efficiently between the task pane and the worksheet without ever reaching for their mouse. Read more about this <\/span><a href=\"https:\/\/developer.microsoft.com\/microsoft-365\/blogs\/add-custom-keyboard-shortcuts-to-your-office-add-ins-in-excel\/\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"background: white;\">API<\/span><\/a><span style=\"color: #2f2f2f; background: white;\">.<\/span><\/p>\n<p class=\"Blog-Normal\"><span style=\"color: #2f2f2f; background: white;\"><img decoding=\"async\" class=\"aligncenter wp-image-6442\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/build-Office_GIF-4.gif\" alt=\"An add-in uses custom keyboard shortcuts to show and hide the task pane.Example of a keyboard shortcut\" width=\"799\" height=\"462\" \/><\/span><\/p>\n<p>&nbsp;<\/p>\n<h2>Contextual Ribbon Tabs APIs<\/h2>\n<p>The Office Ribbon is the primary commanding surface for millions of users. And we\u2019re building on our enable and disable capabilities by add-in commands, by allowing developers to project their own custom ribbon tabs based on user context or actions selected. More specifically, a contextual tab is a hidden tab control in the Office ribbon that is displayed in the tab row when a specified event occurs in the Office document. For example, the <strong>Table Design<\/strong> tab that appears on the Excel ribbon when a table is selected. Now, with the support for contextual ribbon tab APIs, your add-in can create contextual tabs to give your add-in users the tools they need right when they need it. <a href=\"https:\/\/docs.microsoft.com\/office\/dev\/add-ins\/design\/contextual-tabs\" target=\"_blank\" rel=\"noopener noreferrer\">Learn more about this API today.<\/a><\/p>\n<h2>Excel 1.13 Office JavaScript API requirement set<\/h2>\n<p>The 1.13 requirement set has a new batch of APIs that adds to our over 2000+ cross-platform JavaScript APIs that work across Excel for Mac, the web, and Windows.<\/p>\n<p>With this requirement set, we&#8217;ve added more community-requested APIs. These optimize your developer experience and help you deliver modern experiences with a few lines of code:<\/p>\n<p><strong>Getting data into Excel:<\/strong> The <span class=\"lang: decode:true crayon-inline\">InsertWorksheetsFromBase64<\/span> API saves developers time by easily bringing JSON data into Excel and leveraging pre-formatted templates. Explore a <a href=\"https:\/\/github.com\/OfficeDev\/PnP-OfficeAddins\/tree\/master\/Samples\/excel-insert-file\" target=\"_blank\" rel=\"noopener noreferrer\">sample<\/a> of this API.<\/p>\n<p><strong>Auditing data: <span class=\"lang: decode:true crayon-inline\">Range.getDirectDependents<\/span>\u00a0<\/strong>helps audit formulas and content in user workbooks. This builds upon the corresponding Range.getDirectPrecedents API available in the Excel 1.12 requirement set.<\/p>\n<p><strong>Writing back data to your backend: <\/strong>The <span class=\"lang: decode:true crayon-inline\">onFormulaChanged<\/span> event enables you to manage state more efficiently with add-ins that use custom functions. In addition, it supports scenarios where you need to \u2018writeback\u2019 a new value to your back end and re-hydrate the formula.<\/p>\n<p>These APIs will be rolling out over the next month. Tune in to our next <a href=\"https:\/\/aka.ms\/officeaddinscommunitycall\" target=\"_blank\" rel=\"noopener noreferrer\">community call<\/a> on June 9th for more details!<\/p>\n<h2>WebView2 runtime provides uniformity across Windows versions<\/h2>\n<p>We\u2019ve evolved the runtime that Office Add-ins run under using the WebView2 engine. WebView2 is the most modern web control available and is supported across Windows 8 and Windows 10. Further, WebView2 is \u201cevergreen\u201d, meaning it is kept fresh with regular updates and security patches without relying on OS updates. <a href=\"https:\/\/docs.microsoft.com\/microsoft-edge\/webview2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Learn more about WebView2<\/a>.<\/p>\n<p>Office released support for WebView2 starting with Office version 16.0.13530.20424. So, if you have this version or later, and have the WebView2 runtime installed, Office will use WebView2 as the runtime. This is an incredibly exciting step for the Office Platform \u2014 not only because of all the benefits of WebView2, but also because it provides for uniformity of the runtime for add-ins across various versions of Windows. For a deeper understanding of the runtimes used by Office add-ins, please read <a href=\"https:\/\/developer.microsoft.com\/en-us\/microsoft-365\/blogs\/understanding-office-add-ins-runtime\/\" target=\"_blank\" rel=\"noopener noreferrer\">Understanding the Office Add-ins runtime<\/a> blog.<\/p>\n<h3>Resources<\/h3>\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\" target=\"_blank\" rel=\"noopener noreferrer\">Office add-ins<\/a> and <a href=\"https:\/\/github.com\/OfficeDev\/script-lab\/blob\/master\/README.md#top\" target=\"_blank\" rel=\"noopener noreferrer\">Script Lab<\/a><\/li>\n<li>Ask questions on <a href=\"https:\/\/stackoverflow.com\">Stack Overflow<\/a> using the \u2018office-js\u2019 or \u2018outlook-web-addins\u2019 tag<\/li>\n<li>You can also ask questions 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\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft 365 Platform Ideas<\/a><\/li>\n<li>Join us at our <a href=\"https:\/\/aka.ms\/officeaddinscommunitycall\" target=\"_blank\" rel=\"noopener noreferrer\">monthly community calls<\/a> to get the latest<\/li>\n<li>Join the <a href=\"https:\/\/aka.ms\/m365devprogram\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft 365 developer program<\/a> to get the access and resources you need to develop your Office add-in<\/li>\n<li>Stay up to date; read the <a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/\">Microsoft 365 developer blog<\/a><\/li>\n<\/ul>\n<p>Happy coding!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Take a tour of the new features for Excel and Outlook that will help you bring your business solutions more seamlessly into Office.<\/p>\n","protected":false},"author":69076,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[11],"tags":[18,32,28,177,12],"class_list":["post-6365","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-office-add-ins","tag-excel","tag-microsoft-build","tag-office-add-ins","tag-office-scripts","tag-outlook"],"acf":[],"blog_post_summary":"<p>Take a tour of the new features for Excel and Outlook that will help you bring your business solutions more seamlessly into Office.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/6365","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=6365"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/6365\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/25159"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=6365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=6365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=6365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}