{"id":2933,"date":"2019-05-06T08:30:22","date_gmt":"2019-05-06T15:30:22","guid":{"rendered":"https:\/\/developer.microsoft.com\/en-us\/office\/blogs\/?p=2933"},"modified":"2021-10-18T11:10:44","modified_gmt":"2021-10-18T18:10:44","slug":"office-extensibility-build-2019","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/office-extensibility-build-2019\/","title":{"rendered":"Office Extensibility: Build 2019"},"content":{"rendered":"<p>As thousands of developers arrive in Seattle for the Microsoft Build conference, we\u2019re excited to share with the community what we\u2019ve been working on in Office Extensibility.\u00a0You can also catch up with news around <a href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/blog\/2019\/05\/06\/build-2019-people-centered-experiences-microsoft-365-productivity-cloud\/\">Microsoft 365<\/a>, <a href=\"https:\/\/developer.microsoft.com\/en-us\/graph\/blogs\/build-2019-microsoft-graph-powers-the-microsoft-365-platform\/\">Microsoft Graph<\/a>, and <a href=\"https:\/\/aka.ms\/microsoft-teams-build2019\">Microsoft Teams<\/a> in separate blog posts.<\/p>\n<h2>Mobile productivity<\/h2>\n<p>Mobile devices are a large part of our day-to-day life, and we\u2019re using these devices to accomplish an ever growing number of tasks. When working on a mobile device, however, it can be cumbersome to context switch and move between services and applications. Actionable messages with Adaptive Cards, announced for Outlook on the web and Outlook for Windows at <a href=\"https:\/\/developer.microsoft.com\/en-us\/office\/blogs\/conversations-become-actions-in-outlook\/\">Build 2018<\/a>, have allowed users to get more done from their desktop. Today, we\u2019re excited to share <a href=\"https:\/\/aka.ms\/OMsupportsAMblog\">we\u2019ve added support to Outlook mobile for actionable messages<\/a>, to help people increase their productivity while on their mobile device. Actionable messages let your users take action from within their email to complete tasks, such as approve expenses, grant access to permission request, and comment on tasks.<\/p>\n<p><img decoding=\"async\" class=\"alignleft wp-image-2953 size-medium\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Build-GIF-OM-with-AM-in-SurveyMonkey-v3-155x300.gif\" alt=\"animated image showing actionable messages in Outlook mobile \" width=\"155\" height=\"300\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Build-GIF-OM-with-AM-in-SurveyMonkey-v3-155x300.gif 155w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Build-GIF-OM-with-AM-in-SurveyMonkey-v3-529x1024.gif 529w\" sizes=\"(max-width: 155px) 100vw, 155px\" \/><\/p>\n<p>Actionable messages can use Adaptive Cards to surface information and support interactions in different canvases across Microsoft products, including Microsoft Teams, Outlook, and more. When sending actionable messages with Adaptive Cards, you don\u2019t need to design for different experiences across platforms \u2013 the card will automatically render the experience that is contextually appropriate. In addition to support in Outlook for Windows and Outlook on the web, new support for Outlook mobile means that now is a great time to start <a href=\"https:\/\/docs.microsoft.com\/en-us\/outlook\/actionable-messages\/\">building actionable messages<\/a> and reaching your users where they are.<\/p>\n<h2>Working with data in Excel<\/h2>\n<h3>JavaScript-based custom functions<\/h3>\n<p>We announced the <a href=\"https:\/\/developer.microsoft.com\/en-us\/office\/blogs\/azure-machine-learning-javascript-custom-functions-and-power-bi-custom-visuals-further-expand-developers-capabilities-with-excel\/\">public preview<\/a> of JavaScript custom functions at Build last year. Since then, we&#8217;ve added multiple capabilities based on feedback from our developer community, including:<\/p>\n<ul>\n<li>Volatile functions (which calculates every time Excel recalculates)<\/li>\n<li>Optional parameters<\/li>\n<li>The ability to get the cell address of the caller<\/li>\n<li>Any data types (including numbers, Boolean, strings)<\/li>\n<\/ul>\n<p>Today, we\u2019re announcing that JavaScript custom functions are generally available for Excel Online for Windows and Mac. You can also create custom functions and publish them on AppSource or in the in-client experience.<\/p>\n<p><img decoding=\"async\" class=\"alignleft wp-image-2934\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Image-1-300x167.png\" alt=\"Image with example of Excel custom function\" width=\"750\" height=\"417\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Image-1-300x167.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Image-1-1024x570.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Image-1-768x427.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Image-1-1536x855.png 1536w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/Image-1.png 1900w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>To get started, go to <a href=\"https:\/\/aka.ms\/customfunctions\">https:\/\/aka.ms\/customfunctions<\/a>.<\/p>\n<h3>Excel 1.9 JavaScript APIs<\/h3>\n<p>Excel is a powerful application with a variety of JavaScript APIs that you can use to build add-ins that help users get, analyze, visualize, publish, and share data with others. Over the past two years, we&#8217;ve dramatically increased the number of Excel JavaScript APIs. Today, we are announcing general availability of the <a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/dev\/add-ins\/reference\/requirement-sets\/excel-api-requirement-sets#whats-new-in-excel-javascript-api-19\">Excel 1.9 API Requirement Set<\/a>, which makes another five hundred APIs available, including highly requested features like shapes, auto filters, areas special cell, find, copy\/paste, and more.<\/p>\n<p>We\u2019re always working to add highly requested API properties and methods to empower deep solutions in Excel. Since 2016, we\u2019ve nearly quadrupled the number of APIs available for web add-ins in Excel.<\/p>\n<h3><img decoding=\"async\" class=\"alignleft wp-image-2935\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/image-2-1024x642.png\" alt=\"Image showing chart of Excel JavaScript API release rate increasing over time.\" width=\"750\" height=\"470\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/image-2-1024x642.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/image-2-300x188.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/image-2-768x482.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2019\/05\/image-2.png 1081w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/h3>\n<h3>COM:Web Add-in Bridge<\/h3>\n<p>We know that on Windows PCs, a COM or VSTO Add-in forms the primary experience of many integrations. The COM:Web Add-in Bridge makes it easy to register and seamlessly connect a complementary web add-in experience to your VSTO add-ins, so that developers can create great experiences across devices, including Mac and Android.<\/p>\n<p>In this mode, your users can get the best of both worlds from both VSTO\/COM and web add-ins. On Excel for Windows, your users can continue to use the existing VSTO\/COM add-ins they all know and love. On Mac or Excel Online, they can take advantage of our modern experiences and platform reach through Office 365 web add-ins.<\/p>\n<p>Learn more at <a href=\"https:\/\/aka.ms\/com-web-bridge\">https:\/\/aka.ms\/com-web-bridge<\/a>.<\/p>\n<h2>EdgeHTML-based webview for Office Add-ins<\/h2>\n<p>Office Add-ins allow you to create solutions that extend Office 365 and interact with content in documents, using web technologies. When running on Windows, Office Add-ins currently use a webview control as the runtime, provided by Internet Explorer 11. To better support modern browser standards, we are moving to an updated control. The new EdgeHTML-based control has better performance when compared to Internet Explorer 11 and supports modern HTML 5 and ECMAScript 2015+ capabilities. The EdgeHTML-based control is coming soon and will work with updated versions of Office 365 and Windows 10.<\/p>\n<p>We\u2019re also showing a preview of the next step in this journey at Build this year \u2013 a new control that is based on the next version of Microsoft Edge, built on Chromium. We\u2019re committed to bringing standards-compliant controls to developers. To do this, we\u2019re partnering with the Microsoft Edge team to make our work surface in Office 365. As we collaborate on the integration, we\u2019ll continue to develop and share more information about what\u2019s next for the WebView that powers Office Add-ins on Windows.<\/p>\n<p>For more information, see <a href=\"https:\/\/docs.microsoft.com\/en-us\/office\/dev\/add-ins\/concepts\/web-viewers-used-by-office-web-add-ins\" target=\"_blank\" rel=\"noopener noreferrer\">Web viewers used by Office Add-ins<\/a>.<\/p>\n<h2>Office 365 Developer Program \u2013 build solutions across Office 365<\/h2>\n<p>The <a href=\"https:\/\/developer.microsoft.com\/en-us\/office\/dev-program\">Office 365 Developer Program<\/a>, launched in April of 2018, helps you build experiences across Office 365. The program not only includes a way to get your own Office 365 E3 developer subscription, but also access to resources like community calls with experts, training, and community events. The program is also launching new content packs this summer that you can use to automatically populate your subscription with sample data. This will be a great way for you to explore building solutions with Office 365 \u00a0data and learn how to integrate it with your solution. The data packs will include user profiles and mail, calendar, and contact data. We will continue to add data packs to enable you to try out scenarios in your developer subscription.<\/p>\n<p>With the features that the Office 365 Developer Program provides, it has never been easier to build integrations across Microsoft 365. We\u2019re excited to have you along with us on this journey and can\u2019t wait to see what you build.<\/p>\n<p>Don\u2019t forget to see what\u2019s new with <a href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/blog\/2019\/05\/06\/build-2019-people-centered-experiences-microsoft-365-productivity-cloud\/\">Microsoft 365<\/a>, <a href=\"https:\/\/aka.ms\/microsoftgraphbuild2019\">Microsoft Graph<\/a>, and <a href=\"https:\/\/aka.ms\/microsoft-teams-build2019\">Microsoft Teams<\/a>, too! Happy coding!<\/p>\n<p>The Office Extensibility team<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As thousands of developers arrive in Seattle for the Microsoft Build conference, we\u2019re excited to share with the community what we\u2019ve been working on in Office Extensibility. We\u2019ll also be sharing news about Microsoft 365, Microsoft Graph, and Microsoft Teams in separate blog posts.<\/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":[128,11],"tags":[18],"class_list":["post-2933","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-teams","category-office-add-ins","tag-excel"],"acf":[],"blog_post_summary":"<p>As thousands of developers arrive in Seattle for the Microsoft Build conference, we\u2019re excited to share with the community what we\u2019ve been working on in Office Extensibility. We\u2019ll also be sharing news about Microsoft 365, Microsoft Graph, and Microsoft Teams in separate blog posts.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/2933","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=2933"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/2933\/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=2933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=2933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=2933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}