{"id":20693,"date":"2024-04-23T09:54:07","date_gmt":"2024-04-23T16:54:07","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=20693"},"modified":"2024-04-23T10:17:20","modified_gmt":"2024-04-23T17:17:20","slug":"teams-toolkit-for-visual-studio-code-update-april-2024","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/teams-toolkit-for-visual-studio-code-update-april-2024\/","title":{"rendered":"Teams Toolkit for Visual Studio Code update \u2013 April 2024"},"content":{"rendered":"<p>In this April 2024 update of Teams Toolkit for Visual Studio Code, we\u2019ve added improvements to build API message extensions with an auth-protected API, new getting started experiences for building intelligent chat bots, and features to build add-ins for Word, Excel, and PowerPoint, and more.<\/p>\n<h2>Create API based message extensions using auth-protected API<\/h2>\n<p>Teams Toolkit supports two types of API authentication protection in your API based Message extension apps:<\/p>\n<p><img decoding=\"async\" width=\"800\" height=\"498\" class=\"wp-image-20694 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-1.jpeg\" alt=\"image\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-1.jpeg 800w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-1-300x187.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-1-768x478.jpeg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<ul>\n<li>API-Key: you can either add the API key of your existing API, or if you don&#8217;t have an API, Teams Toolkit can generate create a new API project for you.<\/li>\n<li>Microsoft Entra (Azure AD): Teams Toolkit can help you create a Microsoft Entra ID to authenticate your new API.<\/li>\n<\/ul>\n<h2>Debug message extensions in Teams App Test Tool<\/h2>\n<p>Teams App Test Tool helps developers to debug and test apps in a web-based environment Microsoft Teams-like features without requiring network tunnels or a Microsoft 365 account. In this version we\u2019ve added support for search-based, action-based, and link unfurling Message extensions.<\/p>\n<p><img decoding=\"async\" width=\"800\" height=\"452\" class=\"wp-image-20695 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-2.jpeg\" alt=\"image\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-2.jpeg 800w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-2-300x170.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-2-768x434.jpeg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Running your Teams apps with these capabilities with the Test Tool shows a familiar interface that makes iterating on your app simple and fast.<\/p>\n<p><img decoding=\"async\" width=\"800\" height=\"335\" class=\"wp-image-20696 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-3.jpeg\" alt=\"image\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-3.jpeg 800w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-3-300x126.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-3-768x322.jpeg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<h2>Create an intelligent chatbot with domain knowledge from custom data<\/h2>\n<p>The new Custom copilot template helps you get started with building an AI-powered chatbot that can understand natural language and retrieve custom data to answer domain-specific questions using Retrieval Augmentation Generation (RAG).<\/p>\n<p>When creating the Custom copilot app, you can select &#8220;Chat with your data&#8221; and then select the desired data source.<\/p>\n<p><img decoding=\"async\" width=\"800\" height=\"409\" class=\"wp-image-20697\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-4.jpeg\" alt=\"image\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-4.jpeg 800w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-4-300x153.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-4-768x393.jpeg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>There are four kinds of data source for you to choose:<\/p>\n<p><img decoding=\"async\" width=\"800\" height=\"363\" class=\"wp-image-20698\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-5.jpeg\" alt=\"image\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-5.jpeg 800w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-5-300x136.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-5-768x348.jpeg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<ul>\n<li>Custom data source: you can add whatever data sources you want to a Custom copilot app, for example: file system or vector database.<\/li>\n<li>Azure AI Search: your chatbot can access data on an Azure AI Search service and use it in conversation with users.<\/li>\n<li>Custom API: your chatbot can invoke the API defined in the OpenAPI description document to retrieve domain data from an API service.<\/li>\n<li>Microsoft Graph + SharePoint: your chatbot can query M365 data from the Microsoft Graph Search API as a data source in the conversation.<\/li>\n<\/ul>\n<h2>Develop Word, Excel and PowerPoint Add-ins in Teams Toolkit<\/h2>\n<p><img decoding=\"async\" width=\"800\" height=\"563\" class=\"wp-image-20699\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-6.jpeg\" alt=\"image\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-6.jpeg 800w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-6-300x211.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-6-768x540.jpeg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Teams Toolkit now supports Microsoft Word, Excel, or PowerPoint JavaScript add-in development and includes features for checking dependencies, running and debugging add-ins, managing lifecycle, providing feedback, and more.<\/p>\n<h2>Enhancements<\/h2>\n<p>We\u2019ve smoothed the experience of creating Entra ID client secrets with features that let you customize the `clientSecretExpireDays` and `clientSecretDescription` parameters in teamsapp.yml.<\/p>\n<p><img decoding=\"async\" width=\"800\" height=\"380\" class=\"wp-image-20700\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-7.jpeg\" alt=\"image\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-7.jpeg 800w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-7-300x143.jpeg 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/04\/image-7-768x365.jpeg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<h2>Share your feedback<\/h2>\n<p>We&#8217;d really appreciate your early feedback! Download the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=TeamsDevApp.ms-teams-vscode-extension\">latest prerelease of Teams Toolkit<\/a> and explore these new features and improvements today!<\/p>\n<p>Remember, your feedback is valuable in shaping the future of Teams Toolkit. Share your thoughts and suggestions with us on <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx\/issues\">GitHub<\/a>, and let\u2019s build together!<\/p>\n<p><em>Follow us on <a href=\"http:\/\/twitter.com\/microsoft365dev\">X (Twitter) \/ @Microsoft365Dev<\/a>, <a href=\"https:\/\/www.linkedin.com\/showcase\/microsoft365dev\/\">LinkedIn<\/a>, and subscribe to our <a href=\"https:\/\/www.youtube.com\/microsoft365developer\">YouTube channel<\/a> to stay up to date on the latest developer news and announcements.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn about the latest updates including added improvements to build API Message extensions with an auth-protected API.<\/p>\n","protected":false},"author":69083,"featured_media":20703,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[128],"tags":[23,44],"class_list":["post-20693","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-teams","tag-teams-toolkit","tag-visual-studio-code"],"acf":[],"blog_post_summary":"<p>Learn about the latest updates including added improvements to build API Message extensions with an auth-protected API.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/20693","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\/69083"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=20693"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/20693\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/20703"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=20693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=20693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=20693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}