{"id":3964,"date":"2020-01-13T14:57:42","date_gmt":"2020-01-13T21:57:42","guid":{"rendered":"https:\/\/developer.microsoft.com\/en-us\/office\/blogs\/?p=3964"},"modified":"2020-01-13T14:57:42","modified_gmt":"2020-01-13T21:57:42","slug":"announcing-the-microsoft-teams-meetings-capture-solution-template","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/announcing-the-microsoft-teams-meetings-capture-solution-template\/","title":{"rendered":"Announcing the Microsoft Teams Meetings Capture solution template"},"content":{"rendered":"<p><span data-contrast=\"auto\">The Meetings Capture app showcases how you can accelerate the development of a\u00a0<\/span><span data-contrast=\"auto\">canonical\u00a0<\/span><span data-contrast=\"auto\">business app using the Microsoft 365 platform.\u00a0<\/span><span data-contrast=\"auto\">We build it to help<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">t<\/span><span data-contrast=\"auto\">eams capture the information\u00a0<\/span><span data-contrast=\"auto\">generated in<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">meetings both in person and online.<\/span><span data-contrast=\"auto\">\u00a0The app streamlines the ability to create a meeting and store all the\u00a0<\/span><span data-contrast=\"auto\">information within\u00a0<\/span><span data-contrast=\"auto\">a\u00a0<\/span><span data-contrast=\"auto\">Team<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0channel for easy\u00a0<\/span><span data-contrast=\"auto\">future\u00a0<\/span><span data-contrast=\"auto\">retrieval<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">At Ignite 2019, we hosted a pre-day where we walked through how we built\u00a0<\/span><span data-contrast=\"auto\">this<\/span><span data-contrast=\"auto\">\u00a0app\u00a0<\/span><span data-contrast=\"auto\">end to end.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">Yina<\/span><span data-contrast=\"auto\">\u00a0Arenas\u00a0<\/span><span data-contrast=\"auto\">also showcased it in her\u00a0<\/span><a href=\"https:\/\/myignite.techcommunity.microsoft.com\/sessions\/82962?source=sessions\"><span data-contrast=\"none\">Microsoft Graph Overview session<\/span><\/a><span data-contrast=\"auto\">. T<\/span><span data-contrast=\"auto\">here was a lot of interest in open sourcing this for you to use<\/span><span data-contrast=\"auto\">, so we\u00a0<\/span><span data-contrast=\"auto\">are\u00a0<\/span><span data-contrast=\"auto\">happy to announce that it is available today on\u00a0<\/span><a href=\"https:\/\/github.com\/microsoftgraph\/meetings-capture-sample\"><span data-contrast=\"none\">Github<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">You can watch an end to end demo of the functionality in\u00a0<\/span><a href=\"https:\/\/www.youtube.com\/watch?v=i2dqLM_ciUA\"><span data-contrast=\"none\">this video<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In our\u00a0<\/span><span data-contrast=\"auto\">January\u00a0<\/span><span data-contrast=\"auto\">7<\/span><span data-contrast=\"auto\">th<\/span><span data-contrast=\"auto\">\u00a0Microsoft Graph Community Call<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0Todd Baginski,\u00a0<\/span><span data-contrast=\"auto\">Microsoft<\/span><span data-contrast=\"auto\">\u00a0MVP, and Nikola\u00a0<\/span><span data-contrast=\"auto\">Metulev<\/span><span data-contrast=\"auto\">, lead\u00a0<\/span><span data-contrast=\"auto\">for<\/span><span data-contrast=\"auto\">\u00a0Microsoft Graph Toolkit at Microsoft, will present the overall solution and\u00a0<\/span><span data-contrast=\"auto\">offer\u00a0<\/span><span data-contrast=\"auto\">insights into<\/span><span data-contrast=\"auto\">\u00a0how this was built.\u00a0<\/span><a href=\"https:\/\/aka.ms\/microsoftgraphcall\"><span data-contrast=\"none\">Subscribe to our monthly calendar ics<\/span><\/a><span data-contrast=\"auto\">\u00a0to attend the monthly call!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The\u00a0<\/span><span data-contrast=\"auto\">app\u2019s\u00a0<\/span><span data-contrast=\"auto\">front end is written in ASP.NET<\/span><span data-contrast=\"auto\">\u00a0dotnet core<\/span><span data-contrast=\"auto\">\u00a0and leverages the Teams SDK to get the users<\/span><span data-contrast=\"auto\">\u2019<\/span><span data-contrast=\"auto\">\u00a0authentication context<\/span><span data-contrast=\"auto\">.\u00a0<\/span><span data-contrast=\"auto\">We&#8217;ve used<\/span><span data-contrast=\"auto\">\u00a0<\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/toolkit\/overview\"><span data-contrast=\"none\">Microsoft Graph Toolkit<\/span><\/a><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">web components\u00a0<\/span><span data-contrast=\"auto\">to build\u00a0<\/span><span data-contrast=\"auto\">the<\/span><span data-contrast=\"auto\">\u00a0user experience<\/span><span data-contrast=\"auto\">\u00a0(saving the\u00a0<\/span><span data-contrast=\"auto\">development team weeks of work building them from scratch<\/span><span data-contrast=\"auto\">)<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">We also used the new<\/span><span data-contrast=\"auto\">\u00a0proxy layer in<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">the toolkit\u00a0<\/span><span data-contrast=\"auto\">to have all Microsoft Graph calls\u00a0<\/span><span data-contrast=\"auto\">happen in the middle tier<\/span><span data-contrast=\"auto\">.\u00a0\u00a0<\/span><span data-contrast=\"auto\">SaaS data is stored in a<\/span><span data-contrast=\"auto\">n<\/span><span data-contrast=\"auto\">\u00a0Azure SQL database.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The app can be deployed into any Team<\/span><span data-contrast=\"auto\">.\u00a0<\/span><span data-contrast=\"auto\">When the tab is launched by a member\u00a0<\/span><span data-contrast=\"auto\">in a<\/span><span data-contrast=\"auto\">\u00a0channel,\u00a0<\/span><span data-contrast=\"auto\">the<\/span><span data-contrast=\"auto\">y<\/span><span data-contrast=\"auto\">\u00a0can create a meeting<\/span><span data-contrast=\"auto\">, add members from the team, pick from suggested time slots<\/span><span data-contrast=\"auto\">, add agenda items and upload pre-read documents. All th<\/span><span data-contrast=\"auto\">ese features are<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">powered under the covers by Microsoft Graph.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3966 size-full\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture2.png\" alt=\"\" width=\"975\" height=\"508\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture2.png 975w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture2-300x156.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture2-768x400.png 768w\" sizes=\"(max-width: 975px) 100vw, 975px\" \/><\/p>\n<p><span class=\"TextRun SCXW152188002 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW152188002 BCX0\">The app takes advantage of many parts of the platform.\u00a0<\/span><\/span><span class=\"TextRun SCXW152188002 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW152188002 BCX0\">Calendar invites are sent to the users<\/span><\/span><span class=\"TextRun SCXW152188002 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW152188002 BCX0\">\u00a0with all the information about the meeting. This includes links to the pre-read documents.\u00a0<\/span><\/span><span class=\"TextRun SCXW152188002 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW152188002 BCX0\">Emails are sent to remind people to do the pre-reading before the meeting<\/span><\/span><span class=\"TextRun SCXW152188002 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW152188002 BCX0\">. T<\/span><\/span><span class=\"TextRun SCXW152188002 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW152188002 BCX0\">asks are created in the Plan for the Team, so they show up in their Planner or Microsoft\u00a0<\/span><span class=\"SpellingError SCXW152188002 BCX0\">Todo<\/span><span class=\"NormalTextRun SCXW152188002 BCX0\">\u00a0apps.<\/span><\/span><span class=\"EOP SCXW152188002 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3968 size-full\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture4.png\" alt=\"\" width=\"975\" height=\"683\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture4.png 975w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture4-300x210.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture4-768x538.png 768w\" sizes=\"(max-width: 975px) 100vw, 975px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span class=\"TextRun SCXW114625726 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW114625726 BCX0\">When the meeting starts, you can launch the meeting in the tab and capture meeting notes that will be stored in a OneNote page within the Files for the Team and\u00a0<\/span><\/span><span class=\"TextRun SCXW114625726 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW114625726 BCX0\">track tasks for members that are stored in tasks within the Plan for the Team.<\/span><\/span><span class=\"EOP SCXW114625726 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-3969\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture5.png\" alt=\"\" width=\"975\" height=\"508\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture5.png 975w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture5-300x156.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2020\/01\/MeetingsCapture5-768x400.png 768w\" sizes=\"(max-width: 975px) 100vw, 975px\" \/><\/p>\n<p><span data-contrast=\"auto\">This open source project is a great end<\/span><span data-contrast=\"auto\">&#8211;<\/span><span data-contrast=\"auto\">to<\/span><span data-contrast=\"auto\">&#8211;<\/span><span data-contrast=\"auto\">end example o<\/span><span data-contrast=\"auto\">f how to build a Microsoft 365 app that\u00a0<\/span><span data-contrast=\"auto\">you can<\/span><span data-contrast=\"auto\">\u00a0use in your own apps. It is also a ready to go\u00a0<\/span><span data-contrast=\"auto\">business solution that you can use within your organization today. We encourage you to trial this today!\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">If you have ideas\u00a0<\/span><span data-contrast=\"auto\">about how we \u2013 or you might want to improve this app template<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">please let us know.\u00a0 Y<\/span><span data-contrast=\"auto\">ou can either\u00a0<\/span><span data-contrast=\"auto\">create feature requests in\u00a0<\/span><span data-contrast=\"auto\">our<\/span><span data-contrast=\"auto\">\u00a0<\/span><a href=\"https:\/\/github.com\/microsoftgraph\/meetings-capture-sample\/issues\"><span data-contrast=\"none\">issues list<\/span><\/a><span data-contrast=\"auto\">\u2026or you can submit pull requests with the code already complete<\/span><span data-contrast=\"auto\">\u00a0ready for review by our team!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<div>Here&#8217;s a demo of the solution taken from the Microsoft Graph January community call. You can check out the entire call <a title=\"https:\/\/developer.microsoft.com\/en-us\/graph\/blogs\/microsoft-graph-community-call-january-7-2020\/\" href=\"https:\/\/developer.microsoft.com\/en-us\/graph\/blogs\/microsoft-graph-community-call-january-7-2020\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The Meetings Capture app showcases how you can accelerate the development of a\u00a0canonical\u00a0business app using the Microsoft 365 platform.\u00a0<\/p>\n","protected":false},"author":69113,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3,128],"tags":[],"class_list":["post-3964","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","category-microsoft-teams"],"acf":[],"blog_post_summary":"<p>The Meetings Capture app showcases how you can accelerate the development of a\u00a0canonical\u00a0business app using the Microsoft 365 platform.\u00a0<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/3964","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\/69113"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=3964"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/3964\/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=3964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=3964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=3964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}