{"id":21282,"date":"2024-05-22T15:45:15","date_gmt":"2024-05-22T22:45:15","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=21282"},"modified":"2024-12-11T02:37:32","modified_gmt":"2024-12-11T10:37:32","slug":"whats-new-for-office-add-ins-at-build-2024","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/whats-new-for-office-add-ins-at-build-2024\/","title":{"rendered":"What&#8217;s new for Office Add-ins at Build 2024"},"content":{"rendered":"<p><span data-contrast=\"none\">We\u2019re seeing an increasing number of Office Add-ins solutions combining with apps across the Microsoft 365 ecosystem. We are committed to delivering new capabilities to help you build more powerful integrations with Word, Excel, PowerPoint, and Outlook. In this blog, we explore the new capabilities and features we&#8217;re announcing for Office Add-ins development at Build 2024 to empower your Office solutions even more. <\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><a id=\"word-updates\"><\/a>Word updates<\/h2>\n<h3>Explore the new Word JavaScript requirement set<\/h3>\n<p>Earlier this year, we introduced <a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/word-javascript-api-1-7-requirement-set-now-available\/#:~:text=The%20Word%20JavaScript%20API%201.7,support%2C%20and%20custom%20XML%20support.\">WordApi 1.7<\/a>, which featured support for annotation, checkbox content control, and enhanced InsertFileFromBase64 functionality. Since then, we&#8217;ve accelerated our API release cadence to deliver features more swiftly. We\u2019re pleased to announce that we&#8217;re releasing a new requirement set for Word available in June 2024.<\/p>\n<p><strong>WordApi 1.8 allows you to build add-ins to:<\/strong><\/p>\n<ul>\n<li><span class=\"TextRun SCXW212034064 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">S<\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">ignificantly enhance the user experience by displaying a<\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">n<\/span> <span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">on-canvas <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">card for <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">specific<\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\"> text<\/span> <span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">leveraging<\/span> <\/span><a class=\"Hyperlink SCXW212034064 BCX0\" href=\"https:\/\/learn.microsoft.com\/en-us\/javascript\/api\/word\/word.annotationpopupactioneventargs?view=word-js-preview\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW212034064 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Hyperlink\">annotation popup APIs<\/span><\/span><\/a><span class=\"TextRun SCXW212034064 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">. <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">For example, <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">grammar check add-ins will display pop-up suggestions for incorrect text allowing users to accept or reject corrections. In addition, legal document review add-ins can prompt users <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">with <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">reasons <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">for<\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\"> statements <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">marked <\/span><span class=\"NormalTextRun SCXW212034064 BCX0\" data-ccp-charstyle=\"Strong\">as risky.\u00a0<\/span><\/span><span class=\"EOP SCXW212034064 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li><span class=\"TextRun SCXW241364963 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW241364963 BCX0\">A<\/span><span class=\"NormalTextRun SCXW241364963 BCX0\">dd background color to the text without changing the document<\/span><span class=\"NormalTextRun SCXW241364963 BCX0\"> by using <\/span><\/span><a class=\"Hyperlink SCXW241364963 BCX0\" href=\"https:\/\/learn.microsoft.com\/en-us\/javascript\/api\/word\/word.range?view=word-js-preview#word-word-range-highlight-member(1)\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW241364963 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW241364963 BCX0\" data-ccp-charstyle=\"Hyperlink\">highlight APIs<\/span><\/span><\/a><span class=\"TextRun SCXW241364963 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW241364963 BCX0\">.<\/span> <span class=\"NormalTextRun SCXW241364963 BCX0\">Your add-ins can m<\/span><span class=\"NormalTextRun SCXW241364963 BCX0\">ark or emphasize specific text for<\/span> <span class=\"NormalTextRun SCXW241364963 BCX0\">easy identification or to draw attention<\/span><span class=\"NormalTextRun SCXW241364963 BCX0\">.<\/span><\/span><span class=\"EOP SCXW241364963 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li><span class=\"TextRun SCXW131824954 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW131824954 BCX0\">Have better<\/span> <span class=\"NormalTextRun SCXW131824954 BCX0\">performance <\/span><span class=\"NormalTextRun SCXW131824954 BCX0\">when inserting HTML into a document<\/span><span class=\"NormalTextRun SCXW131824954 BCX0\"> or <\/span><span class=\"NormalTextRun SCXW131824954 BCX0\">managing<\/span><span class=\"NormalTextRun SCXW131824954 BCX0\"> Content Controls<\/span><span class=\"NormalTextRun SCXW131824954 BCX0\">.<\/span><span class=\"NormalTextRun SCXW131824954 BCX0\">\u00a0<\/span><\/span><span class=\"EOP SCXW131824954 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335557856&quot;:16777215,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li><span class=\"NormalTextRun SCXW88664376 BCX0\">Provide<\/span> <span class=\"NormalTextRun SCXW88664376 BCX0\">document importing capability in <\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">WOPI <\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">host<\/span> <span class=\"NormalTextRun SCXW88664376 BCX0\">environment by using updated <\/span><a href=\"https:\/\/learn.microsoft.com\/en-us\/javascript\/api\/word\/word.body?view=word-js-preview#word-word-body-insertfilefrombase64-member(1)\"><span class=\"NormalTextRun SCXW88664376 BCX0\">InsertFileFromBase6<\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">4<\/span><span class=\"NormalTextRun SCXW88664376 BCX0\"> API<\/span><\/a><span class=\"NormalTextRun SCXW88664376 BCX0\">.<\/span> <span class=\"NormalTextRun SCXW88664376 BCX0\">Add-ins can allow <\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">WOPI host users <\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">to <\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">create content <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW88664376 BCX0\">basing<\/span><span class=\"NormalTextRun SCXW88664376 BCX0\"> on<\/span> <span class=\"NormalTextRun SCXW88664376 BCX0\">other documents or <\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">templates with format<\/span><span class=\"NormalTextRun SCXW88664376 BCX0\"> correctly retained<\/span><span class=\"NormalTextRun SCXW88664376 BCX0\">.\u00a0<\/span><\/li>\n<\/ul>\n<p>For more information about the new Word JavaScript requirement set, please refer to BUILD 2024 session <a href=\"https:\/\/build.microsoft.com\/en-US\/sessions\/5c23b190-d25c-40c4-b269-de079bc6a29d?source=sessions\">Unleash AI-powered Extensibilities in Word\/Excel\/PowerPoint<\/a>.<\/p>\n<h2><a id=\"outlook-updates\"><\/a>Outlook updates<\/h2>\n<p>Every year, we focus on delivering features you need to enhance your Outlook add-ins and enable experiences not previously possible. To learn more about how Outlook add-ins have transformed this year, watch the <a href=\"https:\/\/www.youtube.com\/watch?v=5NKLh9D1Z3Q\">Outlook Add-ins Transformed session<\/a> from Build 2024.<\/p>\n<h3>Explore the Mailbox 1.14 JavaScript API requirement set<\/h3>\n<p>The <a href=\"https:\/\/support.microsoft.com\/office\/656bb8d9-5a60-49b2-a98b-ba7822bc7627\">new Outlook on Windows<\/a> (preview) desktop client unifies the Outlook experience across platforms into a single web codebase. This creates a beautiful, modern interface that delivers a consistent user experience with faster access to feature updates.<\/p>\n<p>Given the web-based nature of the new Outlook on Windows client, VSTO and COM add-ins aren\u2019t supported in the new Outlook on Windows client. We recognize that there are some <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/one-outlook#supported-scenarios-in-outlook-web-add-ins\">scenarios<\/a> that can currently only be implemented in VSTO and COM add-ins. To help you plan and transition your existing solution to a web add-in, we\u2019re focusing on closing this gap and developing support for these scenarios in web add-ins. This way, your users can continue to use your add-in solution in the new Outlook on Windows client.<\/p>\n<p>We\u2019re excited to share that even more scenarios, such as spam reporting and data loss prevention (DLP), are now supported with the release of <a href=\"https:\/\/aka.ms\/mailbox1.14\">Mailbox requirement set 1.14<\/a>. <span class=\"ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\">Mailbox 1.14 is now generally available in Outlook on Windows (classic and new versions) and on the web, so that you can implement these features in your production add-ins today.<\/span><\/p>\n<ul>\n<li>Add your spam-reporting add-in to a prominent spot on the ribbon of the Outlook client through the <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/spam-reporting\">integrated spam-reporting<\/a>. With the reporting add-in now easily accessible, you can further enhance security in an organization, offer better guidance to users on how to report suspicious messages, and improve how you track unsolicited messages.<\/li>\n<li>Provide a better user experience for your event-based add-in that implements <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/onmessagesend-onappointmentsend-events\">Smart Alerts<\/a>. <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/smart-alerts-onmessagesend-walkthrough#customize-the-dont-send-button-optional-preview\">Customize the Don\u2019t Send option<\/a> in the Smart Alerts dialog and program it to open a task pane, so users can easily improve the message or appointment they\u2019re sending with fewer clicks. Additionally, program your add-in to <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/smart-alerts-onmessagesend-walkthrough#override-the-send-mode-option-at-runtime-optional-preview\">override the send mode option at runtime<\/a>. This way, you have the option to enforce the <strong>soft block<\/strong> or <strong>block<\/strong> option when a mail item doesn\u2019t meet certain policies of an organization, but only implement the<strong> prompt user<\/strong> option when you want to provide recommendations to the user.<\/li>\n<li>Further improve the performance of your data loss prevention add-in by using the Office JS API instead of making Microsoft Graph calls on messages being composed. Retrieve message properties, such as the <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.messagecompose#outlook-office-messagecompose-inreplyto-member\">ID of the message being replied to<\/a>, the <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.messagecompose#outlook-office-messagecompose-getconversationindexasync-member(1)\">position of a message in a conversation thread<\/a>, or the <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.messagecompose#outlook-office-messagecompose-getitemclassasync-member(1)\">Exchange Web Services (EWS) item class of a message<\/a>. As a result, your add-in avoids making high-latency calls and provides users with a seamless and secure experience.<\/li>\n<li>Close a message being composed without getting prompted to save a draft of the message with the <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.messagecompose#outlook-office-messagecompose-closeasync-member(1)\">discard message API<\/a>. This comes in handy when you want to send a message as part of a bulk email campaign, but don\u2019t want to be overwhelmed with prompts to discard drafts once the messages are sent.<\/li>\n<li>Retrieve even more properties on multiple selected messages with a single click. With the <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/item-multi-select\">item multi-select<\/a> feature, you can now get the <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.selecteditemdetails#outlook-office-selecteditemdetails-conversationid-member\">conversation<\/a> and <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.selecteditemdetails#outlook-office-selecteditemdetails-internetmessageid-member\">internet message identifiers<\/a> of messages and <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.selecteditemdetails#outlook-office-selecteditemdetails-hasattachment-member\">check whether a message contains an attachment<\/a>.<\/li>\n<li>Make your add-in more accessible with the <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/office\/office.context#office-office-context-officetheme-member\">Office theme API<\/a>. With this API, you can match the colors of your task pane add-in with the current theme of the Outlook client in which it\u2019s running.<\/li>\n<li>Easily tag your meetings and appointments as <strong>Normal<\/strong>, <strong>Private<\/strong>, <strong>Personal<\/strong>, or <strong>Confidential<\/strong> with the <a href=\"https:\/\/learn.microsoft.com\/javascript\/api\/outlook\/office.sensitivity\">sensitivity level API<\/a>.<\/li>\n<\/ul>\n<h3>Additional improvements to Smart Alerts add-ins<\/h3>\n<p>We listened to your feedback on the challenges you and your users experienced when using add-ins that implement Smart Alerts. With recent improvements to Smart Alerts, users of your add-in can now have a better experience and you can ensure that outgoing mail items are compliant with an organization\u2019s policies.<\/p>\n<ul>\n<li>Starting in Version 2301 (Build 17126.20004) of classic Outlook on Windows, administrators can turn on a Group Policy setting to ensure that mail items sent through certain applications that use Simple MAPI are processed by a Smart Alerts add-in. To learn more, see <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/onmessagesend-onappointmentsend-events#activate-smart-alerts-in-applications-that-use-simple-mapi\">Activate Smart Alerts in applications that use Simple MAPI<\/a>.<\/li>\n<li>Starting in Version 2310 (Build 16913.10000) of classic Outlook on Windows, a Smart Alerts add-in that implements the <strong>soft block <\/strong>or <strong>block <\/strong>option can only process a mail item while the Outlook client is online. If the Outlook client is in Work Offline mode when a mail item is sent, the item is saved to the Outbox folder of the mailbox and the user is alerted to deactivate Work Offline mode. To learn more, see <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/onmessagesend-onappointmentsend-events#outlook-client-in-work-offline-mode\">Outlook client in Work Offline mode<\/a>.<\/li>\n<li>Starting in Version 2402 (Build 17310.10000) of classic Outlook on Windows, a user is shown a dialog with options, such as <strong>Wait<\/strong> and <strong>Save as Draft<\/strong>, when they navigate away from a mail item being processed by a Smart Alerts add-in. The options that appear in the dialog depend on the send mode option your add-in implements.\nIn Outlook on the web and new Outlook on Windows, a user must remain on the outgoing item until the Smart Alerts add-in completes processing it. If the user navigates away from the item being processed, the add-in terminates the Smart Alerts option and saves a draft to the mailbox\u2019s <strong style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">Drafts <\/strong><span style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">folder. The user is then alerted that they must resend the message from the <\/span><strong style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">Drafts <\/strong><span style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">folder and remain on the message until the add-in completes processing it. <\/span>To learn more, see <a style=\"background-color: #f7f7f9; font-size: 1rem; text-align: var(--bs-body-text-align);\" href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/outlook\/onmessagesend-onappointmentsend-events#user-navigates-away-from-current-message\">User navigates away from current message<\/a><span style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">.<\/span><\/li>\n<\/ul>\n<h3>Augment Teams apps with Outlook add-ins<\/h3>\n<p>We\u2019re excited to share that the capability to combine Teams apps with Outlook add-ins is now Generally Available (GA)!<\/p>\n<p>With this release, all stakeholders (developers, admins, and end users) now have a unified <em>build<\/em>, <em>manage<\/em>, and <em>use<\/em> experience regardless of the extensibility option they are on. This also enables developers to build unique scenarios that combine the two powerful ecosystems of Outlook add-ins and Teams apps.<\/p>\n<h4>ISVs and developer story<\/h4>\n<p>Developers can now build unified apps with functionalities, such as Outlook add-ins, Message Extensions, and personal apps, all in one package. These extensibility features can be used together to enable deeper and richer scenarios. To see some of these features in action, see the <a href=\"https:\/\/github.com\/OfficeDev\/Microsoft-Teams-Samples\/tree\/main\/samples\/tab-add-in-combined\/nodejs#discount-offers\">Discount Offers sample<\/a> in the Microsoft-Teams-Samples repo on GitHub. If you need inspiration on how to integrate these features into your app, check out sample scenarios in the <a href=\"https:\/\/aka.ms\/creation-app-playbook\">Creation<\/a> and <a href=\"https:\/\/aka.ms\/business-process-app-playbook\">Business process<\/a> app playbooks.<\/p>\n<p>Additionally, developers can opt to link their unified apps to their in-market add-in. By linking a Teams apps with an existing Outlook web add-in, users will always have access to a unified, relevant, and current offering from the developer, regardless of the platform they use. The path for submission, validation, and publication of the app is the same as for a Teams app from the partner center. To get started, please see <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/develop\/unified-manifest-overview\">Office Add-ins with the unified app manifest for Microsoft 365<\/a>.<\/p>\n<h4>Admin story<\/h4>\n<p>Admins can manage these Teams apps, which work across Outlook and Microsoft 365, from the <a href=\"https:\/\/learn.microsoft.com\/microsoft-365\/admin\/manage\/test-and-deploy-microsoft-365-apps?view=o365-worldwide#how-to-access-integrated-apps\">Integrated apps section<\/a> under the <strong>Settings<\/strong> tab in the Microsoft 365 admin center. If an ISV partner or developer publishes a store app that is linked to an existing Outlook web add-in, admins will see a seamless upgrade option available for that particular add-in. These apps are available for use on Outlook on the web, on Windows (classic and new clients), and Outlook Mac clients.<\/p>\n<p>Admins can also upload and deploy unified line-of-business apps for their organizations, for the clients mentioned above.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/05\/admin-2.png\"><img decoding=\"async\" class=\"size-full wp-image-21332 alignnone\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/05\/admin-2.png\" alt=\"Integrated apps settings in Microsoft 365 admin center\" width=\"1159\" height=\"637\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/05\/admin-2.png 1159w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/05\/admin-2-300x165.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/05\/admin-2-1024x563.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/05\/admin-2-768x422.png 768w\" sizes=\"(max-width: 1159px) 100vw, 1159px\" \/><\/a><\/p>\n<h4>End user story<\/h4>\n<p>End users on Outlook on the web and new Outlook on Windows clients with an Office version higher than 2304 (Build 16320.00000) can discover, acquire, and use an available unified app with an Outlook add-in. They can also see a consolidated menu of various <a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoftteams\/platform\/m365-apps\/extend-m365-teams-message-extension?tabs=ttk%2Csearch-based-message-extension\">Message Extension<\/a> actions and add-in controls that an app may have at a single place, abstracting away the complexity of which extensibility solution they are using.<\/p>\n<p>Users on Mac, and Win32 clients before Windows clients with Office version lower than 2304 (Build 16320.00000) can continue to discover and use classic web add-ins with no regressions to their current experience. In fact, if they get the corresponding unified app from another client or an admin deploys it for them, they\u2019ll receive updated features from new app as well.<\/p>\n<p>For further questions or feedback about Teams apps with Outlook Add-ins, contact us at <a href=\"mailto:teamsappssupport@microsoft.com\">teamsappssupport@microsoft.com<\/a>.<\/p>\n<h2>Add-in platform and authentication updates<\/h2>\n<h3>Nested App Authentication for Office Add-ins (preview)<\/h3>\n<p>Nested App Authentication (NAA) is a new method to utilize standard MSAL.js authentication patterns in your add-in to take advantage of single sign-on (SSO) and is in preview now. NAA has advantages over the current on-behalf-of (OBO) based SSO pattern in office.js, including support for single page app patterns, enabling consent flows, and getting access tokens to other services like Microsoft Graph without having to use a middle tier. Other Microsoft 365 applications use the NAA pattern because it offers an easier way to enable SSO when building in those platforms.<\/p>\n<p>To learn more about NAA, including samples for both Outlook and Word, Excel, and PowerPoint add-ins, see <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/velop\/enable-nested-app-authentication-in-your-add-in\">Enable SSO in an Office Add-in using nested app authentication (preview)<\/a>.<\/p>\n<h3>JavaScript runtime update<\/h3>\n<p>The JavaScript-only runtime is moving to the V8 JavaScript engine. Excel custom functions use this runtime on Windows and event-based tasks and integrated spam reporting features on classic Outlook on Windows. One of the benefits of this change is that the JavaScript engine used by the user will now match the one used during development and debugging. This change improves the consistency of the runtime experience and allows developers to use the newer JavaScript language features available in V8. To learn more, see <a href=\"https:\/\/learn.microsoft.com\/office\/dev\/add-ins\/testing\/runtimes\">Runtimes in Office Add-ins<\/a>.<\/p>\n<h3>Expand the distribution of your published Office Add-in<\/h3>\n<p>We&#8217;re introducing a new tool to help you reach your target audience for your Office Add-ins in AppSource. With the <strong>Add-in Install Link<\/strong> and a customized code widget, you can integrate an add-in install button into your marketing pages, product introductions, or even other applications to drive traffic to your Add-ins. With just one click, customers can quickly install by creating a new document in Office on the Web, increasing the conversion rate from landing page to successful installation. The embedded HTML widget can be quickly integrated into your web pages with just a few line changes to update your add-in ID and supported Office applications. Start using this powerful tool today to improve your marketing performance and increase user growth with ease.<\/p>\n<p>For more information, please see <a href=\"https:\/\/github.com\/OfficeDev\/OfficeJSAddinWidget\"><u>Office Add-in Installation code widget<\/u><\/a>.<\/p>\n<h2>Developer experience update<\/h2>\n<h3>Visual Studio Code extension for Office Add-ins development (preview)<\/h3>\n<p>Through our Visual Studio Code extension for Office Add-in development, developers can easily get started, run, and debug Office Add-ins with our improved tools.<\/p>\n<ul>\n<li>Developers can create an Office Add-in sample project from a sample gallery and run it seamlessly.<\/li>\n<li>A centralized side pane is provided to simplify the process of developing Office add-ins.<\/li>\n<li>Run and debug Office Add-ins with button clicks.<\/li>\n<\/ul>\n<p>For more information, please stay tuned for upcoming blog posts.<\/p>\n<h3>GitHub Copilot Extension for Office Add-ins (preview)<\/h3>\n<p>The GitHub Copilot Extension for Office Add-ins we&#8217;re introducing at Build 2024 helps developers to get started and generate API code through GitHub Copilot Chat. The key features are:<\/p>\n<ul>\n<li>Code generation. GitHub Copilot Extension for Office Add-ins helps developers generate better API code for Word, Excel, and PowerPoint. Support for other Office apps will come in the future.<\/li>\n<li>GitHub Copilot Extension for Office Add-ins helps developers create an add-in project tailored for the specific inputs from GitHub Copilot Chat.<\/li>\n<\/ul>\n<p>To enable this support, install the latest Teams Toolkit preview in Visual Studio Code 1.90 or Visual Studio Code Insider 1.90.<\/p>\n<p>For more information, please see <a href=\"https:\/\/aka.ms\/GithubCopilotExtensionForOfficeAddins\">GitHub Copilot Extension for Office Add-ins<\/a> and stay tuned for upcoming blog posts.<\/p>\n<h3>More resources<\/h3>\n<p>We hope you\u2019re 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 using our <a href=\"https:\/\/aka.ms\/office-add-ins-docs\">Office Add-ins<\/a> and <a href=\"https:\/\/aka.ms\/getscriptlab\">Script Lab<\/a> developer documentation.<\/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 <\/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>.<\/li>\n<li>Join us on our <a href=\"https:\/\/aka.ms\/officeaddinscommunitycall\">monthly community calls,<\/a> the second Wednesday of each month at 8:00 AM 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>In this blog, the Office Platform team announces the new capabilities and features announced at Build 2024. \u00a0<\/p>\n","protected":false},"author":69076,"featured_media":21537,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[390,1,11],"tags":[315,32,183,47],"class_list":["post-21282","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-365-copilot","category-microsoft-365-developer","category-office-add-ins","tag-build-2024","tag-microsoft-build","tag-microsoft-word","tag-word"],"acf":[],"blog_post_summary":"<p>In this blog, the Office Platform team announces the new capabilities and features announced at Build 2024. \u00a0<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/21282","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=21282"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/21282\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/21537"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=21282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=21282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=21282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}