{"id":4900,"date":"2021-05-12T06:28:45","date_gmt":"2021-05-12T14:28:45","guid":{"rendered":"https:\/\/officedevblogs.wpengine.com\/?p=4900"},"modified":"2022-03-29T16:46:45","modified_gmt":"2022-03-29T23:46:45","slug":"five-new-features-enhancing-adaptive-cards-in-microsoft-teams","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/five-new-features-enhancing-adaptive-cards-in-microsoft-teams\/","title":{"rendered":"Five new features enhancing Adaptive Cards in Microsoft Teams"},"content":{"rendered":"<p><em>Note: This is part one of a blog series <\/em><em>related to Adaptive Cards in Microsoft Teams.<\/em><\/p>\n<p>Adaptive Cards are UI containers that bots use to deliver rich content (images, buttons, URLs, formatted text, etc.) in Microsoft Teams. They help organize complex workflows, action commands and display information to users. Adaptive Cards play a critical part in your bot\u2019s lifecycle \u2013 from sending the introductory message, posting application updates via notifications, and initiating workflows via actions. Overall, you can think of them as <em>the \u2018front-end\u2019 for your bots and messaging extensions<\/em>\u00a0within Teams.<\/p>\n<p>More than half of all users who interact with Teams bots do so through Adaptive Cards. <strong>Adaptive Cards are an open-source, cross platform way of creating beautiful cards that users interact with<\/strong>. They allow developers, like you, to create a card once that will work across Microsoft Teams, Outlook, Windows or any other application that supports Adaptive Cards.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-6305\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/04\/TeamCalendar-723x1024.png\" alt=\"Sample adaptive card in Teams\" width=\"250\" height=\"354\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/04\/TeamCalendar-723x1024.png 723w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/04\/TeamCalendar-212x300.png 212w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/04\/TeamCalendar-768x1088.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/04\/TeamCalendar-1085x1536.png 1085w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/04\/TeamCalendar.png 1168w\" sizes=\"(max-width: 250px) 100vw, 250px\" \/><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Screenshot-github-adaptive-cards.png\"><img decoding=\"async\" class=\"aligncenter wp-image-10231\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Screenshot-github-adaptive-cards-300x177.png\" alt=\"Image Screenshot github adaptive cards\" width=\"300\" height=\"177\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Screenshot-github-adaptive-cards-300x177.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Screenshot-github-adaptive-cards.png 688w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>We have invested heavily in updating Adaptive Cards capabilities for Microsoft Teams this past year and we\u2019re excited to share <strong>five<\/strong> <b>n<\/b><b>ew<\/b> features that will simplify workflows and user interaction models for your bots.<\/p>\n<h4><strong>Building f<\/strong><b>ull-width Adaptive <\/b><strong>C<\/strong><b>ards<\/b><\/h4>\n<p>In the past, developers were not able to make use of the full-width available for messages within the Teams interface. This often resulted in cards expanding vertically with densely packed information. We\u2019re now happy to share that <a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoftteams\/platform\/task-modules-and-cards\/cards\/cards-format?tabs=adaptive-md%2Cconnector-html#full-width-adaptive-card\">you can create compact and coherent Adaptive Cards that utilize the full-width<\/a> with more pixels available for showcasing content.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Full-width.bmp\"><img decoding=\"async\" class=\"aligncenter wp-image-6335\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Full-width.bmp\" alt=\"full width adaptive card\" width=\"604\" height=\"339\" \/><\/a><\/p>\n<h4><b>Type-ahead (auto<\/b><strong>&#8211;<\/strong><b>complete support)<\/b><\/h4>\n<p>Adaptive Cards allow for input choice selection within the Input.Choiceset schema element. However, for complex workflows, we saw cards with tens to hundreds of choices and asking users to filter through and select through a sizable number of choices can significantly slow down task completion \u2013 resulting in a less than ideal user experience. <a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoftteams\/platform\/task-modules-and-cards\/cards\/cards-format?tabs=adaptive-md%2Cconnector-html#typeahead-support\">Typeahead support within Adaptive Cards can now simplify input selection<\/a> by narrowing or filtering the set of input choices as a user is typing the input.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Tyeahead.bmp\"><img decoding=\"async\" class=\"aligncenter wp-image-6338\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Tyeahead.bmp\" alt=\"Type-ahead support in adaptive card\" width=\"618\" height=\"347\" \/><\/a><\/p>\n<h4><strong>Information masking <\/strong><\/h4>\n<p>There are numerous scenarios where data\/information needed to be masked. The information masking property can be used to mask specific information, such as password or other sensitive input from users within the <a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoftteams\/platform\/task-modules-and-cards\/cards\/cards-format?tabs=adaptive-md%2Cconnector-html#information-masking-in-adaptive-cards\">Adaptive card Input.Text input element<\/a>. This can be used to provide an extra layer of privacy when users enter passwords.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Info-masking.bmp\"><img decoding=\"async\" class=\"aligncenter wp-image-6333\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Info-masking.bmp\" alt=\"Information masking in adaptive cards\" width=\"589\" height=\"332\" \/><\/a><\/p>\n<p><em>Note: <\/em><em>This feature only supports client-side information masking, the masked input text is sent as clear text to the https endpoint address that was specified durin<\/em><em>g bot configuration.<\/em><\/p>\n<h4><strong>Expanded (Stage) view for images <\/strong><\/h4>\n<p>You can now <a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoftteams\/platform\/task-modules-and-cards\/cards\/cards-format?tabs=adaptive-md%2Cconnector-html#stage-view-for-images-in-adaptive-cards\">selectively display images within Adaptive Cards using the share to stage property<\/a>. When users hover over the images, they would see an expand icon and be able to see a zoomed in version of the image. This feature will be particularly useful for cards with multiple images.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-6337\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-hover-expand-icon.png\" alt=\"expand icon in adaptive card images\" width=\"318\" height=\"166\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-hover-expand-icon.png 590w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-hover-expand-icon-300x157.png 300w\" sizes=\"(max-width: 318px) 100vw, 318px\" \/>\u00a0 \u00a0\u00a0<img decoding=\"async\" class=\"alignnone wp-image-6336\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-expand-image.png\" alt=\"expanded image shared to stage\" width=\"451\" height=\"282\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-expand-image.png 1454w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-expand-image-300x188.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-expand-image-1024x640.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/adaptivecard-expand-image-768x480.png 768w\" sizes=\"(max-width: 451px) 100vw, 451px\" \/><\/p>\n<h4><strong>Submission feedback for card actions<\/strong><\/h4>\n<p>Lastly, we&#8217;re adding submission feedback for cards actions. Whenever users submit information via <a href=\"https:\/\/adaptivecards.io\/explorer\/Action.Submit.html\">Action.Submit<\/a> or <a href=\"https:\/\/adaptivecards.io\/explorer\/Action.Execute.html\">Action.Execute<\/a> to your bot we will show a success indicator upon completion of the invoke call.<\/p>\n<p><em>Note: This feature will be GA in June 2021 and requires <strong>no additional work<\/strong> on your part!<\/em><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Submission.bmp\"><img decoding=\"async\" class=\"aligncenter wp-image-6339\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2021\/05\/Submission.bmp\" alt=\"Submission feedback in cards\" width=\"438\" height=\"309\" \/><\/a><\/p>\n<h4><strong>More<\/strong><strong> features<\/strong><strong> coming soon<\/strong><strong>!<\/strong><\/h4>\n<p>We will be releasing more features and updates over the next few months and have some exciting updates to share at <a href=\"https:\/\/mybuild.microsoft.com\">Build conference,<\/a> May 25-27, 2021! We will continue to post new updates on these features once released.<\/p>\n<p>Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn about the new Adaptive Cards features that will simplify workflows and user interaction models for your bots and work across multiple platforms including Microsoft Teams, Outlook, Windows and more.<\/p>\n","protected":false},"author":69086,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[8,128],"tags":[12,27],"class_list":["post-4900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adaptive-cards","category-microsoft-teams","tag-outlook","tag-windows"],"acf":[],"blog_post_summary":"<p>Learn about the new Adaptive Cards features that will simplify workflows and user interaction models for your bots and work across multiple platforms including Microsoft Teams, Outlook, Windows and more.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/4900","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\/69086"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=4900"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/4900\/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=4900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=4900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=4900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}